【问题标题】:problem sending emails from a PHP app / linux server从 PHP 应用程序/Linux 服务器发送电子邮件的问题
【发布时间】:2011-09-17 08:40:03
【问题描述】:

我在从 linux 机器发送电子邮件时遇到问题。该应用程序发送几封不同的电子邮件,它使用 PHP(mail() 函数)/qmail (SMTP) 来发送电子邮件。一些电子邮件被正确发送到他们的目的地,但一些客户在他们应该收到的时候接到了一些没有收到的人的电话。 这是证明电子邮件已发送的日志。但它没有发送?还是?

Jun  8 11:46:34 ds1111 sendmail[19207]: p58AkYSx019207: from=apache, size=2053, class=0, nrcpts=1, msgid=<201106081046.p58AkYSx019207@XXX.dedicated.XXX.co.uk>, relay=apache@localhost
Jun  8 11:46:34 ds1111 /var/qmail/bin/relaylock[19208]: /var/qmail/bin/relaylock: mail from 127.0.0.1:40345 (localhost)
Jun  8 11:46:34 ds1111 sendmail[19207]: STARTTLS=client, relay=[127.0.0.1], version=TLSv1/SSLv3, verify=FAIL, cipher=DHE-RSA-AES256-SHA, bits=256/256
Jun  8 11:46:34 ds1111 qmail-queue-handlers[19210]: Handlers Filter before-queue for qmail started ...
Jun  8 11:46:34 ds1111 qmail-queue-handlers[19210]: from=apache@XXX.dedicated.XXX.co.uk
Jun  8 11:46:34 ds1111 qmail-queue-handlers[19210]: to=recipient_email_address@googlemail.com

Jun  8 11:46:34 ds1111 qmail-queue-handlers[19210]: hook_dir = '/usr/local/psa/handlers/before-queue'
Jun  8 11:46:34 ds1111 qmail-queue-handlers[19210]: recipient[3] = 'recipient_email_address@googlemail.com'


Jun  8 11:46:34 ds1111 qmail-queue-handlers[19210]: handlers dir = '/usr/local/psa/handlers/before-queue/recipient/recipient_email_address@googlemail.com'
Jun  8 11:46:34 ds1111 qmail-queue-handlers[19210]: starter: submitter[19211] exited normally
Jun  8 11:46:34 ds1111 qmail: 1307529994.690886 new msg 49580354
Jun  8 11:46:34 ds1111 qmail: 1307529994.691052 info msg 49580354: bytes 2539 from <apache@XXX.dedicated.XXX.co.uk> qp 19211 uid 2020
Jun  8 11:46:34 ds1111 sendmail[19207]: p58AkYSx019207: to=recipient_email_address@googlemail.com, ctladdr=apache (48/48), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=32053, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (ok 1307529994 qp 19210)
Jun  8 11:46:34 ds1111 qmail: 1307529994.695376 starting delivery 100548: msg 49580354 to remote recipient_email_address@googlemail.com


Jun  8 11:46:34 ds1111 qmail: 1307529994.695467 status: local 0/10 remote 1/20
Jun  8 11:46:34 ds1111 qmail-remote-handlers[19212]: Handlers Filter before-remote for qmail started ...

Jun  8 11:46:34 ds1111 qmail-remote-handlers[19212]: from=apache@XXX.dedicated.XXX.co.uk
Jun  8 11:46:34 ds1111 qmail-remote-handlers[19212]: to=recipient_email_address@googlemail.com





Jun  8 11:46:34 ds1111 qmail-remote-handlers[19212]: hook_dir = '/usr/local/psa/handlers/before-remote'
Jun  8 11:46:34 ds1111 qmail-remote-handlers[19212]: recipient[3] = 'recipient_email_address@googlemail.com'
Jun  8 11:46:34 ds1111 qmail-remote-handlers[19212]: handlers dir = '/usr/local/psa/handlers/before-remote/recipient/recipient_email_address@googlemail.com'





Jun  8 11:46:34 ds1111 sendmail[19213]: p58AkYYN019213: from=apache, size=2053, class=0, nrcpts=1, msgid=<201106081046.p58AkYYN019213@XXX.dedicated.XXX.co.uk>, relay=apache@localhost
Jun  8 11:46:34 ds1111 /var/qmail/bin/relaylock[19214]: /var/qmail/bin/relaylock: mail from 127.0.0.1:40347 (localhost)
Jun  8 11:46:34 ds1111 sendmail[19213]: STARTTLS=client, relay=[127.0.0.1], version=TLSv1/SSLv3, verify=FAIL, cipher=DHE-RSA-AES256-SHA, bits=256/256
Jun  8 11:46:34 ds1111 qmail-queue-handlers[19216]: Handlers Filter before-queue for qmail started ...
Jun  8 11:46:34 ds1111 qmail-queue-handlers[19216]: from=apache@XXX.dedicated.XXX.co.uk
Jun  8 11:46:34 ds1111 qmail-queue-handlers[19216]: to=working_recipient_email_address@googlemail.com

Jun  8 11:46:34 ds1111 qmail-queue-handlers[19216]: hook_dir = '/usr/local/psa/handlers/before-queue'
Jun  8 11:46:34 ds1111 qmail-queue-handlers[19216]: recipient[3] = 'working_recipient_email_address@googlemail.com'
Jun  8 11:46:34 ds1111 qmail-queue-handlers[19216]: handlers dir = '/usr/local/psa/handlers/before-queue/recipient/working_recipient_email_address@googlemail.com'
Jun  8 11:46:34 ds1111 qmail-queue-handlers[19216]: starter: submitter[19217] exited normally


Jun  8 11:46:34 ds1111 qmail: 1307529994.782765 new msg 49580355
Jun  8 11:46:34 ds1111 qmail: 1307529994.782801 info msg 49580355: bytes 2539 from <apache@XXX.dedicated.XXX.co.uk> qp 19217 uid 2020
Jun  8 11:46:34 ds1111 sendmail[19213]: p58AkYYN019213: to=working_recipient_email_address@googlemail.com, ctladdr=apache (48/48), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=32053, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (ok 1307529994 qp 19216)
Jun  8 11:46:34 ds1111 qmail: 1307529994.787382 starting delivery 100549: msg 49580355 to remote working_recipient_email_address@googlemail.com
Jun  8 11:46:34 ds1111 qmail: 1307529994.787469 status: local 0/10 remote 2/20



Jun  8 11:46:34 ds1111 qmail-remote-handlers[19218]: Handlers Filter before-remote for qmail started ...

Jun  8 11:46:34 ds1111 qmail-remote-handlers[19218]: from=apache@XXX.dedicated.XXX.co.uk
Jun  8 11:46:34 ds1111 qmail-remote-handlers[19218]: to=working_recipient_email_address@googlemail.com
Jun  8 11:46:34 ds1111 qmail-remote-handlers[19218]: hook_dir = '/usr/local/psa/handlers/before-remote'
Jun  8 11:46:34 ds1111 qmail-remote-handlers[19218]: recipient[3] = 'working_recipient_email_address@googlemail.com'
Jun  8 11:46:34 ds1111 qmail-remote-handlers[19218]: handlers dir = '/usr/local/psa/handlers/before-remote/recipient/working_recipient_email_address@googlemail.com'
Jun  8 11:46:35 ds1111 qmail: 1307529995.139502 delivery 100549: success: 194.154.172.203_accepted_message./Remote_host_said:_250_ok:__Message_20026590_accepted/
Jun  8 11:46:35 ds1111 qmail: 1307529995.139597 status: local 0/10 remote 1/20
Jun  8 11:46:35 ds1111 qmail: 1307529995.139626 end msg 49580355





Jun  8 11:46:35 ds1111 qmail: 1307529995.407398 delivery 100548: success: 209.85.143.27_accepted_message./Remote_host_said:_250_2.0.0_OK_1307529909_fy2si1026718wbb.104/
Jun  8 11:46:35 ds1111 qmail: 1307529995.407551 status: local 0/10 remote 0/20
Jun  8 11:46:35 ds1111 qmail: 1307529995.407617 end msg 49580354

【问题讨论】:

  • 感谢康明斯先生和先生(或小姐)bpeterson76,这是非常有帮助的答案!
  • 我们很乐意为您提供帮助。我希望你能够解决你的麻烦。

标签: php linux smtp logging qmail


【解决方案1】:

已发送!=已收到。有几件事可能会导致此问题:

  1. 收件人的邮件服务器接收邮件失败。
  2. 收件人的邮件服务器将邮件标记为垃圾邮件。
  3. 收件人的邮件客户端将邮件标记为垃圾邮件。
  4. 收件人删除了邮件,忘了告诉你。

还有更多。您的日志没有显示错误,因此您可能需要检查接收端的问题。您可以更改邮件的内容以避免垃圾邮件过滤器(如果这被证明是问题),并确保您的主机未被任何垃圾邮件黑名单组织列入黑名单。

【讨论】:

    【解决方案2】:

    根据电子邮件的性质,一旦它离开您的系统,就无法控制。当它离开您的系统时,它会通过多个跃点到达接收者的主机,然后将其传递给客户端进行读取。在这段时间内,您的邮件必须避免超时、网络问题以及至少两个垃圾邮件检查器。

    您可以通过检查spam ratings 来确保更好的送达率,消除“触发”词,例如伟哥或脏话,确保您只向选择加入的人发送邮件,并经常检查以确保您的服务器不是在任何blacklists 上。我的公司(代表我们的客户每月发送数百万封电子邮件)也限制每个主机的邮件速率,因为如果您在特定时期内发送太多时间,许多主机将拒绝或严重减慢邮件发送速度。这些规则是什么,没有人真正知道,所以你必须调整你的邮件系统的性能。

    通过SocketLabs 等“受信任的”主机发送也将大大提高您的送达率。

    话虽如此,如果有人告诉你他们可以 100% 保证每封电子邮件的送达,我有一个桥梁可以卖给你.....

    【讨论】:

      猜你喜欢
      • 2015-02-25
      • 2013-10-24
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 2021-10-01
      相关资源
      最近更新 更多