この記事は、WordPressの通知メールの送信元メールアドレスと送信者名をカスタマイズする方法を解説します。
特に、クライアントワークで納品する際や、ご自身のサイトのブランディングを意識する上で、送信元をデフォルトの wordpress@example.com から変更することは必須の作業と言えます。
放置すると信用問題に?WordPressのデフォルトメール設定が引き起こす問題点
WordPressから自動送信されるメール(パスワードリセット、コメント通知、プラグインからの通知など)の送信元を意識したことはありますか?実は、何も設定していない場合、デフォルトでは以下のようになっています。
| 設定項目 | デフォルト値 |
|---|---|
| 送信元メールアドレス | wordpress@あなたのドメイン |
| 送信者名 | WordPress |
多くのレンタルサーバー環境では、このデフォルトの wordpress@あなたのドメイン というアドレスは実在しないため、メールが相手に届かず迷惑メールフォルダに入ってしまうリスクがあります。これは非常に危険です。
つまり、信頼性の高いメールアドレスに変更し、サイト名や運営者名にカスタマイズすることが、サイトの信用を担保する上で不可欠な対策です。
functions.php で実現!メールアドレスと送信者名を変更する決定版コード
WordPressで送信されるメールの設定を変更するには、主にテーマの functions.php ファイルにフィルターフックを追加するのが最も一般的な方法です。この処理を行うことで、WordPressの標準機能である
wp_mail() 関数が利用される際に、フックをかけて送信元情報を任意の情報に上書きできます。①送信元メールアドレスの変更:wp_mail_from フック
まずは、メールの送信元メールアドレスを変更します。メールの到達率を上げるためにも、確実に送受信できるメールアドレスを設定しましょう。|
1 2 3 4 5 6 7 8 9 |
/ * 送信元メールアドレスを変更する * wp_mail_from フィルターフックを使用 */ add_filter( 'wp_mail_from', 'wa_change_wp_mail_from_address' ); function wa_change_wp_mail_from_address( $from_email ) { // 変更したいメールアドレスをreturnで返す return 'info@your-site.com'; } |
関数名を wa_change_wp_mail_from_address のように、テーマやプラグイン特有のプリフィックス(接頭辞)を付けると、他のコードとの名前の衝突(コンフリクト)を避けやすくなります。
②送信者名の変更:wp_mail_from_name フック
次に、メールの送信者名を変更します。デフォルトの「WordPress」ではなく、サイト名や運営者名に設定すると、ユーザーに安心感を与えます。|
1 2 3 4 5 6 7 8 9 |
/ * 送信者名を変更する * wp_mail_from_name フィルターフックを使用 */ add_filter( 'wp_mail_from_name', 'wa_change_wp_mail_from_name' ); function wa_change_wp_mail_from_name( $from_name ) { // 変更したい送信者名をreturnで返す return 'WEBアンテナ 編集部'; } |
【応用】2つの設定をまとめて記述する
コードをシンプルに保ちたい場合は、上記2つの設定をまとめて1つの関数にフックすることも可能です。可読性を高めるテクニックの一つですね。|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/ * 送信元メールアドレスと送信者名をまとめて変更する * @param string $content フィルターに渡される元の値 * @return string 変更後の値 */ function wa_change_mail_settings( $content ) { // メールアドレスを変更 add_filter( 'wp_mail_from', function() { return 'info@your-site.com'; }); // 送信者名を変更 add_filter( 'wp_mail_from_name', function() { return 'WEBアンテナ 編集部'; }); // この関数自体は元の値を返す(wp_mail_from / wp_mail_from_name フックは値を無視) return $content; } |


コメント