Send Comments From Blocked Email Domains to Spam
Sends comments to the spam queue when the commenter's email address belongs to a throwaway inbox service or any other domain on your list.
Opens WPIDE on
Code
$wpide_comment_blocked_domains = array( 'mailinator.com', 'yopmail.com', 'tempmail.com', 'guerrillamail.com', 'sharklasers.com', '10minutemail.com', 'trashmail.com', 'getnada.com' );
add_filter( 'pre_comment_approved', function ( $approved, $commentdata ) use ( $wpide_comment_blocked_domains ) {
if ( 'spam' === $approved || empty( $commentdata['comment_author_email'] ) ) {
return $approved;
}
$domain = strtolower( (string) substr( strrchr( $commentdata['comment_author_email'], '@' ), 1 ) );
foreach ( $wpide_comment_blocked_domains as $blocked ) {
if ( $domain === $blocked || substr( $domain, -strlen( '.' . $blocked ) ) === '.' . $blocked ) {
return 'spam';
}
}
return $approved;
}, 20, 2 );
Notes
Subdomains of listed domains match too; extend the list as spam arrives.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.