Email Essentials
Email Essentials vastly reduces the chances of your emails being marked as spam or being rejected. Originally a debugging tool, it has grown into a full-fledged email enhancement plugin. Please note that this plugin is not a “we support any type of transport” Email plugin. For other protocols than SMTP, but rather to enhance the email sending capabilities of WordPress. If you need to send emails with other protocols than SMTP, this plugin is not for you. You might want to look at plugins like Post SMTP (not affiliated). And since version 6.0.0, after more than 10 years of development and internal use, this plugin is now a FOSS plugin, meaning it is free to use, modify and distribute under the GPLv2 license. In return, we ask you to support the development of this plugin by contributing to the codebase, reporting bugs, and helping others in the community. Responsible disclosure: If you find a vulnerability, please email us at
[email protected]. Features Set a good From name and email address, automatically correcting it if needed. For example, a contact form is sent from the visitors email address, resulting in an invalid Sender address. This plugin will correct it to a valid email address. This plugin automatically corrects it. Correct envelope-from address; often forgotten, but important for deliverability. Reformat as HTML with plain text alternative; will detect the use of HTML ensures that emails are sent as HTML with a plain text alternative. Process shortcodes in your email content. UTF8 recoding, to ensure that special characters are correctly encoded in the email. Email Essentials allows for adding CSS, header, footer, and body template using filters, see below. Convert CSS to inline styles for better support in email clients SMTP configuration Send emails to multiple addressees as separate emails S/MIME signing, using a supplied certificate, to ensure the authenticity of the email. DKIM signing, and providing all information needed to set up DKIM signing for your domain. Allow redirecting emails sent to the administrator to other email addresses based on the email subject. Allow redirecting emails sent to the moderators (e.g., for comments). Keep a history of outgoing emails (debugging, cleared on deactivation) Email receipt tracking (for investigative purposes only, see GDPR note) Re-send button for failed emails Allow sending emails delayed, to prevent sending too many emails at once. (Beta feature) Important Note This tool is for users who understand email delivery. If unsure, ask for help. Under GDPR, storing and tracking emails is prohibited. The history feature is for investigative purposes only! External services Email Essentials uses one external service by default, two if you create and define your own IP services. CloudFlare DNS over HTTPS (DoH). This is used to resolve domain names to IP addresses when (for example) checking SPF or DKIM records. In theory, it is possible to use PHPs own dns_get_record function, but in practice this often fails due to server DNS-resolve misconfiguration. Using CloudFlare’s DoH service ensures reliable DNS resolution. We only send the hostname (the domain part) to CloudFlare, no other data. Explicitly, we do NOT send any other information. The plugin can use an IP-address relay service to accurately determine the sender’s IP address. This is required to accurately check that the sender’s IP address is authorized to send email for the domain (SPF check). To use this, you will need to set up your own service, see documentation on filter acato_email_essentials_ip_services. Without this service, IP detection can be inaccurate because it will use the website itself as a relay. Use of a reverse proxy, load balancer etc. can lead to incorrect IP detection. WordPress Filters acato_email_essentials_settings — Filter plugin settings. acato_email_essentials_defaults — Filter default settings. acato_email_essentials_subject — Filter email subject. acato_email_essentials_body — Filter HTML body of the email. acato_email_essentials_head — Filter HEAD section of HTML email. acato_email_essentials_css — Filter CSS for the email. acato_email_essentials_minify_css — Filter CSS minification. acato_email_essentials_mail_is_throttled — Check if mail should be throttled. acato_email_essentials_mail_throttle_time_window — Set mail throttle time window. acato_email_essentials_mail_throttle_max_count_per_time_window — Set max emails per time window. acato_email_essentials_mail_throttle_batch_size — Set mail batch size. acato_email_essentials_ip_services — Define custom IP services for accurately determining the sender’s IP address. acato_email_essentials_ip_service — Filter individual IP service URLs. acato_email_essentials_website_root_path — Filter to supply the correct website root path in case of non-standard setups. acato_email_essentials_development_tlds — Filter development/local TLDs. WordPress Filters in detail Plugin Settings acato_email_essentials_settings Parameters: – (array) $settings The current settings of the plugin. Expected return: – (array) The new settings of the plugin. acato_email_essentials_defaults Parameters: – (array) $defaults The current default settings of the plugin. Expected return: – (array) The new default settings of the plugin. Email Content acato_email_essentials_subject Parameters: – (string) $the_subject Subject for the email. – (PHPMailer) $mailer The PHPMailer object (by reference). Expected return: – (string) The (altered) Subject. acato_email_essentials_body Parameters: – (string) $should_be_html A text that should be html, but might not yet be, your job to make a nice HTML body. – (PHPMailer) $mailer The PHPMailer object (by reference). Expected return: – (string) A text that should be html. acato_email_essentials_head Parameters: – (string) $the_head_section HTML that is the HEAD section of the HTML email. – (PHPMailer) $mailer The PHPMailer object (by reference). Expected return: – (string) The altered HEAD section of the HTML email. acato_email_essentials_css Parameters: – (string) $the_css CSS for the email (empty by default). – (PHPMailer) $mailer The PHPMailer object (by reference). Expected return: – (string) The (altered) CSS. acato_email_essentials_minify_css Parameters: – (string) $css CSS to be minified. Expected return: – (string) The minified CSS. Mail Throttling acato_email_essentials_mail_is_throttled Parameters: – (bool) $is_throttled Whether the mail is currently throttled. – (string) $ip The sender’s IP address. – (int) $mails_recently_sent Number of mails recently sent from this IP. Expected return: – (bool) Whether the mail should be throttled. acato_email_essentials_mail_throttle_time_window Parameters: – (int) $time_window Time window in seconds for counting sent emails. Expected return: – (int) The (altered) time window in seconds. acato_email_essentials_mail_throttle_max_count_per_time_window Parameters: – (int) $count Maximum number of emails allowed per time window. Expected return: – (int) The (altered) maximum count. acato_email_essentials_mail_throttle_batch_size Parameters: – (int) $size Number of emails to send in a single batch. Expected return: – (int) The (altered) batch size. IP Detection acato_email_essentials_ip_services Parameters: – (array) $services The current list of IP services used to determine the sender’s IP address. Expected return: – (array) The (altered) list of IP services. The services must be keyed with ipv4, ipv6 and dual-stack. The values must be URLs that return the IP address in plain text. The dual-stack service should return an IPv6 address if available, otherwise an IPv4 address, never both. You can set-up your own service like this; You will need a webserver that can run PHP, and you need a DNS service that allows you to manually add records. You will need three webspaces, for example; ipv4.myservice.com, ipv6.myservice.com and dual-stack.myservice.com. You could use the same webspace for all three, but you will still need three subdomains on the service. For the ipv4 subdomain, ONLY register an A record, pointing to the webserver’s IP address. For the ipv6 subdomain, ONLY register an AAAA record, pointing to the webserver’s IPv6 address. For the dual-stack subdomain, register both an A and an AAAA record, pointing to the webserver’s IP addresses. Create a file called index.php in each of the webspaces with the following content: php <?php header('Content-Type: text/plain'); print $_SERVER['REMOTE_ADDR']; That’s it. You can now use these services in the plugin settings like this; `php add_filter(‘acato_email_essentials_ip_services’, ‘my_custom_ip_services’); function my_custom_ip_services($services) { // Add your custom services here $services[‘ipv4’] = ‘https://ipv4.myservice.com’; $services[‘ipv6’] = ‘https://ipv6.myservice.com’; $services[‘dual-stack’] = ‘https://dual-stack.myservice.com’; return $services; } ` acato_email_essentials_ip_service Parameters: – (string) $service The URL of the IP service for the given type. – (string) $type The type of IP service (‘ipv4’, ‘ipv6’, or ‘dual-stack’). Expected return: – (string) The (altered) IP service URL. Filter to modify individual IP service URLs based on type. acato_email_essentials_website_root_path Parameters: – (string) $path The current website root path. Expected return: – (string) The (possibly altered) website root path. Filter to supply the correct website root path in case of non-standard setups. acato_email_essentials_development_tlds Parameters: – (array) $tlds Array of top-level domains considered as development environments. Expected return: – (array) The (altered) array of development TLDs. Filter to modify which TLDs are treated as development/local environments. Default values are ‘local’ and ‘test’. Scripts/styles In the public/scripts and public/styles folder you find the JS and CSS files used in the plugin admin area. These files are processed with Webpack, just so it works in all recent browsers. Script is nearly identical to the source. You can find the source files in the src/scripts and src/styles folders. If you feel the need to modify these files, you can change them there, and run npm install ; npm run build to create the production files. Translation files You can use npm run i18n to generate the POT file for translation, update the PO files in the languages folder, and compile to MO/php files. This is a one-task-does-all; run it, change the translations, run it again. Done. See package.json for more details or individual commands. Tools In the tools folder you will find a script to generate DKIM keys, should you want to use DKIM signing. rename to remove the .txt extension and run it in a shell. Tools are provided as-is, without support. Use at your own risk. Read the scripts before using them. You DO NOT HAVE TO USE these scripts, you can generate DKIM keys with any tool you like. Arbitrary section For advanced configuration and custom IP services, see the plugin documentation or source code.
Top keywords
- email60×3.47%
- email essentials35×2.02%
- essentials35×2.02%
- acato33×1.91%
- acato email32×1.85%
- acato email essentials32×1.85%
- ip32×1.85%
- services21×1.21%
- return19×1.10%
- service17×0.98%
- emails16×0.92%
- string16×0.92%
WPForms – AI Form Builder for WordPress – Contact Forms, Payment Forms, Survey Form, Quiz & More
WordPress Contact Form Builder Plugin WPForms is an AI drag & drop WordPress form builder that’s EASY and POWERFUL. Create contact forms, feedback forms, subscription forms, payment forms (including Stripe, Square & PayPal), and other types of forms for your site in minutes with just a few clicks! At WPForms, user experience is our #1 priority. Our pre-built form templates and workflows make WPForms the most beginner-friendly contact form plugin on the market. You don’t have to hire a developer. Create a form in less than 5 minutes with our drag & drop form builder, using a template or just asking AI to get a head start. WPForms Pro This plugin is the Lite version of WPForms Pro, which comes with email subscription forms, multi-page contact forms, file uploads, conditional logic, and extra payment integrations. Click here to purchase the best premium WordPress contact form plugin now! AI-Powered Drag & Drop Contact Form Builder Create custom contact forms in minutes with our easy-to-use drag and drop online form builder or just ask AI to build it for you. But don’t just take our word for it. See what WordPress experts are saying: WPForms is by far the easiest form plugin to use. My clients love WPForms and it’s one of the few plugins they can use without any training. As a developer I appreciate how fast, modern, clean and extensible it is. Bill Erickson – Expert WordPress Consultant Pre-built Form Templates WPForms comes with 2100+ pre-built form templates. Whether you’re looking to create a simple contact form, marketing form, request a quote form, donation form, payment order form, registration form, survey form, quiz form, Stripe payment form, or a subscription form, we have a form template already prepared and ready to use. Mobile Ready, SEO Friendly, and Optimized for Speed WPForms contact forms are 100% responsive and mobile-friendly. We optimized every query on the frontend and the backend to ensure that it’s one of the fastest WordPress contact form plugins. You can embed your contact form on any page with an optimized title and description, so WPForms is one of the most SEO friendly contact form plugins too. Fields & Features You Need to Succeed With star ratings, file uploads, repeater fields, survey fields, and multi-page contact forms, you can easily build the right custom form for your site’s needs. Plus, integrate your contact forms with an email marketing service in just a few steps and collect payments with Stripe, PayPal, and Square for bookings and orders without the need for a dedicated eCommerce plugin. See what one business owner has to say about their WPForms contact form: As a business owner, time is my most valuable asset. WPForms allows me to create smart contact forms with just a few clicks. With their pre-built form templates and the drag & drop builder, I can create a new form that works in less than 2 minutes without writing a single line of code. Well worth the investment. David Henzel – Co-founder of MaxCDN Surveys & Polls Create custom survey forms like Survey Monkey. Our WordPress survey plugin addon comes with smart survey fields including Likert scale, star ratings, and NPS. Embed your surveys and polls anywhere in WordPress. Use our survey reporting tools to customize graphs, export them for presentations, and display aggregate results. You can also share poll results instantly when collecting votes. Default WordPress Forms Aside from building simple contact forms, WPForms also helps you create better default WordPress forms, like custom WordPress login forms and custom WordPress user registration forms. Create a password-protected contact form or even a members-only contact form. Bloggers and publishers can use our WordPress post submission forms to accept guest posts, testimonials, and more. Payment Forms, Donation Forms, Booking Forms, and More While WPForms started out as a contact form plugin, it has evolved into a powerful custom forms solution for any type of payment or booking form. WPForms integrates with PayPal, Stripe, Square Payments, Authorize.Net, and Mercado Pago so you can easily accept credit card payments or take payments via PayPal. Bonus: you can also take signatures. We’re proud to be a Stripe Verified Partner. This partnership allows us to build the best Stripe integration with early access to features. You can use our Stripe integration to accept both one-time payments as well as recurring payments while syncing all form data to your Stripe account. Custom Calculator Forms Using the WPForms Calculations addon, you can build custom formulas and display results on the frontend. Create simple arithmetic calculations or build complex conditional calculations with rounded values, averages, time ranges, and more! It’s the best calculator plugin for WordPress. Forms Optimized for Conversions With our Form Pages addon, you can create distraction-free custom form landing pages to increase conversions. To improve form completion rates, we created Conversational Forms which helps you make your feedback forms feel more human by adding an interactive layout. (See Conversational Forms Demo). Easy to Customize and Extend You can easily customize your contact forms with our section dividers, HTML blocks, and CSS. Embedding forms in Elementor and Divi has never been easier thanks to our native integrations. We also know that our developer friends may want more control, so we added tons of hooks and filters. Full WPForms Feature List Online form builder – powerful drag & drop contact form builder. Create WordPress contact forms, payment forms, and other online forms without writing any code. 100% mobile responsive. GDPR friendly. Payment Forms – Take payments, donations, down payments, recurring payments, service payments with our Stripe (FREE) integration. Form templates pre-built and ready to import. Form styling for fields, labels, and buttons. Spam protection built in, plus integrations with hCaptcha, Google reCAPTCHA, and Cloudflare Turnstile. AI Forms to automatically create and refine forms through natural conversation. Instant form notifications via email. Custom form confirmations with success messages or thank you pages. Smart phone field that adapts to your visitor’s location. AI Choices to automatically populate Multiple Choice, Checkboxes, and Dropdown field options. Coupons for free shipping and sale discounts. Calculator forms for payment, shipping, billing, and more. File upload fields for user submissions. Multi-page forms with progress bars. Smart conditional logic to show or hide fields. Repeater field that enables the person filling out the form to easily add another field or group of fields to fill out. Perfect for group registration forms, custom order forms, and more. Signatures for agreements or payment forms. User registration forms and custom login forms. Post submission forms to collect user-generated content. Geolocation to collect location data along with submissions. Surveys and Polls with interactive reports. Quizzes with graded tests, personality quizzes, and scored assessments, plus AI-generated questions. Form abandonment detection to collect partial form submissions. Form locker to control access using passwords, dates, and more. Offline forms to collect submissions without an internet connection. Form landing pages to boost conversions. Conversational forms to boost overall completion rates. Lead forms to get more submissions with multi-step layouts. Webhooks to send data without third party connectors. User Journey reports so you know which content is driving form conversions. Save and Resume to let visitors save and come back later. Entry Automation to export and delete form entries on a daily, weekly, or monthly basis. Integrations Google Sheets Zapier PayPal Commerce Stripe – We’re a Stripe Verified Partner for Payments. Square Authorize.Net Mercado Pago Mailchimp AWeber Campaign Monitor GetResponse Constant Contact Airtable Notion Drip ActiveCampaign HubSpot Brevo MailerLite MailPoet ConvertKit Klaviyo SendGrid Salesforce Slack Dropbox Google Calendar Google Drive Twilio Pipedrive Make Zoho CRM You can see why WPForms is the best WordPress contact form plugin on the market! Want to unlock these features? Upgrade to our Pro version. Credits This plugin is created by Syed Balkhi. Branding Guidelines WPForms® is a registered trademark of WPForms LLC. When writing about the contact form plugin by WPForms, please make sure to uppercase the initial 3 letters. WPForms (correct) WP Forms (incorrect) wpforms (incorrect) wpform (incorrect) Notes WPForms is absolutely, positively the most beginner-friendly WordPress contact form plugin on the market. It is both easy and powerful. We took the pain out of creating online forms and made it easy. Check out all WPForms features. Also, I’m the founder of WPBeginner, the largest WordPress resource site for beginners. It was a huge priority for me to make a WordPress contact form plugin that beginners can use without any training. I feel that we have done that here. I hope you enjoy using WPForms. Thank you, Syed Balkhi