Ubuntu 14.04を実行しているDigitalOceanサーバーがあります。 PHP関数(内部で使用されています)からmail()
電子メールを送信するのに問題がありますsendmail
。
hosts
問題は私のファイル構成に関連しているようです。これが私が/etc/hosts
現在持っているものです:
127.0.0.1 localhost localhost.localdomain ip-xxx-xxx-xxx-xxx
そしてetc/hostname
:
ip-xxx-xxx-xxx-xxx
(上記の2つではIPアドレス番号をに置き換えましたx
)
これで、このサーバーを指すドメインが作成されました。これをと呼びますmydomain.com
。
したがって、私のウェブサイトからmydomain.com
電子メールを送信すると、その電子メールはスパムフォルダに移動されます。私はテストしましたhttps://www.mail-tester.comそれが指摘する問題の1つは次のとおりです。
mydomain.com
上記の行をファイルに追加してみましたが、hosts
これは電子メールが長い時間後に到着したり、まったく到着しなかった結果につながります。
受信したヘッダーは次のとおりです。
Received: from localhost.localdomain (unknown [xxx.xxx.xxx.xxx])
(using TLSv1.2 with cipher xxx (256/256 bits))
(No client certificate requested)
by mail-tester.com (Postfix) with ESMTPS id xxx
for <[email protected]>; Mon, 29 Apr 2019 18:35:18 +0200 (CEST)
Received: from localhost.localdomain (localhost [127.0.0.1])
by localhost.localdomain (8.15.2/8.15.2/Debian-3) with ESMTP id xxx
for <[email protected]>; Mon, 29 Apr 2019 17:35:18 +0100
Received: from mydomain.com (www-data@localhost)
by localhost.localdomain (8.15.2/8.15.2/Submit) with SMTP id xxx
for <[email protected]>; Mon, 29 Apr 2019 17:35:18 +0100
どうすれば修正できますか?
答え1
SMTP 経由でメールを送信すると、Connection Server は HELO コマンドで自分自身を識別します。バラよりhttps://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol#SMTP_transport_example
SMTPクライアントの構成設定でこの設定を変更する必要があります。具体的には、sendmail
例えば次のようになります。https://serverfault.com/questions/205271/how-to-specify-outgoing-helo-with-sendmail