WordPressでメール送信

  • 2018年7月26日
  • 2018年12月5日
  • WordPress
  • 3152view

WordPressは本当に便利ですよね。

プラグインを入れすぎるとアップデートとカスタマイズしすぎたテーマの改修は時間がかかるという副作用がありますが、それを差し引いても便利です。

経験が少ないWEBデザイナさんがアップデート頼まれて「え?WordPressのアップデートの案件?あんなのボタンクリック1発だろ?」と、請けてアップデートしたらプラグインが動かない→サーバ環境見直しというお約束を時々見かけますが、簡単がゆえに喰らったときのダメージは結構痛いものです。

それはさておき、メール送信もWP_mail()でphpのmail関数を同じような使い方ができます。

たまにプラグインにmail関数を直接記述しているケースなど見かけましたが、セキュリティ上アップデートがあるwp_mailを使うのが良いですよね。

 

WordPressでメール送信方法

 

中身は、 wp-includes/pluggable.phpにあり以下に記述があります。

function wp_mail( $to, $subject, $message, $headers = '', $attachments = array() ) {
~~ 省略 ~~

 

送信の仕方

基本の形は以下です。

<?php wp_mail( 送信先, タイトル, 本文, ヘッダー,添付ファイル ); ?>

 

引数は以下です。

  • 送信先 (必須) 送りたい宛先。配列またはコンマ区切りの文字列で複数の宛先を指定できます。初期値なし
  • タイトル(文字列) (必須) メッセージ件名。初期値: なし
  • メッセージ(文字列) (必須) メッセージの本文。初期値: なし
  • ヘッダー(文字列 | 配列) (オプション) メールヘッダー。初期値: 空文字列
  • 添付ファイル(文字列 | 配列) (オプション) 添付するファイル。初期値: 空文字列

メールを正常に送信できたかどうかは戻り値で true で行けます。お約束ですが”ちゃんと相手のサーバまで届いたか”ではなく、あくまでWordPressが動いているサーバでphp上処理できたを取得になります。

実際の使い方

 

メール送信

<?php wp_mail( 'me@example.jp', 'The subject', 'The message' ); ?>



<?php
//複数の人に送付 配列にして変数で渡す。
$multiple_recipients = array(
 'recipient1@example.jp',
 'recipient2@foo.example.jp'
);
$subj = 'The email subject';
$body = 'This is the body of the email';
wp_mail( $multiple_recipients, $subj, $body );
?>


 

添付ファイルを送付

<?php 
//添付ファイルを送付
$attachments = array( WP_CONTENT_DIR . '/uploads/file_to_attach.zip' ); 
$headers = 'From: My Name <myname@example.jp>' . "\r\n"; 
wp_mail( 'test@example.org', 'subject', 'message', $headers, $attachments );
 ?>

 

 

WordPressから送信されるメールの送信者名と送信元メールアドレスを変更。

受け取ったメールには送信者名が「WordPress」送信元アドレスが「wordpress@サイトドメイン」となりますが、これではアレなので、お使いのテーマのfunctions.phpに記述。

function custom_wp_mail_from( $original_email_address ) {
return 'info@sys-guard.com';//送信先
}
function custom_wp_mail_from_name( $original_email_from ) {
return 'システムガーディアン株式会社 SYSTEM-GUARDIAN.Inc';//送信者名
}
add_filter('wp_mail_from ','custom_wp_mail_from');
add_filter('wp_mail_from_name','custom_wp_mail_from_name');

 

参考

 

最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG