web-dev-qa-db-ja.com

Wordpressはメールを送信できません

WP 4.8でメールが機能しません。

私はワードプレスをLAMPスタックで動かしています。私は怠惰で、すぐに何かを必要としていたので、それは実際にはBitnamiアプライアンスです。すべてのモジュール/プラグイン/テーマ/言語は最新のものです。

私はSMTPホストを所有していますが、これは事実上オープンリレーであり(私のネットワークからのみ)、認証を必要としたりサポートしたりすることはありません。これを使ってWordpressからすべてのSMTPを配信したい。

Wordpressは基本的な電子メールの設定とテストを可能にするプラグインWP-Mail-SMTPを持っています。このプラグインを使用して、私はすべての可能な設定の組み合わせを試しましたが、すべて失敗します。

私の理想的な(私は信じている)設定は

Send All WordPress email via SMTP
SMTP Host : mailgateway.com.outbound.epasecure.com
SMTP Port : 25
Encryption : No Encryption
Authentication : No: Do notuse SMTP authentication

私が信じているログ出力は、私が抱えている問題がこのようなものであることを示しています。[注:IP.AD.DRE.SSは、私のWAN ipのサニタイズ版です。

The SMTP debugging output is shown below:
 2017-10-09 14:43:40    Connection: opening to mailgateway.com.outbound.epasecure.com:25, timeout=300, options=array (
                                          )
 2017-10-09 14:43:41    Connection: opened
 2017-10-09 14:43:41    SMTP -> get_lines(): $data is ""
 2017-10-09 14:43:41    SMTP -> get_lines(): $str is  "220 out4d.electric.net ESMTP"
 2017-10-09 14:43:41    SERVER -> CLIENT: 220 out4d.electric.net ESMTP
 2017-10-09 14:43:41    CLIENT -> SERVER: EHLO 192.168.50.94
 2017-10-09 14:43:41    SMTP -> get_lines(): $data is ""
 2017-10-09 14:43:41    SMTP -> get_lines(): $str is  "250-out4d.electric.net Hello 192.168.50.94 [IP.AD.DRE.SS]"
 2017-10-09 14:43:41    SMTP -> get_lines(): $data is "250-out4d.electric.net Hello 192.168.50.94 [IP.AD.DRE.SS]"
 2017-10-09 14:43:41    SMTP -> get_lines(): $str is  "250-SIZE 268435456"
 2017-10-09 14:43:41    SMTP -> get_lines(): $data is "250-out4d.electric.net Hello 192.168.50.94 [IP.AD.DRE.SS]"
                                          250-SIZE 268435456
 2017-10-09 14:43:41    SMTP -> get_lines(): $str is  "250-8BITMIME"
 2017-10-09 14:43:41    SMTP -> get_lines(): $data is "250-out4d.electric.net Hello 192.168.50.94 [IP.AD.DRE.SS]"
                                          250-SIZE 268435456
                                          250-8BITMIME
 2017-10-09 14:43:41    SMTP -> get_lines(): $str is  "250-PIPELINING"
 2017-10-09 14:43:41    SMTP -> get_lines(): $data is "250-out4d.electric.net Hello 192.168.50.94 [IP.AD.DRE.SS]"
                                          250-SIZE 268435456
                                          250-8BITMIME
                                          250-PIPELINING
 2017-10-09 14:43:41    SMTP -> get_lines(): $str is  "250-AUTH LOGIN"
 2017-10-09 14:43:41    SMTP -> get_lines(): $data is "250-out4d.electric.net Hello 192.168.50.94 [IP.AD.DRE.SS]"
                                          250-SIZE 268435456
                                          250-8BITMIME
                                          250-PIPELINING
                                          250-AUTH LOGIN
 2017-10-09 14:43:41    SMTP -> get_lines(): $str is  "250-STARTTLS"
 2017-10-09 14:43:41    SMTP -> get_lines(): $data is "250-out4d.electric.net Hello 192.168.50.94 [IP.AD.DRE.SS]
                                          250-SIZE 268435456
                                          250-8BITMIME
                                          250-PIPELINING
                                          250-AUTH LOGIN
                                          250-STARTTLS
 2017-10-09 14:43:41    SMTP -> get_lines(): $str is  "250 HELP"
 2017-10-09 14:43:41    SERVER -> CLIENT: 250-out4d.electric.net Hello 192.168.50.94 [IP.AD.DRE.SS]
                                          250-SIZE 268435456
                                          250-8BITMIME
                                          250-PIPELINING
                                          250-AUTH LOGIN
                                          250-STARTTLS
                                          250 HELP
 2017-10-09 14:43:41    CLIENT -> SERVER: STARTTLS
 2017-10-09 14:43:41    SMTP -> get_lines(): $data is ""
 2017-10-09 14:43:41    SMTP -> get_lines(): $str is  "220 TLS go ahead
 2017-10-09 14:43:41    SERVER -> CLIENT: 220 TLS go ahead
 2017-10-09 14:43:41    SMTP Error: Could not connect to SMTP Host.
 2017-10-09 14:43:41    CLIENT -> SERVER: QUIT
 2017-10-09 14:43:41    SMTP -> get_lines(): $data is ""
 2017-10-09 14:43:41    SMTP -> get_lines(): $str is  "221 out4d.electric.net closing connection"
 2017-10-09 14:43:41    SERVER -> CLIENT: 221 out4d.electric.net closing connection
 2017-10-09 14:43:41    Connection: closed
 2017-10-09 14:43:41    SMTP Error: Could not connect to SMTP Host.

ここで重要な要素は次のとおりです。

2017-10-09 14:43:41    CLIENT -> SERVER: STARTTLS
2017-10-09 14:43:41    SERVER -> CLIENT: 220 TLS go ahead
2017-10-09 14:43:41    CLIENT -> SERVER: QUIT

WP-Mail-SMTP設定がそうしないように設定されているにもかかわらずクライアントがTLSをネゴシエートしており、私が送信しているリレーがTLSの接続を要求していない。

WordpressサーバーにSSHで接続し、SMTPリレーに接続している場合は、次のように手動でEメールを送信できます。

>telnet mailgateway.com.outbound.epasecure.com 25
EHLO example.com
MAIL FROM:[email protected]
RCPT TO:[email protected]
DATA
TEST
.

期待どおりに送信します。

回避策として、私はこれをsSMTPと、最近ではWordpressホストにインストールされたPostfixの両方で機能させることを試みました。

私はPostfixをオープンリレーとして設定し、telnet localhost 25が動作して私の通常のリレー経由でメールを送信できるようにしました。

Localhost経由で送信するようにwordpressを設定すると、25同じエラーが発生し、クライアントがTLSをネゴシエートし、サーバーが応答してクライアントが終了します。

クライアントがTLSを提供しないようにしたいです。これを行うためにWordpressをどのように設定しますか。

1
Patrick

WP-SMTPMailをOffice365インスタンスに直接送信するように設定しなければならなかったため、これを機能させることはできませんでした。追加のユーザーを設定する必要がありました。

0
Patrick