This post is no longer updated. Move to Contact Form 7 official site.
Download | Plugin Homepage | FAQ | Support Forum
Summary
![]()
Just another contact form plugin. Simple but flexible.
- Supports multiple contact forms.
- You can customize form and mail contents with simple markup.
- AJAX submitting with jQuery Form Plugin.
- Spam filtering with Akismet.
- Bot prevention with CAPTCHA.
Download and Install
Download the latest release from WordPress.org plugin directory.
- Upload whole contact-form-7 folder to the /wp-content/plugins/ directory
- Activate the plugin through the ‘Plugins’ menu in WordPress
Usage
- Open admin page
[Options] – [Contact Form 7][Manage] – [Contact Form 7].Update: If you are using WordPress 2.7 or greater, you can find the admin page under [Tools] – [Contact Form 7].
- Edit default “Contact form 1” or add new and save it.
- Copy
[contact-form ...]code and paste it into the content of any posts you need the contact form.
FAQ
How to customize form and mail contents
You can use “tags” in several fields. Contact Form 7’s “tag” is formed string enclosed in square brackets [].
A tag used in form content is replaced by HTML form control element like <input> or <textarea>.
A tag used in mail template is replaced by user input of element with the same name.

In this picture, a tag [textarea your-message ...] inserted in form content is replaced by <textarea> tag with name="your-message" attribute.
When a visitor input into this <textarea> field and submit, Contact Form 7 generates a mail based on mail template. Since message body field has [your-message] tag, this tag replaced by the user input message.
Tags in form content
You can use the following types of tags in form content.
| Type | Replaced by | Validated as |
|---|---|---|
| text | <input type="text" /> |
Any text |
| text* | <input type="text" /> |
Any text / Required |
<input type="text" /> |
Email address | |
| email* | <input type="text" /> |
Email address / Required |
| textarea | <textarea> </textarea> |
Any text |
| textarea* | <textarea> </textarea> |
Any text / Required |
| select | <select> </select> |
— |
<select> </select> |
— | |
| checkbox | <input type="checkbox" /> ... |
— |
<input type="checkbox" /> ... |
— | |
| radio | <input type="radio" /> ... |
— |
| captchac | <img /> |
CAPTCHA See How to use CAPTCHA |
| captchar | <input type="text" /> |
|
| submit | <input type="submit" /> |
— |

The syntax of tag is not so easy. You can use Generate Tag menu under Form textarea to make a tag you need.
I show you some examples of tags.
[text your-name 40/100 "John Smith"]This tag is replaced with:
<input type="text" name="your-name" size="40" maxlength="100" value="John Smith" />[email* your-email 60/ id:email]<input type="text" name="your-email" id="email" size="60" />[textarea your-message 80x15 "Write message here."]<textarea name="your-message" cols="80" rows="15">Write message here.</textarea>
[select your-country "China" "India" "other"]<select name="your-country"> <option value="China">China</option> <option value="India">India</option> <option value="other">other</option> </select>
I wrote about tag syntax.
How to use Akismet on Contact Form 7
1. You need Akismet plugin. If you have not activated it yet, activate it first.
2. Open Contact Form 7’s admin page and edit Form text area as:
- Add
akismet:authoroption to the tag of field which requires sender’s name.
Example:[text* your-name akismet:author] - Add
akismet:author_emailoption to the tag of field which requires sender’s email address.
Example:[email* your-email akismet:author_email] - Add
akismet:author_urloption to the tag of field which requires sender’s URL.
Example:[text your-url akismet:author_url]
Once you have activated the Akismet plugin and at least one of the akismet: options is set, Contact Form 7 will send all of a sender’s input as well as any other information related to input activity to the Akismet server. Akismet will then judge whether this input is likely to be spam.
When Akismet judges a message as spam, Contact Form 7 sends no mail and shows a response message with an orange border line (the third example in the picture below).

To make sure the spam filtering is working, send a message with “viagra-test-123” as the sender’s name. If the test is a success, the message will be judged as spam.
Changelog
- 0.9 (2007/04/30)
- Initial release.
- 1.0 (2007/05/20)
- Tag helper.
- 1.1 (2007/08/02)
- File restructuring.
- 1.2 (2007/08/16)
- jQuery Form Plugin introduced.
- 1.3 (2007/08/26)
-
New tag type:
[select] - 1.3.1 (2007/08/26)
- Critical bug about JavaScript loading fixed.
- 1.3.2 (2007/09/03)
- Bug fix around jQuery.
- 1.4 (2007/09/07)
- Akismet spam filtering introduced.
- 1.4.1 (2007/09/11)
- Add Spanish and Catalan translations.
- 1.4.2 (2007/09/13)
- Add German translation.
- 1.4.3 (2007/09/15)
- Add Polish translation.
- 1.4.4 (2007/09/17)
- Add French translation.
- 1.5 (2007/10/07)
- CAPTCHA introduced.
- 1.6 (2007/10/17)
- Mail (2) and UI improvement for admin page.
- 1.6.1 (2007/10/27)
- Sidebar widget support.
- 1.7 (2007/11/27)
-
New tag type:
[select+],[checkbox],[checkbox+]and[radio] - 1.7.1 (2007/12/06)
- Made wpcf7 variable global. Polish translation updated.
- 1.7.2 (2007/12/13)
- Bugfix. Czech translation added.
- 1.7.3 (2007/12/23)
- New
default:andlabel-firstoptions added. - 1.7.4 (2007/12/30)
select+andcheckbox+tag types removed.multipleandexclusiveoptions added.- 1.7.5 (2008/01/26)
- Two fixes and
include_blankoption. - 1.7.6 (2008/03/02)
- New
acceptancetag added.
1,401 replies on “Contact Form 7”
Ajay, something happened to your site…
http://google.com/safebrowsing/diagnostic?tpl=safari&site=www.law9.com&hl=en-us
It’s working great now (before mails could not be sent). MailPress fixed my mail problems (so not related to the plugin). However, I’m not able to use Askimet – whatever emal addy I put in gets considered spam… so I’m using the capcha (which is so simple – is it really usefull?).
I’ve noticed a strange behavior with this plug-in on a WP install that I manage. In IE7/Win, the form works on all pages of the site except for the homepage. I fixed it through brute force (in PHP, I check to see if the URL = “/”, and if it does, I set it to the page permalink URL), but thought it was worth mentioning. The behavior does not occur in FF/Win, FF/Mac or Safari/Mac.
Hello I love Contact Form 7 but am having a problem creating multiple contact forms. When I create a second form and look for the code to paste into the page the field remains brown and does not show the code to put into the wp admin page for the form. I’ve tried creating multiple forms and have pasted this code for a new form for my newsletter
[contact-form 1 "newsletter"] and nothing seems to be working. Can anyone help??? It would be greatly appreciated
Hi I just stated using your plugin and I’m loving it. But after getting it all I created I test it and all I got back in the email was the [text …] messages, not the actual input. Help? Thanks
Hi There got a Question. Is it possible to implement the contact-form into the sidebar without using widgets? Havent found the command yet. Help would be apriciated.
Thank you
[…] Contact Form 7 gives your readers a simple contact form to complete when they want to contact you. There are a lot of contact plugins out there, but I think this one is one of the easiest to configure and use. Download it here. […]
It was mentioned on the forum that future versions of the plugin would include a “thank-you” page option… How far off are we for that to happen? I would be more than happy to donate to the cause if I can get some help or an answer.
I have been trying to get the hacks to work on the forum and so far to no avail.
Thanks
Dan
It was mentioned on the forum that future versions of the plugin would include a “thank-you” page option… How far off are we for that to happen? I would be more than happy to donate to the cause if I can get some help or an answer.
I have been trying to get the hacks to work on the forum and so far haven’t had any luck.
Thanks
Dan
[…] Contact Form (Easy Contact or Contact Form 7) […]
I really liked your blog! i read 4 others that are on similar subjets, but they domt update very often, thanks.
[…] Contact Form 7 […]
Nice app, most of it is working fine. Please advise what code to use in the Message Body so that the selection from a Drop Down Menu (or a Radio Button) will show.
I’ve seen this question asked before and visiting the questioners site…it looks like he didn’t find a solution.
So if anyone out there is getting info from a Drop Down menu back to them in their emails…please help!
Thanks in advance.
Ian
First of all, thank you very much for a great plug-in!
I’m interested in changing the message of “Your message has been sent. Thanks!” I’ve found the message statement in your code but after changing it I do not see my changes after I re-activate the plug-in. I do see the field size changes I made at the same time, however.
Can you please explain what I might be doing wrong?
Thanks again!
Tom
Great Plugin! Its solved my contact page problem…
This is a very helpful plugin. Thanks for your hard work and sharing this plugin with all.
This is a very helpful Plugin. Thank you very much.
I would like to remove all the “breaks”
which are included automatically after each field name and each field. I would like to fully control the
layout with CSS. Coudl you please tell me what I need
to modify to suppress all the line breaks?
Many thanks.
Lise
I asked a stupid question. Please ignore my previous
question. Thanks !
Lise
Great plugin. But I have only one comment and one question….
Comment – if anyone is having troubles with this plugin not sending emails, it’s not the fault of this plugin, but your provider has disabled smtp mail functions. How to overcome this is to get the plugin Cimy Swift SMTP.
Question – how can I reduce the size of the text enter boxes to a reasonable length?
Thanks
Frank
Hi!
I love this plugin. However, I wanted the message (after you press send) “Your message was sent successfully. Thanks.” to be moved upwards. I mean I wanted it above “your name”. Its because when its down, there, its not noticeable til you browse down. How can I do that?
Or maybe in the future a pop-up message “Your message was sent successfully. Thanks.” :)
Thanks!
[…] Contact Form 7 […]
Hi,
I’ve just translated the “Messages” tab to Brazilian Portuguese.
Give me a buzz if you would like the rest of the stuff translated too.
“Messages – Hide
# Sender’s message was sent successfully
Sua mensagem foi enviada com sucesso. Obrigado.
# Sender’s message was failed to send
Sua mensagem não pôde ser enviada. Por favor, tente mais tarde ou entre em contato de outra maneira.
# Akismet judged the sending activity as spamming
Sua mensagem não pôde ser enviada. Por favor, tente mais tarde ou entre em contato de outra maneira.
# Validation errors occurred
Não foi possível validar sua mensagem. Por favor, revise os campos e tente novamente.
# There is a field that sender is needed to fill in
Por favor, preencha o(s) campo(s) apropriado(s).
# Email address that sender entered is invalid
Seu e-mail parece ser inválido. Por favor, revise-o.
# There is a field of term that sender is needed to accept
Para proceder, você deve aceitar os termos.
# Sender doesn’t enter the correct answer to the quiz
Sua resposta não está correta. Por favor, tente de novo.
# The code that sender entered does not match the CAPTCHA
O código digitado está incorreto. Por favor, tente de novo.
# Uploading a file fails for any reason
Não foi possível carregar o seu arquivo.
# Uploaded file is not allowed file type
Este tipo de arquivo não é permitido.
# Uploaded file is too large
O arquivo é grande demais.”
Bye the way, it’s a great plugin!
[…] form creator that is used here on ThatWordpressGuy.com is Contact Form 7. It offers the following […]
Hi, i have some problems with the new 1.9.5 Contact Form.
I get an error that the file was not located.. I updated it in wordpress. Some idè what i shoud do.?
Great form bytheway.!:D
I am using contact 7 forms I really need custom landing pages after the submit button was clicked successfully. Is there a code that can be added to the form to redirect to a specific url after submission.Need it ppc tracking.
Have an error message with the latest upgrade:
Warning: opendir(/home/taiwan/public_html/mydiscountfueloil.com/wp-content/uploads/wpcf7_uploads/) [function.opendir]: failed to open dir: No such file or directory in /home/taiwan/public_html/mydiscountfueloil.com/wp-content/plugins/contact-form-7/wp-contact-form-7.php on line 1558
I, just today, updated to the newest version of Contact Form 7 and all of a sudden the simple captcha stopped generating images. Is this a known issue? any fix or update for Simple captcha available/necessary? please help.
Thanks in advance!
Love this plugin. I’m having a problem, though. I was receiving emails with backslashes and html tags, so I changed it to send “html mail.” That fixed all the weirdness, but now I don’t have any paragraph breaks from the emails! Is there a fix for this?
hi
i installed the this Contact Form 7.
i love it. I received the email from contact form but there is no message. Any idea?
please see
http://shri.com.np/blog
Any chance of adding hidden fields to this? seems to be the one glaring omission from making this perfect :(
Also are you able to set values to drop down menus?
Turns out you can manually put in form tags into the contact form. So i guess this is the best option until updates.
As I notified you about earlier, the Swedish translation is out of date and badly translated. The Swedish community will gladly handle the translation and do have an updated version for 1.9.5.1, feel free to download it from http://wp-support.se/download/237/ and use it in the plugin-pakage.
issue i noticed recently:
in Opera on Linux (maybe others too) when the contact form displays, captcha doesn’t display. It simply says ‘captcha’. If try to submit, fails then displays captcha correctly.
great plugin!
[…] Contact Form 7 – Add forms to your sites. Just another contact form plugin. Simple but flexible. Contact Form 7 can manage multiple contact forms, plus you can customize the form and the mail contents flexibly with simple markup. The form supports Ajax-powered submitting, CAPTCHA, Akismet spam filtering and so on. […]
[…] Plugins ausprobiert und möchte Euch heute das WordPress Kontakformular Plugin Contact Form 7 von Takayuki Miyoshi vorstellen welches auch auf damosh.de eingesetzt […]
Hi,
thank you for this great working plugin. I am using it on my site and also made an article for my german visitors about contact form 7 and the captcha plugin.
Hi, I’m surprised my form doesn’t send data via ajax – can you please provide an idea why this could be happening? What does the sending method depend on… Thank you very much.
Update: Solution: If you wp_deregister_script(‘jquery’), then it’s necessary to enqueue it with wp_enqueue_script(), it’s not enough to link it directly in html.
The data from the form is not being sent to my e-mail address but says that the message has been sent?
Sorry for the re-comment but iam also looking fora solution to centre the form, i have centred it in alignment on my blog but it still remains sat on the left side of the page?
Mattias, sorry for my late response. I’ve updated the translation on the development version. You’ll see it on the next release. Thank you so much!
i got the same problem, the customize data form, didn’t send to my email..
Hi i love this widget much and i have a simple question here,
I’ve just input this code and it works perfect.
Photo Upload
[file PhotoUpload filetypes:jpeg|png|jpg|gif]
but how can i upload in multiple files?
[your-file] [your-another-file] didnt work out on this.
please help thanks!
[…] Contact Form 7. This add-on drives the contact form on the blog that you can use to send me messages. […]
Thanks for a great plugin. When i activate plugin, forms don’t has a background color and no borders, so I’ve make a little improvement in CSS, because it conflicts with my style. I’ve just add a one rule:
.wpcf7-form-control-wrap input, textarea {
background-color: #FFEFF8;
border: 1px solid #EC3A9E;
}
Also, it would be nice to add some lil’ icons to response messages.
Good Luck! Sorry for bad English :)
When I hit the submit button on the form it pulls up a page not found error screen instead of the messages options available in your plug-in. Any answers as to why that might be happening? Thanks for letting me know. Cheers!
Beware of using this with WordPress MU. It has a strange bug: if you use multiple forms, some forms may not show the ‘your message was sent successfully message’. It just has an empty “response” div with nothing in it. So your mails will be sent, but there will be no user feedback.
Since this form has a more complex ‘ajax’ feedback system — it’s basically impossible to find a way to make the form forward to a thank you page. If you look through the forums no one has really been able to make this happen.
If you are using WordPress MU I would think seriously before using this plugin.
This doesn’t work with Swift-SMTP, at least not reliably. I have disabled all other plugins… and no deal.
It looks like it has promise though…
I’m not getting any emails
I uploaded it, activated it and the form appears.
I left everything standard except in the “mail” part I put the email address I want it to go to.
When its all up I go to the form, fill it out and nothing happens lol.
it just says Email sent, thanks
but I dont get any message in my gmail email.
any ideas?
thanks
Does this work with wordpress 2.5.1?
marco
hi, i love this plugin. so far it’s the best plugin for email for wp. just one thing that i need to know: is it possible to do a conditional formatting in wp-form? the effect can be described as this:
you select something from a drop-down list, the the corresponding fields below changes according to the selection you’ve made. is it possible? please help.
thanks :)