web-dev-qa-db-ja.com

たくさんのメールを送り返します

Ubuntu 10.04LTSサーバーとAmazonEC2を実行しています。コミュニティを起動し、Apache2、php5、sendmailをインストールしました...それだけです。

構成に何も変更しませんでした。昨夜、私は約2000人の受信者にニュースレターを送りました。

mail.logは、次のように、メッセージの配信が受け入れられていることを示しています。

Jan 27 16:40:42 ip-10-48-213-66 sendmail[24725]: p0RGefNE024725: [email protected], 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=<[email protected]>, ctladdr=<[email protected]> (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 <[email protected]>: Sender address rejected: Domain not found

またはこれ

Jan 27 20:13:39 ip-10-48-213-66 sm-mta[10058]: p0RH5QCC032505: to=<[email protected]>, ctladdr=<[email protected]> (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=<[email protected]>, ctladdr=<[email protected]> (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: <[email protected]> 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('[email protected]','subject!','body!','From: [email protected]','-f [email protected]'));

私は次のメールを受け取ります:

Delivered-To: [email protected]
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: <[email protected]>
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 [email protected] 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 [email protected] designates 79.125.4.119 as permitted sender) [email protected]
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 <[email protected]>; 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 [email protected] using -f
To: [email protected]
Subject: subject!
X-PHP-Originating-Script: 1000:test.php
From: [email protected]

body!

また、メールの送信にかなりの時間がかかることにも気づきました。これは、アドレスの解決に問題がある場合に問題になることがわかっています。

私のsendmailパスはphp.iniで構成されていませんが、php infoには、正しいはずの次の情報が表示されます。/usr/sbin/sendmail -t -i

これはニュースレターツール(phplist)からのメールで、x-authentication-warningヘッダーが表示されていません。

どういうわけかこれを修正できますか、それとも誰が​​メールを受け取ったのか、誰が受け取らなかったのかを特定して再送信する方法はありますか?

どんな助けでも適用されます。

更新:

メールツールがおそらく-fパラメータを設定していないことに気づきました。これを修正しました。現在もローカルアドレスは表示されますが、これはゴーレムなどの専門家リストからの他のメールでも同じです。

したがって、上記の電子メールでは、-fパラメーターを使用して作成しました。これは今は大丈夫ですか、それともまだ問題がありますか?

1
The Shurrican

Sendmailの設定が間違っています。送信者ドメインとして内部EC2ドメイン名ip-10-48-213-66.eu-west-1.compute.internalを使用していますが、これを検索および確認できないため、メールは拒否されています。送信元のIPアドレスへの逆DNSルックアップを持つ実際の実際のインターネットドメイン名をそこに配置する必要があります。EC2から電子メールを送信する許可をAmazonに申請して、構成するようにする必要があります。 DNSを逆にします。

多くのEC2IPアドレスがブラックリストに含まれているため、EC2サーバーからのメールの送信はどのような場合でも注意が必要です。 Amazonが立ち上げたばかりの新しいSimpleEmailServiceを調べたほうがいいでしょう。

3
Mike Scott

誰がメールを受信したかを確認する良い方法は、Return-Pathヘッダーを使用して受信者ごとに一意のバウンスアドレスを生成することです。これにより、バウンスメールボックスを解析し、メールをバウンスした人を1つずつ正確に照合できます。

EC2を使用しているようですが、配信可能率が非常に低く、変動するため(まさにあなたの問題)、EC2から直接メールサービスを実行することは実際にはお勧めできません。EC2でもこの問題が発生し、契約することにしました。すべての配信可能性とバウンスを整理するための外部SMTPプロバイダーは、このような少量で特にコストを正当化するのに十分なほど安価です。

私はこれにAuthSMTP( http://www.authsmtp.com/ )を使用しています、それらは安価で非常に信頼性があります。

0
lynxman