【问题标题】:Swiftmailer Error: Recipient RejectedSwiftmailer 错误:收件人被拒绝
【发布时间】:2014-02-18 22:09:05
【问题描述】:

我正在尝试让 Swiftmailer 工作,但不断收到“收件人被拒绝”的消息。

是什么导致了“收件人被拒绝”的响应?这是来自 gmail 服务器的响应(gmail 感知这是垃圾邮件)吗?有没有办法克服这个问题?否则,我将放弃 Swiftmailer 并尝试PHPMailer。过去我在 PEAR 包上取得了成功,但厌倦了配置,并打算先尝试 Swiftmailer ......这应该不难吧?

我的配置:
- PHP 5.5.6
- Swiftmailer 5.0.3(带有 Logger 插件)
- 由 GoDaddy 托管(是的......我知道)

目标:使用 Swiftmailer 将 SMTP 邮件从 admin@mydomain.org 发送到 legit@gmail.com
(显然,电子邮件地址是实际地址的占位符)


这是 PHP 代码:(与 Swiftmailer documentation 中的示例相同)

<?php 
    require_once 'lib/swift_required.php';

    $transport = Swift_SmtpTransport::newInstance('smtp.mydomain.org', 25)
      ->setUsername('admin@mydomain.org')
      ->setPassword('mypassword')
      ;

    $mailer = Swift_Mailer::newInstance($transport);


    $logger = new Swift_Plugins_Loggers_EchoLogger();
    $mailer->registerPlugin(new Swift_Plugins_LoggerPlugin($logger));

    $message = Swift_Message::newInstance('Wonderful Subject')
      ->setFrom(array('admin@mydomain.org' => 'admin'))
      ->setTo(array('legit@gmail.com' => 'recipient'))
      ->setBody('Here is the message itself')
      ;

    $result = $mailer->send($message);
    echo $logger->dump();
?>

这里是相关的记录器信息:

    ...
    ++ Swift_SmtpTransport started
    ...
    >> RCPT TO: <legit@gmail.com>
    << 550 5.1.1 <legit@gmail.com> recipient rejected
    !! Expected response code 250/251/252 but got code "550", with message "550 5.1.1 <legit@gmail.com> recipient rejected "
    >> RSET
    << 250 2.0.0 OK
    ++ Stopping Swift_SmtpTransport
    >> QUIT

【问题讨论】:

    标签: php swiftmailer


    【解决方案1】:

    不是一个“真实”的答案,但对于评论框来说太长了:

    这是来自 gmail 服务器的响应吗

    是的。

    recipient rejected 意味着,不知何故,收件人(即您要发送邮件的地址,legit@gmail.com`)被“拒绝”。

    这可能有多种原因

    • 电子邮件地址不存在(不再存在)(很可能)
    • 用户邮箱已满(很有可能)
    • 该帐户被 gmail 阻止(很可能)
    • 用户设置了一个过滤器来明确拒绝您的电子邮件(不确定这是否可以使用 gmail 完成,但在技术上是可行的)。
    • 您的邮件被视为垃圾邮件(不太可能,您可能会收到不同的邮件)
    • ...许多其他...

    很遗憾,gmail 没有提供有关原因的更多信息。我找不到任何关于 gmail 错误代码的文档(550 是通用的“失败” 代码),而且通常这类消息更冗长...

    你可以尝试什么:

    • 非常确保电子邮件存在且有效。请务必使用不同的 gmail 地址(即您可以访问的地址)。
    • 检查您是否被列入黑名单,例如使用:http://mxtoolbox.com/blacklists.aspx
    • 尝试从smtp.mydomain.org 发送邮件,例如使用命令行mail 实用程序(如果它是UNIX 机器),如果这不起作用,您知道问题出在邮件服务器上,如果它起作用,你知道问题出在 Swift mailer 上。

    【讨论】:

    • 只是为了增加黑名单的可能性:gmail 只使用 spamhaus 黑名单,除非最近发生了变化。任何其他列表不应影响您的交付能力。但是,是的,从第一手来看,这不是黑名单问题 - 他们发布了特定于该事件的代码(5.7.1)。我赞成你的回答,这里所说的一切都是正确的。
    • 我发送到的 gmail 帐户是我自己的 gmail 帐户,所以我知道它存在、未满、未被阻止且没有过滤器。这让我认为 gmail 认为是垃圾邮件。这似乎很奇怪,因为我使用了最基本的 Swiftmailer 示例,但它被最流行的电子邮件服务之一阻止了?如果是这种情况,这对 Swiftmailer 来说不是一个好兆头。
    • 跟进:我可以使用邮件实用程序发送邮件。我怀疑问题出在 Swiftmailer 上。这似乎很容易让其他人使用他们自己的 gmail 地址进行复制/验证。如果 gmail 被阻止,这应该是更常见的报告问题。我怀疑这与我的 Swiftmailer 设置有关?
    • 根据@Carpetsmoker 指出的黑名单网站检查域:列出 0 次
    • @Sparebrain 我不太确定这是 Swift 邮件程序的错,但尝试 PHPMailer 不会造成伤害,也不应该花费太多精力……看来您还从日志中剪掉了一些输出?如果您可以发布完整的日志,这可能会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2016-08-10
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    相关资源
    最近更新 更多