Contact Form 7のフォームに入力されたメールアドレスがRFCに準拠しているかチェックする方法

Contact Form 7のフォームに入力されたメールアドレスがRFCに準拠しているかチェックする方法

Contact Form 7のフォームに入力されたメールアドレスがRFCに準拠しているかチェックする方法

Contact Form 7のフォームで入力されたメールアドレスがRFCに準拠しているかどうかをチェックする方法をご紹介いたします。

RFCというのはネットワークにおける技術仕様のようなもので、IETFという団体が発行している文書です。メールアドレスでも使って良い文字列などが定められています。

今回ご紹介するのは、RFCに準拠していないメールアドレスが入力された場合は、メールを送信できなくする方法になります。

Contact Form 7のフォームに入力されたメールアドレスがRFCに準拠しているかチェックする方法

サイトに適用しているテーマのfunctions.phpに以下を追加するだけです。


add_filter( 'wpcf7_validate_email', 'wpcf7_text_validation_filter_extend', 11, 2 );
add_filter( 'wpcf7_validate_email*', 'wpcf7_text_validation_filter_extend', 11, 2 );
function wpcf7_text_validation_filter_extend( $result, $tag ) {
 $type = $tag['type'];
 $name = $tag['name'];
 $_POST[$name] = trim( strtr((string) $_POST[$name], "\n", " " ));
 if ( 'email' == $type || 'email*' == $type ) {
 
 if (!filter_var($_POST[$name], FILTER_VALIDATE_EMAIL)) {
 $result->invalidate( $tag, 'このメールアドレスは送信できません。');
 }
 }
 return $result;
}

RFCに準拠していないメールアドレスが入力された場合は、「このメールアドレスは送信できません。」というエラーメッセージが表示されます。

RFCに準拠していないメールアドレスが入力された場合

あとがき

上記は、webOpixelさんで紹介されていた方法になります。

お問い合わせフォームにContact Form 7を使っている方は、ぜひ参考にしてください。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です