説明
パラメータ
- $to送信先メールアドレスまたはその配列を指定。
- $subjectメールタイトルを指定。
- $messageメール本文を指定。
- $headersメールヘッダー情報を文字列または配列で指定(省略時は'')。
- $attachments添付ファイルを文字列または配列で指定(省略時はarray())。
- $embeds[6.9.0]埋め込みファイルを文字列または配列で指定(省略時はarray())。
返り値
メールを送信できた場合はtrueを。送信できなかった場合はfalseを返す。注意
パラメータ$headersで送信元('from')が省略された場合は、名前は'WordPress'、メールアドレスは'wordpress@'サイト名('www.'から始まる場合は除外される)が適用される。
パラメータ$headersでコンテント情報('content-type')が省略された場合は、content-typeが'text/plain'、charsetが'UTF-8'が適用される。
[5.7.0]'pre_wp_mail'フィルターの返り値がnull以外の場合、メールは送信されず、その値が本関数の返り値となる。
[6.9.0]パラメータ$embedsが追加され、その内容は'wp_mail'および'pre_wp_mail'フィルターのパラメータにも反映される。
[6.9.0]マルチパートメッセージに対するContent-Typeヘッダーの処理を改善した。
使用例
- 送信元を省略してメールを送信する。<?php @wp_mail( $to, $subject, $message ); ?>
- 送信元を指定してメールを送信する。
<?php $blogname = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ); $wp_email = 'wordpress@'.preg_replace( '#^www\.#', '', strtolower( $_SERVER['SERVER_NAME'] ) ); $headers = "From: \"{$blogname}\" \n". "Content-Type: text/plain; charset=\"UTF-8\"\n"; @wp_mail( $to, $subject, $message, $headers ); ?>
フィルター
[2.2.0]本関数の冒頭で'wp_mail'フィルターを呼び出す。パラメータ$paramsは本関数で受け取った5つのパラメータを格納した連想配列となる。extract( apply_filters( 'wp_mail', $params ) );
$atts = apply_filters( 'wp_mail', compact( 'to', 'subject', 'message', 'headers', 'attachments' ) );
$pre_wp_mail = apply_filters( 'pre_wp_mail', $return, $atts );$from = apply_filters( 'wp_mail_from', $from_email );$from_name = apply_filters( 'wp_mail_from_name', $from_name );$content_type = apply_filters( 'wp_mail_content_type', $content_type );$charset = apply_filters( 'wp_mail_charset', $charset );$embed_args = apply_filters(
'wp_mail_embed_args',
array(
'path' => $embed_path,
'cid' => (string) $key,
'name' => basename( $embed_path ),
'encoding' => 'base64',
'type' => '',
'disposition' => 'inline',
)
);
アクション
[2.2.0]メールを送信する直前に'phpmailer_init'アクションを呼び出す。パラメータはPHPMailerクラスのオブジェクトが格納された配列となる。do_action_ref_array( 'phpmailer_init', array( &$phpmailer ) );do_action( 'wp_mail_succeeded', $mail_data );do_action( 'wp_mail_failed', $error );ソースファイル
/wp-includes/pluggable.php最終更新 : 2025年12月04日 10:24
関連
お勧め
個人データのエクスポートメール向けに追加された新フィルター(2020年4月2日 更新)
先週「WordPress 5.4 RC3」が公開され、正式リリースまであと1週間。ブロックエディターの機能強化が目立つわけですが、地味な変更点もちらほらと。今回はその中の1つ、「個人データのエクスポート」機能に関連するフィルターを紹介する。
決まった値を返すだけの関数群(2018年5月27日 更新)
WordPressのソースコードを眺めているとフィルター関数名で'__return_○○'が指定されている部分を時々見かけます。それらの関数定義を見てみると、すべて決まった値を単純に返すだけでした。これらの関数がちょっと気になったので、まとめてみました。
サイドバーの初期化はwidgets_initアクションで(2011年7月14日 更新)
ウィジェットを使ってみたくなり新テーマ「Twenty Eleven」を覗いてみると、codexに記載されていた内容と少し違っている。これって「Twenty Ten」ですでに変更されていたんだね。Gutenbergでカスタムフィールドを使う(2018年8月10日 更新)
Gutenbergの新エディターではカスタムフィールドのウィジェットが表示されない。既存のカスタムフィールドのデータはなくなるわけでないので、新エディター上で編集・更新できないか調べてみた。
favicon.icoがWordPressロゴになる!?(2020年2月25日 更新)
先週「WordPress 5.4 Beta2」が公開され、来月末には正式リリース。タイミングよく三連休だったので、1つ前の「ニュース」で紹介されていた変更点から確認してみた。