我正在MAMP PRO本地服务器上工作。我非常确定几个月前使用php的mail()函数从本地应用程序在本地主机上发送了电子邮件。突然我无法收到要发送的电子邮件。我什至将一个本地网站移到GoDaddy上的实时服务器上,但仍未发送电子邮件。
GoDaddy成员发誓,他们的设置没有任何问题,并且问题必须出在我的代码中。回到我的本地主机MAMP PRO服务器,我尝试了所有可能的调试,包括弄乱php.ini设置无济于事。我最终很不情愿地决定尝试一个电子邮件库,因此我选择了Swift Mailer。我安装了它,编写了脚本,现在从本地主机发送电子邮件。我认为,如果我将代码放在实时服务器(在GoDaddy上)中,它也将起作用。
Here is my mail() code:
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=utf-8" . "\r\n";
$headers .= "From: ". "$this->_headerFrom". "\r\n";
$headers .= "Reply-To: "."$email". "\r\n";
$headers .= "Return-Path: "."$email". "\r\n";
$headers .= "X-Mailer: PHP/".phpversion();
$to = "$this->_applicationEmail";
$send = mail($to, $subject, $msg, $headers);
$subject and $msg are all set earlier in the script and they are strings
$send returns true, but no email is sent. I have followed all sorts of
examples here on SO to no avail. It's simple, but mind-boggling all the
same.
我真的需要理解为什么。 Swift Mailer在做什么,而mail()不是?如果只有我可以让他们工作,我宁愿保留我的mail()脚本。事实是,我花了很多时间用几个电子邮件模板编写自定义电子邮件脚本。重写所有这些邮件脚本以使用Swift Mailer将会是一件艰巨的任务。是什么使mail()停止工作?
答案 0 :(得分:0)
需要正确设置MAMP / WAMP以发送邮件。
请参见http://blog.techwheels.net/send-email-from-localhost-wamp-server-using-sendmail/。
对于GoDaddy服务器,您可能还需要对SMTP进行某些操作以确保正确设置。
您可能需要进行一些测试,以查看邮件实际上是被发送还是只是被服务器接收,因为它没有SPF等被拒绝为垃圾邮件。