我正在尝试将名称字段与电子邮件字段组合在一起,以便将电子邮件发送到:
发件人:填写表格的姓名(email_address.com)
目标:( 电子邮件来自)将包含此人的姓名和电子邮件。
我正在使用1and1的mail.php函数,但没有关于如何执行此操作的说明。
这甚至可能吗?
这是我的代码:
<?php
echo '<link href="new/css/style.css" rel="stylesheet">';
// THE BELOW LINE STATES THAT IF THE SUBMIT BUTTON
// WAS PUSHED, EXECUTE THE PHP CODE BELOW TO SEND THE
// MAIL. IF THE BUTTON WAS NOT PRESSED, SKIP TO THE CODE
// BELOW THE "else" STATEMENT (WHICH SHOWS THE FORM INSTEAD).
if ( isset ( $_POST [ 'buttonPressed' ] )){
// REPLACE THE LINE BELOW WITH YOUR E-MAIL ADDRESS.
$to = 'myemail.com' ;
$subject = 'From PHP contact page' ;
// NOT SUGGESTED TO CHANGE THESE VALUES
$message = $_POST [ "message" ] ;
$headers = 'From: ' . $_POST[ "from" ] . PHP_EOL ;
$name = $_POST['name'];
mail ( $to, $subject, $message, $headers ) ;
// THE TEXT IN QUOTES BELOW IS WHAT WILL BE
// DISPLAYED TO USERS AFTER SUBMITTING THE FORM.
echo '<div id="msg_sent"> Your e-mail has been sent. You should receive a reply within a week. </div>';}
?>
谢谢你,如果你知道的话!
答案 0 :(得分:1)
&#34;我正在使用1and1的mail.php功能,但没有关于如何执行此操作的说明。
这甚至可能吗?&#34;
是的,这是可能的。
添加电子邮件表单元素<input type="text" name="email">
如果您还没有,请执行以下操作:
$email = $_POST['email'];
$name = $_POST['name'];
$headers = "From: ". $name . " <" . $email . ">\r\n";
如果From
只是一个名字,而不是包含电子邮件地址,邮件就会转到垃圾邮件。
您还应该使用FILTER_VALIDATE_EMAIL
作为电子邮件变量,以便对其进行验证。
即:
if(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
echo "E-mail is not valid.";
}
<强> 旁注: 强>
Rocket的评论对PHP_EOL
有意义,这就是为什么我的例子包含\r\n
。