联系表格工作正常,但我无法弄清楚如何设置“回复邮件”。 PHP代码如下:
<?php
// Get Data
$name = strip_tags($_POST['name']);
$email = strip_tags($_POST['email']);
$message = strip_tags($_POST['message']);
// Send Message
mail( "Message from $name",
"Name: $name\nEmail: $email\nMessage: $message\n",
"From: $name <forms@example.net>" );
?>
我尝试做的是将“forms@example.com”替换为$ email,但由于某种原因,它会崩溃并且永远不会发送任何内容。
答案 0 :(得分:4)
是否只是邮件标题栏中缺少的Reply-to: reply@example.com
标题?此外,您似乎错过了mail()
函数的第一个参数,该参数应该是它发送到的地址。
将Reply-to
标头添加到mail()
的第三个参数中。
// Send Message
mail($to_address, "Message from $name",
// Message
"Name: $name\nEmail: $email\nMessage: $message\n",
// Additional headers
"From: $name <forms@example.net>\r\nReply-to: reply@example.com"
);
编辑我在问题中错过了一个逗号,并认为整个广告块都是消息,包括姓名&amp;从。编辑如上。我看到你已经有了一个标题块。
答案 1 :(得分:0)
您没有使用正确的邮件功能参数。看看documentation
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
在你的情况下,它将是:
mail( $to,
$subject,
$message,
"From: $name <forms@example.net>" );
假设您给了$ to(表示发送电子邮件的人)和$ subject(电子邮件的主题)。
答案 2 :(得分:0)
拿这个片段:
<?php
//define the receiver of the email
$to = 'youraddress@example.com';
//define the subject of the email
$subject = 'Test email';
//define the message to be sent. Each line should be separated with \n
$message = "Hello World!\n\nThis is my first mail.";
//define the headers we want passed. Note that they are separated with \r\n
$headers = "From: webmaster@example.com\r\nReply-To: webmaster@example.com";
//send the email
$mail_sent = @mail( $to, $subject, $message, $headers );
//if the message is sent successfully print "Mail sent". Otherwise print "Mail failed"
echo $mail_sent ? "Mail sent" : "Mail failed";
?>
在你的代码中,你错过了第一个论点,女巫应该是谁。