いきなりですが、何で何も設定していないのにWordPressからユーザー登録やパスワード再発行などのメールが届くのか不思議に思ったことないですか??
通常メールはメールサーバーというものを使い、メール送受信ソフトで設定したりブラウザ上(ウェブメール)で設定した後に送受信できるようになりますよね?でもそんな設定をしてなくてもWordPressには最初からメールを送信できる機能が備わっているのです。
これをPHP Mail(Wp_mail)機能といいます。そして通常私たちが使っているメールをSMTPと言います。本題に入る前にまずはこの違いなどについて簡単に紹介しておきますね。
PHP Mail(Wp_mail)は特定のメールサーバーを持たずにサイトからメールと認識されるために必要となる事項を設定して直接送りつけるようなイメージで送信されます。特定のサーバーを持っていないので届け先のメールサーバーによっては「スパムメール?」と判断されて届かなかったり、迷惑フォルダに入ってしまうこともあります。
WordPressでメールの送信に対する問題が発生しにくくするにはPHP Mail(Wp_mail)ではなくメールサーバーを用いたSMTPメールにするのが一般的。レンタルサーバーなどのホスティング機能を使って送信する方式です。大抵のサーバーではサイトの公開と同時にメールの送受信が行えるようになっていますよね?これを使うんです。
サーバーの設定で普通にSMTPメールが使えるようになったら
などのプラグインを使って情報を入力するだけで何もしなくてもWordPressから送信されるメールがメールサーバー経由で送信されるようになります。この方法だと迷惑メールとして扱われる可能性が圧倒的に減り、より確実に届くようになります。設定自体も通常のメールソフトに入力するのと同じ項目なので見ればわかると思います。
ただし、これにもまた問題があります。それはニュースレター投稿通知などでたくさんのメールを送信する場合。問題点を挙げると
- メールを送信すること自体サーバーのパワーを使っている
- 一度に大量のメールを送信することが規約違反になることもある
- 時間単位や日単位で送信できるメールの数に制限があるサーバーが多い
といったことが懸念されます。たとえ知らずに送信していたとしてもサーバーに高い負荷がかかっている原因があなたが送っている大量の送信メールにあったら・・・突然規約違反として契約破棄となることもあります。そうなるとサイト自体も表示できなくなるのでこれまた困ってしまいます。
そこでニュースレターや投稿通知系のプラグインにはSMTP経由で送信できるものや、時間単位のメール送信量を調節できるものもあります。ただそれらの機能を使っても1のメールを送信すること自体サーバーのパワーを使っているという事項は解決できません。
それならGmailやYahooなど無料のメールサーバー使ったら?となるところですが、優良なメールサービスであるほど負荷に対する対策がしっかりしていて制限があったりします(記憶ですがGmailは1日500件まで・・・など)。
うーん、もう対応策がないのかぁ・・・いやいや大丈夫です。
今まで書いてきた問題を解消できるのがメール配信サービスを使う手段。これなら作ったメールを一旦メール配信サービスへ預けて送信してもらえるので確実です。とはいえほとんどが有料のものばかりで試しに使うこともできないサービスが多いんです。
また、WordPressでこれらのサービスを使用する際にはプラグインを使って機能を追加するのが一般的なのですが、対応しているサービスが少ないのも困りものです。
そんな中、月12000通までのメールは無料、プラグインで簡単にメールの送信方法を設定できるのが「SendGrid」というサービスです。もちろん有料プランならもっとたくさんのメールが扱えるようになりますから、まずは無料プランで試して効果があるようなら有料版へということもできます。
前置きが長くなってしまいました。それでは「SendGrid」の登録方法、WordPressでSendGridを使ってメールを送信する方法、メールマガジンなどを配信できるプラグインとの連携などについて紹介していきます。
実際に私が行った手順ですから参考資料として読んでいただければ幸いです。
SendGridへの登録と設定
SendGridへの登録
SendGridサービスへの登録を行います。
SendGridへアクセスし、新規登録をクリックします
通常の会員制サイトと同じように「メールアドレス」を入力して送信、その後メールの中のURLをクリックして登録情報を入力して登録していきます。
登録完了のメールが来ますがこの段階ではまだ利用できる状態ではありません。簡単な審査があるようです。私の場合は2日ほどして次のメールが届きました。
最終的に届いたメールはこんな感じ
本文中のログインリンクをクリックして「お客様のユーザ名」に書かれているユーザー名と登録時に設定した「パスワード」を使ってログインします。
※「お客様のユーザ名」はなくさないように注意しましょう!!
最初にログインすると、最終的なメール確認の画面が出るので再度メール送信→リンククリックすれば完了です。
SendGridで行う最低限の設定
これが管理画面です。
左下の「設定」→「メール設定」を開き、以下の2つを設定します
- 「ホワイトリストのアドレス」/SendGridを使ってメールを送信する際のドメインを入力します
- 「フォワードバウンス」/メールが届かなかった旨を知らせるメールの送信先を指定します
「ホワイトリストのアドレス」を登録しておくことで、万が一後で紹介するapiキーが盗まれても登録されているサイト以外からはメール送信ができないので、人のアカウントを使う行為を防止することができます。
そしてメールが届かなかったことをいちいちこの画面にログインして確認するのも面倒ですから、メールで受け取れるように「フォワードバウンス」の設定をしておきます。
以上で基本的な設定は完了です。SendGridには読者登録の機能もありますが、これはWordPressのユーザー登録やメルマガプラグインの機能に任せればいいので設定する必要はありません。
設定が終わったら同じく設定メニューの中にある「APIキー」をクリックします
出てきた画面の右上にある「APIキーを作成」をクリックし、出てきた画面にあるキーをメモ帳などにコピーしておきましょう。
WordPressからのメールをSendGrid経由に切り替える
この機能を持つプラグインはたくさんありますので
を例に説明しますね。
インストールして有効化したら「設定」→「WP Mail SMTP」を開いてください
設定画面をずーっとスクロールしていくと画面のような項目があるので、「SendGrid」を選択して、下にあるAPIキーの入力欄に先ほどメモ帳にコピーしたキーをコピペし、一番下の「Save Settings」をクリックします。これで終了です(簡単すぎ?)
試しに一番上までスクロールして「Email Test」をクリックして受け取れるメールアドレスを入力し、テストメールを送信してみましょう。無事にメールが届けばOKです。
これでWordPressのサイトから送信されるメールがすべてSendGrid経由になります
ニュースレタープラグインの選定と設定
ここまでで大量メール?をできるだけ安全かつ確実に送信できるようになりました。それでは早速ニュースレター(メルマガ)プラグインの選定と設定を行っていきます。
もう冒頭に書いたようなメールの送信速度を調整したり、SMTPの設定をしたりする機能は必要ありません。実はこうした機能を持つ高機能なプラグインには配信数に制限があったり、せっかくのメールが文字化けして見れたものではなかったり、メール自体の作成がすごく複雑怪奇だったりするものが多いです。
私の独断と偏見でおすすめなのが
と「WP Email Users」(紹介記事は現在作成中です・・・)の2つ。
どちらも通常の投稿を作成する感覚でニュースレターを作成できますし、独自の購読者とWordPressユーザー、特定の配信先など任意に設定して送信できるので簡単だと思います。特におすすめは後者です。
ただし、どちらのプラグインもSMTPの設定が可能ですが、これを設定してしまうとそのSMTPサーバー経由での送信になってしまい意味がありませんので、設定しないようにしましょうね。
ひとまずテストメールを1つ作って送ってみましょう。
届いたメールのソースを開き(大抵のメールソフトでは「表示」項目の中に「ソースを表示」というのがあります)、ズラズラと書かれている内容の中に「…sendgrid…」というような記述があればSendGrid経由でメールが送られている証拠です。
不安な方は一度「WP Mail SMTP」を停止してテストメールを送ってみてください。ソースの内容が違うことが分かりますね。
最後になりますが、どの程度のメールが送られているのか?など時折SendGridのサイトで確認するようにしましょう。
ただ無料プランでの契約の場合勝手に課金されることはないようですから安心して使えると思います(有料プランは別契約が必要なようです)。
これですべての設定が完了しました。長文にお付き合いいただきありがとうございました。