最近ブログのメールが送信できないというトラブルが発生しました。
どうやら 問い合わせフォームの プラグイン「contact form 7」を更新してからのようです。
今までは。メール送信はインストールした独自ドメインのサーバーに直接「postfix」をインストールして送信していました。
何らかのタイミングで送信サーバーを指定しなければいけなくなったようです。
あまり難しいことを考えず、信頼できるメールサーバー(インストールしてあるプロバイダーやgmail等々)を送信サーバーに指定して送信するのが安心ですね
その時の作業の備忘録です。
phpでメールを送信するにはphp標準の「mail関数」や「mb_send_mail関数」他を使います。
この関数では オプションで SMTPサーバーを指定してメールを送信します。デフォルトではインストールしているサーバーのSMTPサーバーを利用いして送信しています。
また、VPS等で独自サーバーではは送信サーバーをインストールする必要もあります。
ここでは「postfix」をインストールしてあります。
送信するメールサーバー、アカウント、パスワード、送信するポートを指定する必要があります。
ポート は 25,587または 465(SSL接続方式 SMTP over SSL)を使います。プロバイダーによっては 25を制限している場合があるので 587を多く利用します。
1 2 3 4 5 |
// postfixバージョン確認 [root@centos7 ~]# postconf | grep mail_version mail_version = 2.10.1 milter_macro_v = $mail_name $mail_version [root@centos7 ~]# |
WP Mail SMTP by WPFormsをインストールしてメールサーバーを指定する
SMTPサーバー名 | 送信したい送信サーバー名(例:smtp.gmail.com) |
---|---|
SMTPポート番号 | 587 または 465 (SSL v2/v3) それぞれのsmtpサーバーの仕様を確認して指定します。 通常587を指定します。 参考:gmailではSSLで送信するようです。 |
アカウント | 送信サーバーで登録してあるアカウント(メールアドレス) (例:有効なgmailアカウント xxxxxxx@gmail.com等々) |
パスワード | 送信サーバーで登録してあるアカウントのパスワード (例:Gmailにログインする際のパスワード) |
WP Mail SMTP by WPFormsの設定
プラグインインストール後 「WP Mail SMTP」の設定画面から送信サーバー及そのアカウント情報を入力します。
送信したいメーラーを選択します。ここでは独自ドメインのSMTPを指定するため 「Other SMTP」を選択しました。
送信サーバーのユーザー名及パスワードを入力します。
送信サーバー名、送信オプション、ポートを入力、選択します。
メール送信テスト
無事メールが送信されるのを確認できインストール成功したようです。