[英]PHP email submit form receiver not receiving the correct sendr email address
我试图找出与提交表单的PHP代码有关的问题,我正在为我的朋友做。 它正在通过发送电子邮件,但是问题是收件人收到的电子邮件地址很奇怪。 我正在附上图片以进行更仔细的查看。
我的PHP代码是:
<?php
$error = false;
$sent = false;
if(isset($_Post['name'])) {
if(empty($_Post['name']) || empty($_Post['email']) || empty($_Post['comments'])) {
$error = true;
} else {
$to = "linardsberzins@gmail.com";
$name = trim($_Post['name']);
$email = trim($_Post['email']);
$comments = trim($_Post['comments']);
$subject = "Contact Form";
$messages = "Name: $name \r\n Email: $email \r\n Comments: $comments";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "From:" . $name . "\r\n";
$mailsent = mail($to, $subject, $messages, $headers);
if($mailsent) {
$sent = true;
}
}
}
?>
非常感谢
Sender <HIS@EXAMPLE.COM>
应该像这样:
$headers .= 'From: '.$name.' <'.$email.'>' . "\r\n";
尝试将标题添加到电子邮件中,例如PHP邮件手册示例2中的标题
<?php
$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
如果您希望它来自带有名称的电子邮件,则可以使用
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
将此添加到标题
$headers .= "Reply-To: $replyEmail\r\n";
发件人:标头应包括电子邮件地址和名称,例如
"From:My Display Name<mydisplayname@gmail.com>\r\n"
<?php
$error = false;
$sent = false;
if(isset($_Post['name'])) {
if(empty($_Post['name']) || empty($_Post['email']) || empty($_Post['comments'])) {
$error = true;
} else {
$to = "linardsberzins@gmail.com";
$name = trim($_Post['name']);
$email = trim($_Post['email']);
$comments = trim($_Post['comments']);
$subject = "Contact Form";
$messages = "Name: $name \r\n Email: $email \r\n Comments: $comments";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: '.$name.' <sender@example.com>' . "\r\n";
$mailsent = mail($to, $subject, $messages, $headers);
if($mailsent) {
$sent = true;
}
}
}
?>
尝试这个。 只需更改标题即可。
$headers .= 'From: '.$name.' <sender@example.com>' . "\r\n";
您好,这不是错误。.如果您提供SENDER EMAIL
那么它将显示发件人的电子邮件地址,而不是此地址。.否则,它将使用我们的托管地址。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.