[WordPress] Contact Form 7 で全てのフォームに一括でBCCアドレスを追加する方法

  • このエントリーをはてなブックマークに追加
  • Pocket

Contact Form 7 で多くのフォームを登録している場合には、BCCに記載した管理者アドレスを変更するのもイチイチ個別に変更しなければいけません。
もちろん、BCC先のアドレスで転送設定できるのであれば、それも1つの方法かと思います。
但し、新規で作成したフォームにBCC先の設定自体を忘れてしまったり、ヒューマンエラーによる漏れは発生してしまいます。

 
これからご案内する方法であれば、WordPress内で動作している Contact Form 7 がメールを送信するタイミングで自動的にBCCアドレスを付加するので、登録フォーム毎に設定も不要なので、BCC設定を忘れて漏れてしまうこともありません。

お決まりの functions.php に下記を追加してみてください。
※私の場合は「functions.php」ではなく「Code Snippets」)で導入してます。

 

function my_wpcf7_add_autobcc_mail($cf7)
{
	$mail = $cf7->prop('mail');
	$addbcc_addr = '*****@sample.com'; ※BCCに追加したいメールアドレス

	//既に設定された内容に応じて追加文字列を調整(もしかしたらバグあるかも)
	if (empty($mail['additional_headers'])) $mail['additional_headers'] = 'Bcc:'.$addbcc_addr;
	else if (preg_match("/Bcc\s*:\s*/i", $mail['additional_headers'])) $mail['additional_headers'] = preg_replace('/Bcc\s*:\s*(.+)$/i', '$1,'.$addbcc_addr, $mail['additional_headers']);
  	else $mail['additional_headers'] .= "\nBcc:".$addbcc_addr;

	$cf7->set_properties( array( 'mail' => $mail ));
	return $cf7;
}
add_filter('wpcf7_before_send_mail', 'my_wpcf7_add_autobcc_mail', 1);

 
編集後は、必ず動作確認を行ってください。
また、実際に送信されたメールの記録はサーバー側に残ります(追加したBCCアドレスを隠せるわけではありません)ので、くれぐれも悪用はしないように。

ネット集客を加速させるWebサイトをWordPressで作る方法
WordPress対応 PHPファイル 難読化ツール

ご訪問ありがとうございます。
参考になりましたら『いいね!』もお願いします。

ITの活用情報を毎週お届けする無料メルマガに是非ご登録ください。

閉じる

ご意見・ご感想をお待ちしております。

いただいた情報は一般公開されません。(入力いただいたメールアドレスにてご返信させていただきます)
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。