কন্টাক্ট ফর্ম
এই অধ্যায়টি এখনও অনুবাদ হয়নি, তাই ইংরেজিতে দেখানো হচ্ছে।
এই পাতায়
Contact Form puts a form on the Contact page, keeps every message in an inbox in the admin panel, tells you by e-mail and in the bell, and lets you answer from the panel. Spam is stopped by a wall that never asks the visitor to solve a puzzle. The plugin is free and works with every licence.
Switching it on
- Make sure the site can send e-mail: Settings → E-mail → Save and send a test e-mail (see Settings, tab by tab).
- Admin → Plugins → Contact Form → Enable. The form appears at once on the Contact page that comes with the script (
/en/contact). - The Plugins group of the admin menu gets Messages, the inbox (a red number counts unread messages), and Contact form, the settings.
What the visitor sees
A heading ("Get in touch"), your contact details, then Your name, E-mail address, optionally Phone and Subject, the topics as buttons, Your message and Send message. Afterwards: "Message sent", your thank-you text and a reference such as #00012. The form needs JavaScript and speaks the visitor's language (to change a text, see Languages and translations).
The Contact form screen
Plugins → Contact form; Save the contact form at the bottom saves it all. View the page opens the page with the form.
| Setting | Default | What it does |
|---|---|---|
| Show the contact form | on | Off removes the form everywhere. |
| On which page | Contact | Any page, or — Only where [contact_form] is written —. [contact_form] in any page's text places it there too. |
| Where on the page | after the text | After, Before or Instead of the text of the page. |
| Heading, Text under the heading, Text after sending | empty | Empty: translated defaults. Your own words show as typed in every language. |
| Ask for a subject | on | |
| Ask for a phone number, The phone number is required | off | |
| Topics | four topics | One per line, shown as buttons. Empty: no topic. |
| Ask for consent before sending, Consent text | off | A box the visitor must tick. |
| E-mail, Phone, Address, Hours | empty | Contact details beside the form; empty ones are left out. |
| E-mail me when a message arrives | on | A notice with the message and Open in the admin panel. |
| Send the notice to | empty | Addresses, with commas. Empty: Send notices to of Settings → E-mail. |
| Send the visitor an automatic "we received your message", Subject of the automatic answer, Text of the automatic answer | on | Both may use {name}, {subject}, {topic}, {message}, {ref}, {site_name}, {site_url}. |
| Signature under your answers | Best regards, {site_name} | Under each answer you write. |
The spam wall
A message has to pass every layer before it is stored:
- Same site: the request comes from a page of this site.
- Rate limits per address, per hour and per day; 30 tries in ten minutes is hammering.
- Signed one-time token: fetched when the visitor first touches the form, signed with your installation's secret, good for two hours and one message.
- Timing: nobody writes a message in a few seconds.
- Proof of work: a small calculation in the browser, a blink on a phone, but costly for a bot sending thousands, and impossible without JavaScript.
- Honeypots: two hidden fields. A bot that fills them is told "sent", and nothing is kept.
- A real hand: keys pressed or the pointer moved, and a person pressed the button.
- A small sum (optional).
- Content: blocked senders and words, too many links, forum link code, the same text twice in a day, gibberish, optionally an e-mail domain that does not exist.
Layers 1 to 8 refuse the message. For layer 9 you choose the Spam folder or refusal; a blocked sender is always refused.
| Setting | Default | What it does |
|---|---|---|
| Shortest time to fill in the form (seconds) | 4 | 3 to 6 is right; 60 at most. |
| Proof of work (bits) | 16 | 8 to 22; each bit more doubles the work. |
| Messages per hour from one address, Messages per day from one address | 3, 10 | Per day is never below per hour. |
| Links allowed in a message | 2 | More is spam. |
| Empty Spam and Trash after (days) | 30 | The cron job removes older messages there. |
| A message that breaks a rule | kept in the Spam folder | Or is refused and not kept. Spam sends no notice and no automatic answer. |
| Also ask a small sum ("3 + 4 = ?") | off | An extra, visible layer. |
| Check that the e-mail domain exists | off | A DNS look-up; sending takes a moment longer. |
| Blocked words and phrases | casino, backlink … | One per line; checked in the name, subject and message. |
| Blocked senders | empty | An e-mail address, a domain (@example.com), an IP address or its start (203.0.113.*). |
Stopped by the wall counts the refused attempts by reason (Sent too fast, No sign of a person …) and says when the last one came. Set back to zero clears it.
The inbox
Plugins → Messages has the folders Inbox, Unread, Answered, Spam and Trash, and a search over name, e-mail, subject and text. Tick messages and choose under With the ticked ones…: Mark as read, Mark as unread, Move to Spam, Block the sender or Move to Trash. In Spam and Trash, Move to the inbox takes the place of the first two, and Delete for good is added.
Opening a message marks it read; beside it stand the time, language, IP address, page and browser, and whether the notice went out. A message in Spam says why it is there.
Answer below it is ready with a subject (Re: … #00012), "Hello" and your signature. Send the answer sends it from the sender of Settings → E-mail with the visitor's message quoted, and the message moves to Answered. An answer that could not be sent is kept, marked "Not delivered" with the reason. Block sender adds the address to Blocked senders and moves the message to Spam.
Notices
A new message rings the bell ("New message from …", or "3 new messages in the inbox"). Replying to the notice e-mail writes straight to the visitor.
Tips
- Everything that leaves by e-mail depends on Settings → E-mail. When notices do not come, send a test e-mail; the messages are in the inbox anyway.
- Leave the sum off unless spam gets through; the silent layers stop nearly everything.
- Messages keep the visitor's IP address and browser: mention the form in your privacy policy.
- Before switching the plugin off, remove
[contact_form]from your pages: without the plugin it shows as plain text.