
メールマガジンプラグインSubscribe2を導入してみた
Wordpressでメールマガジンを配信するなら「Subscribe2」プラグインがおすすめです。
元は投稿記事掲載時に告知するプラグインで、別途メール文面の作成・配信が可能です。
ドメイン名と送信元メールアドレスを合わせる上書き設定が必要です。
メールマガジンプラグインSubscribe2
本記事はWordpressでメールマガジンのプラグインを導入する方法についてご紹介します。
紹介するプラグインは「Subscribe2」です。
Subscribe2とは
Subscribe2は本来、投稿記事の掲載と同時に一斉に購読者に告知する事が目的のプラグインです。
投稿記事はカテゴリ別に一斉告知のON・OFFができ、他にも購読者の管理など様々な機能を備えています。
購読者に対し投稿記事とは別に任意でメール文面の作成・配信ができるため、メールマガジン向けプラグインとして使われます。
購読申込・配信停止の画面表示も簡単で、ユーザーには登録・或いは登録解除してもらうだけです。
本記事ではこのプラグイン「Subscribe2」を導入するまでの工程を詳しく解説します。
プラグインのインストール
まずはSubscribe2のインストールです。
プラグイン新規追加から「subscribe」で検索を掛けます。
「Subscribe2 – Form, Email Subscribers & Newsletters」という名前のプラグインがありますので、それをインストールし有効化しましょう。
すると「Subscribe2」の名前の管理画面メニューが表示されます。
プラグインの日本語化
インストールをした時点では表記が全て英語になっていますので、まず言語を日本語に変更します。
以下のサイトから日本語化ファイルをダウンロードしましょう。
[WP]メルマガ・メール購読プラグイン比較まとめページ
上記画像にある「Subscribe2 日本語化ファイル」のリンクボタンを押すと、圧縮ファイルがダウンロードできます。
ファイルを解凍すると2つのファイルが出てきます。
・subscribe-ja.mo
・subscribe-ja.po
2つのファイルのうち、.moの方をサーバーにアップします。
翻訳ファイルをアップロード
FTPソフトなどを使って、サーバーにあるWordpressデータから
「wp-content/languages/plugins/」ディレクトリを開きます。
この中に先ほどの「subscribe-ja.mo」をアップロードすると、subscribe2が日本語化されるという訳です。
※アップロード時はバイナリ形式で行いましょう。
アップロードしたらWordpressの管理画面をF5で更新すると日本語化されます。
メルマガ登録画面の作成
まずはユーザーにメルマガを購読してもらえるよう、メールアドレスの登録をしてもらう必要がありますね。
・固定ページでメルマガ登録用ページを作る
・投稿記事の任意の位置に登録フォームを付ける
・ウィジェットでサイドバー等に表示する
いずれも可能ですが、固定ページでメルマガ登録専用ページのを作るのが一番だと思います。
登録画面フォームの設置
固定ページや投稿画面上のビジュアルエディタ側のアイコン上には、自動で「S2」ボタンが追加されています。
テキストエディタの方にはありません。
これをクリックすると、登録フォームのショートコードを追加できる訳ですね。
それからウィジェットにも「Subscribe2」が追加されていますので、コンテンツ部分以外にも設置できます。
登録フォーム
ショートコードを追加すると、サイト上で以下のように表示されます。
メールアドレスを入力して「登録する」を押すか、「登録解除する」を押す事になります。
このフォームから登録されたメールアドレスは、Subscribe2のメルマガ読者メニューで確認できます。
メールアドレスは手動で追加することも可能です。
うまく登録画面が出ない場合
たまに「You may manage your subscription options from your profile」と表示されてメルマガ登録画面が出ない場合があります。
この場合、自分自身がWordpressからログアウトしてみましょう。
ログアウト後に確認すればきちんと表示されるはずです。
その他の確認
Subscribe2の設定メニューから「外観」タブをクリックしましょう。
一番上のSet default Subscribe2 page as:の欄を確認しましょう。
ここがメルマガ登録フォームを設置した「固定ページのタイトル」を選択しているかどうかです。
その下のSet Subscribe2 unsubscribe page:は「Select a page」のままでOKです。
「Subscribe2のウィジェットを有効にしますか?」にチェックが入っているかどうかも確認しましょう。
登録・登録解除はメール認証が必要
メルマガの登録時も登録解除時も、メルマガの画面上だけでは処理は終了しません。
本当に登録してよいのか・或いは登録解除をしてよいのか、本人に確認メールが届きます。
メールによる本人認証
第三者による不正を防止するため、メール認証が採用されています。
認証メールに記載されているURLを押す事で、登録・登録解除が正式に反映されます。
認証メール例
認証メールに記載のURLを押す必要がある
管理画面上のステータス
Subscribe2管理画面上でメール認証前のメールアドレスは赤い文字表記になっています。
本人がメール認証をする事で正式登録がされ、メールアドレスが黒い字になります。
登録削除の場合は、メール認証の前に管理者によって直接削除する事もできます。
メルマガの作成・配信
Subscribe2から「Send Email」をクリックして、メール作成画面を開きます。
表示された画面で件名と本文を入力するだけです。非常に簡単ですよね。
下にある「Add More Files」ボタンからファイルを添付する事もできます。
左下の「Preview」ボタンで配信メールの内容を確認して「送信」ボタンをクリックするとメルマガが配信されます。
送信ボタンをクリックすると配信がされてしまうので、押す前に確認しましょう。
※「your subscriptions」メニューでプレーンテキストやHTMLテキストなどからメール形式を選べます。
起こりやすいエラー
Subscribe2を使うにあたり起こりやすいエラーがあります。
メール送信ができない
よくあるのは、メールアドレスを登録しようとするとエラーメッセージが表示される場合です。
Subscribe2管理画面では、このメールはメール認証待ち(赤文字)状態であり、登録されてはいます。
しかし登録者には画面上でエラーが表示されている訳ですから、気持ち悪いですよね。
さらに「登録済み」のメールアドレスを登録解除しようとしても、同じエラーが表示される形です。
完全に症状が一致するかどうかはわかりませんが、似通ったエラーが出る事があります。
Wordpressのメール送信セキュリティ
これは登録時や登録解除時にSubscribe2より送られる「確認メール」が送信できていないことが原因です。
WordPressシステムのアップデートにより、メール送信セキュリティが強化されました。
送信される「メール送信元アドレス」には、WEBサイトのドメイン名が使われる必要があるのです。
ですので、WEBサイトのドメイン以外の送信元を使ったメールではエラーになる訳です。
ドメイン名と送信元ドメインを合わせる
例えば本サイトの場合、ドメイン名は「lpeg.info」です。
ですので、例えば送信元アドレスが「merumaga@lpeg.info」などであればエラーは起きません。
管理者メールアドレスとドメイン名が違う
Subscribe2のデフォルトの送信元メールは、Wordpressの「管理者メールアドレス」である事が多いです。
管理者メールアドレスはSubscribe2の「登録済みの購読者」の欄に既に1件追加されています。
この管理者用メールアドレスって、必ずしもサイトと同じドメインを使っているとは限りませんよね。
このメールアドレスが送信元として使われると、ドメインが違うためエラーが出るという訳ですね。
解決法
解決策として、サイトのドメイン名とメール送信元ドメインを同じにする事です。
しかし設定からメールアドレスを直接変更しても、仕様によりSubscribe2内の変更はされません。
ですのでSubscribe2のフックを利用して、メール送信元アドレス自体を上書きする必要があります。
functions.phpへの追記
functions.phpに下記のコードを追加しましょう。
functions.phpはsubscribe2内には無いので、選択されているテーマファイルのfunctions.phpを更新します。
上書きフック処理
function custom_reply_to($header) { $header['From'] = '任意のアカウント@自サイトドメイン'; $header['Reply-To'] = '任意のアカウント@自サイトドメイン'; return $header; } add_filter('s2_email_headers', 'custom_reply_to');
他の記述に触らない様に、とにかく一番下に追記するだけでOKです。
その際上記の様に、送信元と一緒に返信先も合わせて書き換えましょう。
メール送信元と同時に返信先も変更
$header['From'] = 'merumaga@lpeg.info';
$header['Reply-To'] = 'merumaga@lpeg.info';
という感じです。
こうする事できちんと登録確認のメールや登録解除時の認証メールが送信されるので、エラーは出なくなります。
設定するメールアドレスは、同じドメイン名なら@の前は自由に設定できます。
まとめ
Subscribe2は本来、記事投稿がされた事を告知するために使われるプラグインです。
つまり記事を投稿した際に、一斉に購読者に通知を届ける仕組みなのですね。
この告知は投稿される記事のカテゴリ別にON・OFFする事ができる様になっています。
その上で別途「Send Email」からメール文面を作ってメールマガジンとして活用する訳です。
投稿時は通知しない場合
通常の投稿時に一切通知したくない場合は、設定から「Registered Users」タブを開きます。
「除外するカテゴリー」欄の全てにチェックを付けましょう。
これで記事の投稿時は購読者に通知はされません。