【当ブログではアフィリエイト広告を利用しています】

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

attention この記事は2年以上前の投稿になります。
記載された情報が古くなっている可能性がございますので十分ご注意ください。

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アドレスを隠せるわけではありません)ので、くれぐれも悪用はしないように。

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

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

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