【发布时间】:2014-05-23 16:44:29
【问题描述】:
我正在尝试使用下面给出的简单 PHP 脚本从我的网站上的表单中获取输入:
<?php
$toemail = 'xyz@anyemail.com';
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
if(mail($toemail, 'Subject', $message, 'From: ' . $email)) {
echo 'Your email was sent successfully.';
} else {
echo 'There was a problem sending your email.';
}
?>
这非常有效。嗯,差不多。我收到的电子邮件不包含发件人的姓名。我希望看到正常的电子邮件回复(发件人姓名在收件箱的名称栏中,打开邮件时应该能够看到发件人的电子邮件地址。)
所以我在查找了一些这样的线程后做了一些更改:
<?php
$toemail = 'xyz@anyemail.com';
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$email_from = $name.'<'.$email.'>';
$header = 'From: '.$email_from;
if(mail($toemail, 'Subject', $message, $header)) {
echo 'Your email was sent successfully.';
} else {
echo 'There was a problem sending your email.';
}
?>
电子邮件回复仍然相同。我需要改变什么?
【问题讨论】:
-
在 ';
-
$headers = '来自:webmaster@example.com' 。 "\r\n" 。 “回复:webmaster@example.com”。 "\r\n" 。 'X-Mailer: PHP/' 。 php版本();见php.net/manual/en/function.mail.php
-
您的第二段代码没有问题。确保您上传了正确的文件,并对表单的操作进行了适当的更改。
-
@SyntaxLAMP 没用。
-
我也关注了这个:Link 它仍然没有返回我想要的发件人姓名。