【问题标题】:Sendmail delay 80 secs everytime--what's causing it?Sendmail 每次延迟 80 秒 - 是什么原因造成的?
【发布时间】:2011-08-05 14:00:15
【问题描述】:

我在一个 ubuntu 虚拟服务器上。 Sendmail 通过 php 的 mail() 函数工作,但每次需要 80 秒才能完成。

我检查了 mail.log,这些是条目:

8 月 5 日 14:52:36 ve sendmail[13818]: p75DpuVo013818: from=www-data, size=109, class=0, nrcpts=1, msgid=, relay= www-data@localhost

8 月 5 日 14:53:16 ve sm-mta[13826]: p75DqarZ013826: from=, size=345, class=0, nrcpts=1, msgid=, proto=ESMTP , daemon=MTA-v4, relay=localhost.localdomain [127.0.0.1]

8 月 5 日 14:53:16 发送邮件 [13818]:p75DpuVo013818:to=email-address,ctladdr=www-data (33/33),delay=00:01:20,xdelay=00: 00:40, mailer=relay, pri=30109, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p75DqarZ013826 消息接受传递)

8 月 5 日 14:53:17 ve sm-mta[13837]:STARTTLS=client,relay=address.,version=TLSv1/SSLv3,verify=FAIL,cipher=AES128-SHA,bits=128/128

8 月 5 日 14:53:17 ve sm-mta[13837]: p75DqarZ013826: to=, ctladdr= (33/33), delay=00:00:01, xdelay=00:00:01, mailer=esmtp , pri=120345, 中继=server.com。 [65.55.88.22], dsn=2.0.0, stat=Sent ( [InternalId=17901549] 排队等待投递的邮件)

延迟是 00:01:20..谁能帮我理解为什么?

【问题讨论】:

    标签: php ubuntu sendmail


    【解决方案1】:

    您的服务器是否有完全限定的域名?显然是Sendmail injects a delay when the sending host doesn't have a FQDN

    • 首先,在 /etc/hostname 中,将您的主机名从 whatever 更改为 FQDN,例如 whatever.one-of-your-hosted-domain-names.com

    • 然后,在 /etc/hosts 中添加一个主机条目,例如:

      99.123.45.67what.mysite.com

    重新启动并尝试再次向自己发送邮件。 Sendmail 完全不会延迟。

    【讨论】:

      【解决方案2】:

      似乎目标服务器可能有一些垃圾邮件保护。

      它限制您发送邮件,例如 40 秒,并在第二次尝试时接受您的电子邮件。

      这可能是你的“问题”

      【讨论】:

      • 是的,你的权利!立即为 gmail/hotmail 工作。但是,如果用户的设置类似于我正在测试的设置,我该如何阻止我的脚本挂起 80 秒?
      • 如果你通过 PHP 发送它,你可以尝试通过不等待服务器响应的 ajax 请求/打开套接字发送它
      • 加入灰名单的目的正是为了防止僵尸和无知的脚本编写者。接受电子邮件服务器可能出现暂时性错误,并在重试之前等待一段合理的时间。
      猜你喜欢
      • 1970-01-01
      • 2015-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-04
      • 2017-05-31
      • 2021-04-06
      • 2011-12-31
      相关资源
      最近更新 更多