电子邮件未从cakephp发送雅虎地址

时间:2017-04-21 07:43:12

标签: php email cakephp yahoo

我在向用户发送电子邮件后正在处理CakePHP3保存表单。

Gmail帐户接收电子邮件时没有任何障碍但是在向Yahoo地址发送电子邮件时。电子邮件未在雅虎帐户用户处收到。

我使用默认的Cake Email类来发送CakePHP 3提供的电子邮件。我没有做任何其他配置来发送电子邮件只是使用下面的代码。

任何帮助都将被挪用。 提前谢谢。

$email = new Email();
$email->setFrom(['me@example.com' => 'abc'])
    ->setTo('abc@yahoo.com')
    ->emailFormat('html')
    ->setSubject('Subject')
    ->send('Subject');

3 个答案:

答案 0 :(得分:1)

如果您的电子邮件已经发送 - 我们知道,因为它已经到达Gmail帐户 - 并且雅虎地址没有收到,这很可能意味着,雅虎认为发件人不值得信任。请检查SPAM文件夹。这不是CakePHP问题。

CakePHP默认使用PHP mail函数。您还可以使用受信任的SMTP服务器来发送邮件,这将增加成功投放的机会。

答案 1 :(得分:0)

如果Gmail正在接收该电子邮件,但雅虎不是,那么它暗示您的电子邮件被雅虎视为垃圾邮件。雅虎这样做可能有很多原因(这里有太多原因),但请确保使用受信任的SMTP服务器来发送电子邮件而不是依赖您的服务器(默认情况下,CakePHP将使用mail(),这不是'太棒了)。发送文本和HTML格式的电子邮件而不仅仅是后者,这也是一个好主意;这在CakePHP中是非常可行的。

您可能会发现Sendgrid的这篇文章很有用:10 Tips to Keep Email Out of the Spam Folder

答案 2 :(得分:0)

特别是对于雅虎(以及任何电子邮件发送的良好做法),您需要正确的服务器和身份识别设置才能使邮件进入用户的收件箱。
您使用的是本地SMTP服务器吗?如果是这样,则需要在您发送的域的SPF记录中正确设置(外部)IP地址。

您可以注册雅虎反馈循环,找出您的电子邮件的位置 - https://help.yahoo.com/kb/SLN3438.html