DigitalOceanのLEMPを使用したUbuntu 16.04 VPSでは、WordPress Webサイトに、Contact Form 7( CF7)。
WordPress連絡先フォーム(CF7)から電子メール(Gmail)への電子メールの転送に問題があります。
私は謙虚にnon-pluginソリューションを好むと言わなければなりません。
A
ドメインを保持するレコード。www.
バリアントを保持するCname
レコード。NS
レコードは、DNS要求を私のドメインに関連付け、私のIPとそのマシンの関連アプリに関連付けます。DigitalOceanの自動方法(_DigitalOcean DNS管理ツールの[Add Gmail MX records
]ボタンをクリック)でMX
レコードを追加しようとしましたが、5つのMX
レコードが追加されましたが、すぐにWordPressからテストメールを送信しようとした後、同じエラーが発生しました(以下のエラーを参照)。
現在、DNSゾーンにはMX
レコードがありません。これは、メールのコンテキストでWordPress問い合わせフォームの問い合わせをGmailアカウントに送信することだけが必要な場合でも、それらが必要かどうかわからないためですそして、私はまだ同じエラーで同じ状態にあります。
連絡先フォームの下の赤いボックス内に、常に次のエラーメッセージが表示されます。
メッセージを送信できませんでした。
このエラーのため、何もどこにも送信されません(スパムフォルダーにも送信されません)。
これをデバッグしようとして、次のコードを実行してPostfixのログを作成しました。
touch /var/log/mail.log
許可は次のとおりです。
rw-r--r-- 1 root root
しかし、このエラーログには何も書き込まれませんafter自分にテストメールを送信しようとして失敗します。
Sudo apt-get update && Sudo apt-get upgrade postfix
。この問題の原因は何ですか?
おそらく、Postfixまたは sSMTP ? no-confツールよりも最小限のものを好むでしょう。 WordPress連絡フォームに到着するメール以外にGmailに他のメールを送信したり、このマシンから他のメールを送信したりしないことを強調します。
以前は、上記のようにPostfixをインストールしましたが、問題はありませんでした。何を確認すべきか、どのような詳細を提供すべきかわからない場合は、教えてください。編集します。
1)ファイル/etc/postfix/main.cf
はすべてデフォルトです。
2)ps -efl | grep postfix
の出力:
5 S root 4611 1 0 80 0 - 16352 ep_pol 07:42 ? 00:00:00 /usr/lib/postfix/sbin/master -w
4 S postfix 4613 4611 0 80 0 - 16881 ep_pol 07:42 ? 00:00:00 qmgr -l -t unix -u
4 S postfix 4930 4611 0 80 0 - 16869 ep_pol 11:02 ? 00:00:00 pickup -l -t unix -u -c
0 S root 5201 5187 0 80 0 - 3236 pipe_w 12:19 pts/0 00:00:00 grep --color=auto postfix
問題はWordPressに起因しているようで、特にコンタクトフォームの構成から発生しているようです。この問題はsSMTP
でも発生したため、Postfixよりも簡単なツールと考えられています。
元のフォームを削除して新しいフォームを作成すると、メッセージがテストメールで送信されたことを示す緑色のメッセージが表示されました。
ここでも、Spam dirにもメッセージが届きませんでしたが、少なくとも応答は異なり、元の問題はPostfixとは何の関係もありませんでした。
From smtpでメールを送信しないwordpress連絡先フォームの修正方法 :
WordPressはPHPメール機能を使用して、WordPressまたはWPFormsなどの連絡先プラグインによって生成されたメールを送信します。ただし、多くのWordPressホスティングサーバーは、メール機能を使用するように構成されていません。
さらに、スパムを減らすために、メールプロバイダーは、メールが発信元であると主張する場所から発信されているかどうかを確認することがよくあります。たとえば、メールサーバーがyahoo.comであるにもかかわらず、メールがウェブサイトのドメインから送信されたと主張している場合、フォーム通知がスパムフォルダーに到達する前にブロックされる可能性があります。
このため、デフォルトのWordPressメール機能を使用する代わりに、SMTPを使用してPHPからメールを送信することをお勧めします。
SMTP(Simple Mail Transfer Protocol)は、適切な認証方法を使用して電子メールを配信するための業界標準の方法です。
このセクションの見出しは、今日が日曜日であり、記事 smtpで電子メールを送信しないwordpress連絡フォームの修正方法 リストSMTPをセットアップする7つの異なる方法のためです。
私自身は、最も簡単な方法でcron
にエラーメッセージと毎日のバックアップレポートをメールで送信します: Linux構成、スクリプト、ドキュメントをGmailにバックアップ 。
手順を要約するには:
Sudo apt install ssmtp
Sudo apt install sharutils
また、Gmailに電子メールを受け入れるために自分への安全性の低いアクセスを許可するよう指示する必要があります。上記の私の答えに文書化されています。
ssmtp
の構成ファイルは、を変更する必要があります。これが私のものです:
$ Sudo cat /etc/ssmtp/ssmtp.conf
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
# November 17, 2017.
# Required for cron to e-mail backups as per Ask Ubuntu answer:
# https://askubuntu.com/questions/917562/backup-linux-configuration-scripts-and-documents-to-gmail/922493#922493
#root=postmaster
[email protected]
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
#mailhub=mail
mailhub=smtp.gmail.com:587
[email protected]
AuthPass=WinEunuuchs2UnixPassword
UseTLS=YES
UseSTARTTLS=YES
#Debug=YES
# Where will the mail seem to come from?
#rewriteDomain=
rewriteDomain=gmail.com
# The full hostname
hostname=alien
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES
上記の行をGmailアカウント名、パスワード、およびマシン名に変更します。
[email protected]
[email protected]
AuthPass=WinEunuuchs2UnixPassword
hostname=alien
WinEunuuchs2UnixPasswordは、Linuxパスワードではなく、Gmailパスワードです。 hostname
を取得するには、echo $HOSTNAME
を使用します。
上記の最初のリンクのWordPress記事にあるリンクをたどって、Gmailをセットアップします。基本的な概要については、私のリンクのみを参照してください。