【问题标题】:PHP 5 mail - no error when sending mailPHP 5 邮件 - 发送邮件时没有错误
【发布时间】:2012-05-18 21:38:23
【问题描述】:

我(也许)在使用丹麦电子邮件域时有过奇怪的经历。 这一切都始于我想测试我的代码以便它可以处理错误。

我有一个带有表单的主页,我的客户可以在其中提交他们的电子邮件。 有时我的客户给我发邮件,邮件地址是 my.customer@gmail.dk SIGH

在 PHP mail() 中,我使用附加参数“-fbounce@my.domain.dk”,这样如果邮件无法投递,我应该会收到错误消息。

当我向域 my.customer@gmai.com 或 my.customer@gmailzzz.com 发送电子邮件时,我会收到 SMTP 550 错误。 但是当我向 my.customer@gmail.dk 发送电子邮件时,我根本不会收到回复。

我试图查看域名 gmail.dk 是否在 www.dk-hostmaster.dk 上使用,但似乎不是。那么为什么我在向 gmail.dk 发送电子邮件时没有收到错误返回???

【问题讨论】:

    标签: php email smtp


    【解决方案1】:

    您实际上是从哪里获得这些错误消息的?传递给 mail() 的附加参数只会传递给您正在使用的邮件服务器,因此结果将取决于您用于发送电子邮件的服务器。你在用 sendmail 吗?

    SMTP 是一种协议,它固有地预计交付可能需要一段时间。一些邮件服务器甚至会任意拒绝第一次发送邮件的尝试,迫使发件人稍后再试一次,以阻止懒惰的垃圾邮件发送者。

    当您的邮件服务器无法连接到“gmail.dk”时,可能会出现这种情况,它假定只是暂时的连接问题,并打算在几个小时(甚至几天)后重试.可能是您尝试发送的其他一些地址回复了更具体的错误(例如,“该用户在我们的系统中不存在”),让您的服务器知道交付失败是永久性的。

    【讨论】:

    • 感谢您的回复。这对我帮助很大。我发现我的系统管理员已将前端服务器配置为将所有内容“盲目”转发到 SMTP 服务器。所以我不会在代码中得到错误。相反,如果服务器无法传递消息,我会收到一封电子邮件(发送到我的退回电子邮件)。我的管理员说,并不是所有的 DNS 主机都能同样好地保持其机器运行并能够正确响应。我想这就是为什么我有时不会从我的 SMTP 服务器收到电子邮件的原因。
    【解决方案2】:

    https://www.dk-hostmaster.dk/index.php?id=42&query=gmail.dk&submit=S%F8g

    它已归 Google Inc. 所有。他们可能有一个包罗万象的设置,或者更有可能根本没有反弹?

    【讨论】:

      猜你喜欢
      • 2010-10-18
      • 2015-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-14
      相关资源
      最近更新 更多