12
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WordPressからSMTPでメールを送る

Last updated at Posted at 2020-01-14

Wordpressでメール送信を設定するとき、普段はプラグインWP Mail SMTP by WPFormsを利用するのだが、office365のメールサーバーで設定しようとした際にPRO版が必要だったため、functions.phpに追記して対応したときの備忘録

functions.php
add_action("phpmailer_init", "send_mail_smtp");
function send_mail_smtp($phpmailer)
{
	$phpmailer->isSMTP();                     //SMTP有効設定
	$phpmailer->Host = "smtp.office365.com";  //メールサーバーのホスト名
	$phpmailer->SMTPAuth = true;              //SMTP認証の有無(true OR false)
	$phpmailer->Port = "587";                 //SMTPポート番号(ssl:465 tls:587)
	$phpmailer->Username = "ユーザー名";        //ユーザー名
	$phpmailer->Password = "ユーザーパスワード";   //パスワード
	$phpmailer->SMTPSecure = "tls";           //SMTP暗号化方式(ssl OR tls)
	$phpmailer->From = "hoge@example.com";    //送信者メールアドレス
// 	$phpmailer->SMTPDebug = 2;                //デバッグ表示
}

上記をfunctions.phpに追記したら、あとはメール送信処理の部分でwp_mail関数を実行するだけ

hoge.php
$to = "送信先メールアドレス";
$subject = "件名";
$body = "本文";
$headers[] = "Cc: cc@example.com";
wp_mail($to, $subject, $body, $headers);

wp_mail関数のパラメータについては下記参照
https://wpdocs.osdn.jp/関数リファレンス/wp_mail

送信者メールアドレスの部分を"noreply@example.com"等にしたかったのだが、
上記設定wp_mail関数を利用したところUsernameとFromの不一致でエラーとなり送信できなかったため、
今回は$phpmailer->From$phpmailer->Usernameと同一のメールアドレスとした。

12
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?