web-dev-qa-db-ja.com

ユーザーが不明なため、sendmail経由で電子メールを送信できません

*hostname.domain.com is substituted throughout for my actual subdomain*

私のセットアップ

Drupal 7.14OpenVZ VPSで実行していますbuntu 11.1(これも10.04でテストされています)。 UbuntuはApache2/php5/mysqlのリポジトリバージョン(LAMPメタパッケージではない)をインストールし、php5.iniはすべてのエラーメッセージをsyslogにダンプするように設定されています。

私の問題

一貫して、サイトが電子メールを任意のアドレスに送信する場合、サイトは次を返します。

電子メールを送信できません。問題が解決しない場合は、サイト管理者に連絡してください。

そしてDrupal「最近のログメッセージ」readdsのエラー:

電子メールの送信エラー([email protected]から[email protected]へ)。

このエラーは、電子メールの送信先アドレスに関係なく、Drupalログに表示されます。

メールは実際には少し遅れて送信されます。通常1秒ですが、6秒以上もかかります。

Syslogの内容

Sep 21 13:22:34 hostname sendmail[1648]: q8LDMYe9001648: Authentication-Warning: hostname.domain.com: www-data set sender to [email protected] using -f
Sep 21 13:22:34 hostname sendmail[1648]: q8LDMYe9001648: [email protected], size=649, class=0, nrcpts=1, msgid=<[email protected]>, relay=www-data@localhost
Sep 21 13:22:34 hostname sm-mta[1649]: q8LDMYxB001649: from=<[email protected]>, size=1023, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Sep 21 13:22:34 hostname sendmail[1648]: q8LDMYe9001648: [email protected], delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30649, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (q8LDMYxB001649 Message accepted for delivery)
Sep 21 13:22:34 hostname sendmail[1653]: q8LDMYgo001653: Authentication-Warning: hostname.domain.com: www-data set sender to [email protected] using -f
Sep 21 13:22:34 hostname sendmail[1653]: q8LDMYgo001653: [email protected], size=465, class=0, nrcpts=1, msgid=<[email protected]>, relay=www-data@localhost
Sep 21 13:22:34 hostname sm-mta[1654]: q8LDMY0G001654: <[email protected]>... User unknown
Sep 21 13:22:34 hostname sendmail[1653]: q8LDMYgo001653: [email protected], delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30465, relay=[127.0.0.1] [127.0.0.1], dsn=5.1.1, stat=User unknown
Sep 21 13:22:34 hostname sm-mta[1654]: q8LDMY0G001654: from=<[email protected]>, size=465, class=0, nrcpts=0, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Sep 21 13:22:34 hostname sendmail[1653]: q8LDMYgo001653: q8LDMYgp001653: DSN: User unknown
Sep 21 13:22:34 hostname sm-mta[1654]: q8LDMY0I001654: <[email protected]>... User unknown
Sep 21 13:22:34 hostname sendmail[1653]: q8LDMYgp001653: [email protected], delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=31489, relay=[127.0.0.1] [127.0.0.1], dsn=5.1.1, stat=User unknown
Sep 21 13:22:34 hostname sm-mta[1654]: q8LDMY0I001654: from=<>, size=1489, class=0, nrcpts=0, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Sep 21 13:22:34 hostname sendmail[1653]: q8LDMYgp001653: q8LDMYgq001653: return to sender: User unknown
Sep 21 13:22:34 hostname sm-mta[1654]: q8LDMY0K001654: from=<>, size=4700, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Sep 21 13:22:34 hostname sendmail[1653]: q8LDMYgq001653: to=postmaster, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=32513, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (q8LDMY0K001654 Message accepted for delivery)
Sep 21 13:22:34 hostname sm-mta[1655]: q8LDMY0K001654: to=root, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=34947, dsn=2.0.0, stat=Sent
Sep 21 13:22:40 hostname sm-mta[1651]: q8LDMYxB001649: to=<[email protected]>, delay=00:00:06, xdelay=00:00:06, mailer=esmtp, pri=121023, relay=fakedomain.com. [86.48.74.19], dsn=2.0.0, stat=Sent (Ok)

私が理解していない

以下のように、私が理解していないように見えるいくつかの異常があります。

  • stat=User unknown
  • DSN: User unknown
  • Sep 21 13:22:34 hostname sm-mta[1654]: q8LDMY0I001654: <[email protected]>... User unknown
  • Drupalのエラーでfrom [email protected] to [email protected]と表示される理由を理解できません
  • コマンドラインからsendmailを使用してメールを送信できます。

Rootのコマンドラインで送信した後のmail.logの内容

Sep 21 16:00:07 hostname sendmail[3283]: q8LFwxIS003283: from=root, size=167, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Sep 21 16:00:07 hostname sm-mta[3305]: q8LG07FE003305: from=<[email protected]>, size=487, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Sep 21 16:00:07 hostname sendmail[3283]: q8LFwxIS003283: [email protected], ctladdr=root (0/0), delay=00:01:08, xdelay=00:00:00, mailer=relay, pri=30167, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (q8LG07FE003305 Message accepted for delivery)
Sep 21 16:00:08 hostname sm-mta[3307]: STARTTLS=client, relay=gmail-smtp-in.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=ECDHE-RSA-RC4-SHA, bits=128/128
Sep 21 16:00:08 hostname sm-mta[3307]: q8LG07FE003305: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=120487, relay=gmail-smtp-in.l.google.com. [74.125.142.26], dsn=2.0.0, stat=Sent (OK 1348243208 ut4si13805795igb.1)
5
bitfed

このエラーは、ホスト名をwebserverからwebserver.comに変更した後に表示されたため、*@webserver.comに送信されたものはすべて、sendmailを混乱させました。

ローカルユーザーを追加しても問題は完全には解決しません。firstname.lastnameのようなユーザーを追加しようとすると、Linuxシステムから問題が発生するためです。

私のシステムを修正するために私がやったことはsendmailを適切に設定する

1)末尾に次の行を追加して、/etc/mail/sendmail.mcを変更します。

define('MAIL_HUB', 'webserver.com.');
define('LOCAL_RELAY', 'webserver.com.');

2)実行:

sendmail config

オプションで、sendmailを次の方法でリロードしました。

service sendmail restart

一部のLinuxディストリビューション(Ubuntuなど)では、自動的に再ロードされる場合があります。

5
sapenov

理由はまだわかりませんが、Ubuntu VPSで「noreply」という名前のLinuxユーザーを作成すると、この問題が修正されました。私はそれが機能することを嬉しく思いますが、私が送信したいすべての電子メールIDに対して新しいLinuxユーザーを作成する以外の洞察または代替ソリューションを持っている可能性がある人からの回答をいただければ幸いです。

コメントで私とこれについて議論してくれた junedkazi に特に感謝します。

1
bitfed