我们最近升级了网络服务器,我们遇到的第一个问题是发送到同一域时出现问题,因为该网站托管在与公司交换服务器不同的服务器上。无论如何,我修复了这是一些简单的配置更改并禁用域的邮件服务。
无论如何,这不起作用,但是当我在网站上测试一些 PHP 邮件表单时,我没有注意到它们都是作为我的电子邮件地址发送给客户的。
这是 PHP(我认为这不是问题)
<?php
ini_set("sendmail_from", "noreply@******.com");
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$comments = $_POST['comments'];
$ip=$_SERVER['REMOTE_ADDR'];
$recipient = '*****@******.com';
$subject = "Comments submitted from the Contact Us form on www.wavesfm.com from $name" ;
$message = "This is an email submitted from the Contact Us form on the website www.*****.com containing details from $name \n";
$message .= " \n";
$message .= "Name: $name \n";
$message .= "Email: $email \n";
$message .= "Phone Number: $phone \n";
$message .= "Comments: $comments \n\n\n";
$message .= "IP Address: $ip ";
$headers = "From: noreply@********.com \n";
$headers .= "Reply-To: $email";
mail($recipient,$subject,$message,$headers);
header( 'Location: http://www.*****.com/thanks.php' ) ;
?>
任何人都可以看到该代码有任何问题吗?我尝试添加 -fnoreply@**.com 作为发送参数,但它不会更改我自己的电子邮件地址,使其不再显示为发件人。
我不认为这是一个 PHP 问题,它看起来更像是一个 Postfix 问题,但真正困扰我的是我的电子邮件地址(未在任何地方使用)如何显示为发件人。
以前有人有过这方面的经验吗?和两周前一样,我根本没有使用过 Postfix,所以它对我来说相当陌生。
Web 服务器:Cent 操作系统、Plesk 11.0.9
邮件服务器:MS Exchange 邮件服务器/使用 ORF
其中一封电子邮件的 Postfix 日志
3 月 27 日 13:48:41 专用后缀/拾取[12199]:652EFA106C5:uid=48 from= 3 月 27 日 13:48:41 专用后缀/清理[14376]:652EFA106C5:message-id=<[email protected]> 3 月 27 日 13:48:41 专用 postfix/qmgr[12198]:652EFA106C5:from=,size=726,nrcpt=1(队列事件) 3 月 27 日 13:48:41 专用 postfix/smtp[14378]:mail.mydomain.com[82.888.888.51]:25 的证书验证失败:不受信任的颁发者/CN=clientdomain-WAV01-CA 3月27日13:48:42专用postfix/smtp[14378]:652EFA106C5:to=,relay=mail.client_website.com[82.888.888.51]:25,delay=0.89,delays=0.04/0.01/0.36/0.48,dsn =2.6.0,状态=已发送(250 2.6.0 < [email protected] > [InternalId=11846] 排队等待传送的邮件) 3 月 27 日 13:48:42 专用 postfix/qmgr[12198]:652EFA106C5:已删除
最佳答案
以下代码可能存在一些字符串连接问题:
$headers = "From: noreply@********.com \n";
尝试
$headers = "From: noreply@********.com \r\n";
我推荐使用广泛使用的 phpmailer 类来发送电子邮件: https://github.com/Synchro/PHPMailer
关于php - Postfix/PHP Mail() 使用相同的电子邮件地址发送电子邮件,忽略 header $from,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15659111/