$to = "me@mydomain.com";
$subject = "Auction Registration Confirmation";
$from = "From: donot-reply@mydomain.com";
$body = "Test Message";
if (mail($to, $subject, $body, $from)) {
echo("<b>Message sent</b>");
header( "Location: http://www.mydomain.com/thankyou.html" );
} else {
echo("<b>Message failed</b>");
}
现在的问题是,当发送电子邮件时,起始地址不是我要求的,而是服务器登录名。
有关使用来自电子邮件ID替换服务器登录名的任何想法。
答案 0 :(得分:0)
您的PHP代码看起来没有任何问题 - 我有相同的代码执行相同的工作,它工作正常。
可能是您的电子邮件设置错误配置了什么?
答案 1 :(得分:0)
PHP邮件功能依赖于服务器上运行的MTA。我敢打赌,你的MTA设置为强制$ from变量到你的登录名。
答案 2 :(得分:0)
<?php
$to = "email@to.com";
$subject = "subject";
$message = "message";
$from = "email@from.com";
$headers = "From: $from";
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>
答案 3 :(得分:0)
你可以尝试
mail($to, $subject, $body, $from, "-f $from");
这适用于某些配置,实际上取决于服务器设置。 否则,按照上面的建议编辑MTA设置,或者完全跳过mail()并使用类似PHPmailer的类直接连接到SMTP服务器。