繁体   English   中英

为什么我可以使用Swift Mailer从本地主机发送电子邮件,而不能使用PHP的mail()函数发送电子邮件?

[英]Why am i able to send email from localhost using Swift Mailer but not with PHP's mail() function?

我正在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()停止工作?

需要正确设置MAMP / WAMP以发送邮件。

请参阅http://blog.techwheels.net/send-email-from-localhost-wamp-server-using-sendmail/

对于您的GoDaddy服务器,您可能还需要对SMTP进行某些操作以确保正确设置。

您可能需要进行一些测试,以查看邮件实际上是在发送还是只是被服务器接收,因为它没有SPF等被拒绝为垃圾邮件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM