Amazon-Ec2

我發送的很多電子郵件都被退回

  • February 17, 2012

我正在執行 Ubuntu 10.04 LTS 伺服器和 Amazon EC2。剛剛啟動了社區,安裝了 apache2、php5、sendmail ……就是這樣。

沒有更改配置中的任何內容。昨晚我向大約 2000 名收件人發送了一份時事通訊。

mail.log 顯示消息被接受以進行傳遞,如下所示:

Jan 27 16:40:42 ip-10-48-213-66 sendmail[24725]: p0RGefNE024725: to=quatember@zoovienna.at, ctladdr=www-data (33/33), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=67364, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p0RGefKv024726 Message accepted for delivery)

但它似乎像這樣反彈:

Jan 27 16:40:42 ip-10-48-213-66 sm-mta[24728]: p0RGefKv024726: to=<quatember@zoovienna.at>, ctladdr=<www-data@ip-10-48-213-66.eu-west-1.compute.internal> (33/33), delay=00:00:01, xdelay=00:00:00, mailer=esmtp, pri=157483, relay=smtp.zoovienna.at. [83.64.127.201], dsn=4.0.0, stat=Deferred: 450 4.1.8 <www-data@ip-10-48-213-66.eu-west-1.compute.internal>: Sender address rejected: Domain not found

或這個

Jan 27 20:13:39 ip-10-48-213-66 sm-mta[10058]: p0RH5QCC032505: to=<inga.bertram@online.de>, ctladdr=<www-data@ip-10-48-213-66.eu-west-1.compute.internal> (33/33), delay=03:08:13, xdelay=00:00:01, mailer=esmtp, pri=1777483, relay=mx00.kundenserver.de. [212.227.15.150], dsn=4.0.0, stat=Deferred: 421 invalid sender domain 'ip-10-48-213-66.eu-west-1.compute.internal' (misconfigured dns?)

或這個

Jan 27 20:13:39 ip-10-48-213-66 sm-mta[10058]: p0RH2CUw031458: to=<urs.nueesch@bluewin.ch>, ctladdr=<www-data@ip-10-48-213-66.eu-west-1.compute.internal> (33/33), delay=03:11:27, xdelay=00:00:00, mailer=esmtp, pri=1777483, relay=mxzhb.bluewin.ch. [195.186.18.144], dsn=4.0.0, stat=Deferred: 451 MAIL FROM: <www-data@ip-10-48-213-66.eu-west-1.compute.internal> Unable to verify MX-Record for domain ip-10-48-213-66.eu-west-1.compute.internal

總是多次並且仍在執行……

我注意到那/etc/mail/trusted-users是空的。但隨著電子郵件似乎發出,應該沒問題。

/etc/mail/local-host-names好像

localhost
ip-10-48-213-66.eu-west-1.compute.internal

現在,如果我使用以下 php 命令發送郵件:

var_dump(mail('joehopf@gmail.com','subject!','body!','From: from@blah.com','-f from@flimmit.com'));

我收到以下郵件:

Delivered-To: joehopf@gmail.com
Received: by 10.42.219.8 with SMTP id hs8cs55591icb;
       Fri, 28 Jan 2011 03:28:51 -0800 (PST)
Received: by 10.213.35.209 with SMTP id q17mr4059475ebd.53.1296214129940;
       Fri, 28 Jan 2011 03:28:49 -0800 (PST)
Return-Path: <from@flimmit.com>
Received: from ip-10-48-213-66.eu-west-1.compute.internal (flimmit.com [79.125.4.119])
       by mx.google.com with ESMTPS id u13si41731903eeh.3.2011.01.28.03.28.20
       (version=TLSv1/SSLv3 cipher=RC4-MD5);
       Fri, 28 Jan 2011 03:28:49 -0800 (PST)
Received-SPF: pass (google.com: best guess record for domain of from@flimmit.com designates 79.125.4.119 as permitted sender) client-ip=79.125.4.119;
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of from@flimmit.com designates 79.125.4.119 as permitted sender) smtp.mail=from@flimmit.com
Received: from ip-10-48-213-66.eu-west-1.compute.internal (localhost [127.0.0.1])
   by ip-10-48-213-66.eu-west-1.compute.internal (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id p0SBRYQF000694
   for <joehopf@gmail.com>; Fri, 28 Jan 2011 11:27:34 GMT
Received: (from www-data@localhost)
   by ip-10-48-213-66.eu-west-1.compute.internal (8.14.3/8.14.3/Submit) id p0SBRYCv000693;
   Fri, 28 Jan 2011 11:27:34 GMT
Date: Fri, 28 Jan 2011 11:27:34 GMT
Message-Id: <201101281127.p0SBRYCv000693@ip-10-48-213-66.eu-west-1.compute.internal>
X-Authentication-Warning: ip-10-48-213-66.eu-west-1.compute.internal: www-data set sender to from@flimmit.com using -f
To: joehopf@gmail.com
Subject: subject!
X-PHP-Originating-Script: 1000:test.php
From: from@blah.com

body!

我還注意到發送郵件需要很長時間,如果解析地址有問題,我知道這是一個問題。

我的 sendmail 路徑未在 php.ini 中配置,但 php info 顯示以下內容應該是正確的:/usr/sbin/sendmail -t -i

這是一封來自時事通訊工具 (phplist) 的電子郵件,它通過並且沒有顯示 x-authentication-warning 標頭。

我可以以某種方式解決此問題,還是有辦法確定誰收到了郵件,誰沒有收到郵件,以便我重新發送?

任何幫助都是值得的。

更新:

我剛剛注意到郵件工具可能沒有設置 -f 參數。我解決了這個問題。現在本地地址仍然顯示,但​​在來自 golem 等專業列表的其他電子郵件中也是如此。

因此,在上面的電子郵件中,我使用 -f 參數生成。現在還可以還是仍然有問題?

您的 sendmail 配置錯誤。它使用內部 EC2 域名 ip-10-48-213-66.eu-west-1.compute.internal 作為發件人域,由於無法查找和檢查,因此電子郵件被拒絕. 您需要在其中放置一個實際的真實網際網路域名,該域名對您發送的 IP 地址具有反向 DNS 查找功能——您必須向 Amazon 申請從 EC2 發送電子郵件的許可,以便讓他們配置為您反向 DNS。

在任何情況下,從 EC2 伺服器發送電子郵件都可能很棘手,因為很多 EC2 IP 地址都在黑名單中。您最好研究一下亞馬遜剛剛推出的新簡單電子郵件服務。

引用自:https://serverfault.com/questions/228064