【问题标题】:email not delivered yahoo address from cakephp电子邮件未从 cakephp 发送 yahoo 地址
【发布时间】:2017-04-21 07:43:12
【问题描述】:

在向用户发送电子邮件后,我正在处理 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');

【问题讨论】:

    标签: php email cakephp yahoo


    【解决方案1】:

    如果您的电子邮件即将发送出去——我们知道,因为它到达了 Gmail 帐户——并且没有被 Yahoo 地址接收,这很可能意味着,Yahoo 认为发件人不可信。请检查垃圾邮件文件夹。这不是 CakePHP 的问题。

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        尤其是对于雅虎(以及任何电子邮件发送的良好做法),您将需要适当的服务器和标识设置,以便邮件到达用户的收件箱。
        您使用的是本地 SMTP 服务器吗?如果是这样,则需要在您发送的域的 SPF 记录中正确设置(外部)IP 地址。

        您可以注册 Yahoo 反馈循环并在此处查找您的电子邮件的去向 - https://help.yahoo.com/kb/SLN3438.html

        【讨论】:

          猜你喜欢
          • 2014-06-15
          • 2014-11-30
          • 1970-01-01
          • 2014-04-28
          • 2014-07-20
          • 2018-07-02
          • 2015-06-27
          • 2016-11-04
          • 1970-01-01
          相关资源
          最近更新 更多