This is an issue I’ve run into multiple times, and I have to search for it every time, so thought I would share it here. You can use the AWESOME Akismet to filter spam on contact forms in WordPress that use Contact Form 7.
Next, add the following Akismet-related options into the appropriate fields in your form.
akismet:author
Add this option to the field that accepts the name of the sender.
Example: [text* your-name akismet:author]
akismet:author_email
Add this option to the field that accepts the email address of the sender.
Example: [email* your-email akismet:author_email]
akismet:author_url
Add this option to the field that accepts the URL of the sender.
Example: [text your-url akismet:author_url]
And the most important tip:
If Akismet judges the submission as spam, Contact Form 7 cancels the sending of mails and shows a message that says, “it failed to send the message.” You’ll see an orange border around the response message when it has been judged as spam.
Visit the Contact Form 7 blog for more info.