2013年9月27日金曜日

【3パターン】Azure WebSites(ウェブサイト)のWordPressからメールを送る方法


ある日のこと


あ!WordPressの管理者パスワード忘れた・・・∑(゚Д゚)ガーン

って、パスワード忘れてしまった時に、

「パスワード」リセットURLを送る

と、思いますが・・・

Azure WebSitesだと、以下のような画面になってしまいます。
メールを送信できませんでした。

ホスティングサービス上で mail() 関数が無効になっている可能性があります。


こうなると、復旧ができないこともないですが、面倒です・・・。

参考:ログインパスワードを変更・再発行する - WordPress Codex 日本語版


メールを送れるようにすればいい

ようは、

Azure WebSitesからメールを送れるようにすれば、いい。

そのためには、SMTPを使って外部から送信する設定を行います。


手順


  • WP Mail SMTPプラグインをインストールする
  • WP Mail SMTPを設定する

その1 ・・・WP Mail SMTP プラグインをインストールする


「プラグイン」→「新規追加」から「WP Mail SMTP」を検索して、インストール


他にも、最近まで更新されているプラグインとして「Easy WP SMTP」があり、ほとんど機能的にも変わりませんでした。


その2 ・・・WP Mail SMTPを設定する


今回は【3パターン】の設定例を用意しました

一覧
サービスOutlook.comSendGridGMail
SMTP Hostsmtp-mail.outlook.comsmtp.sendgrid.netsmtp.gmail.com
SMTP Port25,587(TLS)25,587(TLS),465(SSL)25,465(SSL),587(TLS)
Encryptionポートごとに設定
Authenticationはいはいはい

このうち、「Outlook.com」と「SendGrid」を紹介したいと思います。

設定は:
設定」→「メール」から

Outlook.com での設定内容

サービスOutlook.com
SMTP Hostsmtp-mail.outlook.com
SMTP Port587
EncryptionTLS
Authenticationはい

認証のユーザー名、パスワードは「Outlook.com」のメールアドレスパスワードです!



確認

設定が完了したら、メールが送ることができるか確認してみます。
同じ設定画面の、下の方に「テストメールの送信」という項目があります。
そこを使って確認です。


以下のようにメールが届いていれば、完了です!


SendGridは、機能がいろいろあって長くなったので、別記事にします。

まとめ

  • この設定で、パスワードリセットメールが送ることができるようになります!
  • 他にも、メールを使った「問い合わせフォーム」なども使えるようになります。

やってみると、意外と簡単に出来るので設定することをオ・ス・ス・メします! (」・ω・)」うー!(/・ω・)/にゃー!

Zenback