Email Before Download

A Free WordPress Plugin

Plugin Directory Page

WordPress has asked us for some updates to the code of our plugin.

We hope to have it back in the Plugin Directory very soon. Our changelog below will be updated accordingly. Thanks.

Email Before Download presents your users with a form where they submit information, like their email address, prior to receiving a download. This plugin integrates with the popular Contact Form 7 and Download Monitor plugins.

Email Before Download started as a plugin we developed for personal in-house needs, and quickly realized this could be useful to other WordPress users. At that point, we made the decision to release the plugin for anyone to use.

Prior to installing Email Before Download, please confirm that both Contact Form 7 and Download Monitor are already installed and in use on your website.

This was intuitive and worked seamlessly with Contact form 7 and Download Monitor.

I was up and running with email required downloadable forms in minutes.

Thanks for the great software!Dave, verified user

More Than
active installs
More Than
total downloads

Live Demos

Please complete the following for access to the free download. Please avoid using free email accounts like yahoo, hotmail, gmail, etc.

Your Name*

Your Email*

Please complete the following for access to the free download. Please avoid using free email accounts like yahoo, hotmail, gmail, etc.

Your Name*

Your Email*

Email Before Download Live Demo – Test Download
Email Before Download Live Demo – Test Download

Your Name*

Your Email*

  • DownloadID
  • Contact Form ID
  • Page
  • Can I export a list of download requests people have made?
    Yes. We store a log of the downloads and you can export a CSV file of this from the Email Before Download settings page in your admin screens.
  • What if I don’t use the Contact Form 7 and/or Download Monintor Plugins?
    You will not be able to use this version of Email Before Download without these dependent plugins. If you have specific reasons to avoid using the dependent plugins, please contact us and let us know the reason so we can take it into consideration.
  • Anything special I need to do with my contact form?
    If you decide to configure the Email Before Download option to send the user an email with a link to the download, then you will want to name the email field “your-email” as shown in the example screenshots. Outside of that, nothing special.
  • What happens after the user completes the form?
    By default, the user is presented with a link to download their file. There is also an option to email the user (with a link to the file and/or attachment) if you choose that route. You can even provide both the inline link as well as the email if you choose.
  • Are you changing any of my file or directory permissions?
    WordPress allows direct access to files in your upload directories using a direct URL and we do not change those permissions. We do provide an option to mask the URL to your downloads if you have cURL enabled.
* Made modifications to address items requested by “” such as ensuring further sanitization of email addresses and database inserts.
* Also, removed ability to access files directly from within the plugin folder.
* Changed the URL for downloads to use “ebd_dl” instead of “dl” just in case another plugin were to begin using the “dl” parameter in order to prevent possible conflicts. Due to these changes, download links from prior to EBD v4.0 will no longer work with EBD v4.0+.

* Made modifications to shorten the download URL and potentially improve email deliverability by removing “download.php” from the download link

* Made minor changes to support PHP 7.

* Fixed issue regarding the download button on some themes where download button would display in wrong format.

* Fixed issue related to SQL functions used in code.

* Updated deprecated WPDB escape functionality to new one.

* Updated to be compatible with Contact Form Version 3.9

* Fixed issues related to a recent release of Contact Form 7 version 3.9

* Fixed the issue with multiple download ids checkboxes when user selects hidden contact form option.
The checkbox can now be to the left or right, depending on the custom tag ( or )”

* Fixed the issue with loading contact form as XML to DOM parser, when html entities were breaking the validity of XML.

* Added new option that allows user to hide contact form until user selects at least one downloads (for multiple download ids )
* Added option that turns checkboxes to radio buttons (for multiple download ids)

* Fixed bug with single quotes that led to javascript error.

* Added support to new version of the Download monitor
* Modified download logic: If the masked option is turned on and Internet Explorer is detected, download will be forced.

* Two new fields added to the plugin: user_name and email
* CSV export now includes new fields
* Added checks for the existence of the new fields, adds them if needed
* In admin settings, added new option that changes Multiple Checkboxes’ default state
* Added new short code attribute that overrides admin settings for Multiple Checkboxes’ default state

* Removed extra spacing in multiple download output

* Create table SQL script updated (now the title column has utf8 character set and utf8_unicode_ci collation)
* Added a patch that checks this specific column and alters it if needed

* Fixed bug related to logging multiple downloads correctly
* Added field to CSV export
* Added PayPal button in Admin Panel
* Added character encoding in case it helps to support languages other than English

* Default multiple file downloads to pre-selected (checked) by default

* Minor fix for various multi-file issues and logging

* fixed event handling
* stubbed email_from, though it is not active

* New modification to help support for Contact Form 7 v3.0+

* Modification to help support for Contact Form 7 v3.0+
* Added ability to force a file download using attribute in shortcode
[contact-form-7 404 "Not Found"]

; Download Monitor Force Download Option is recommended for files stored in Download Monitor
* Added option in admin panel to clear Email Before Download log entries
* Minor fomatting updates to admin panel
* Updates to allow Download Monitor to track clicks/downloads of files accessed using various scenarios of the Email Before Download plugin; Download Monitor still does not track clicks when using the masked URL option of Email Before Download, but the Email Before Download log does track these

* Bigger export link
* Support for special characters in filenames like “&”
* Fix for empty page interaction
* Change of function name to avoid conflict with other plugins
* Support for left checkboxes on multiple file download form using “<ebd_left />”

* Minor cleanup of admin panel

Added ability to prevent specific domain names
Fixed download filename issue for .zip files

* Support multiple download selection (within shortcut code, use comma-separated list of download IDs: download_id=”1,2,3″ — within the contact form 7 form used for multiple download selection, ensure you place the tag “” where you want to checkbox list to be generated) as shown in screenshot 7
* Add more information in the download history EXPORT .csv file
* Added support for Download Monitor format code for the inline link that is displayed (within shortcut code, specify the format code: format=”1″)
* Allow overriding the default settings with the shortcode (i.e. within shortcode, use delivered_as=”Inline Link” even though the general setting in admin panel is setup for “Both” — options are “Inline Link”, “Send Email”, “Both”)
* Updates to avoid potential conflicts with other plugins
* Added ability to customize subject line when emailing file download

* Added ability to export log in CSV format from admin settings page.
* Added ability to mask download file’s URL if cURL is enabled.
* Added ability to expire the download link after a given timeframe.
* In addition to emailing a link to the file, added ability to email the file as an attachment.
* Added ability to download files outside of Download Monitor (within shortcode, use file=”” — no need to include download_id=”X” in this case).

* First Release.

  1. Simply search for “Email Before Download” inside your WordPress administration panel and install/activate


  1. Download from the Email Before Download page in the WordPress repository
  2. Upload the entire email-before-download folder to the /wp-content/plugins/ directory.
  3. Activate the plugin through the “Plugins” menu in WordPress.
  4. Locate the “Email Before Download” menu item in your WordPress Admin panel under “Settings” to configure.
  1. Create a contact form used by Email Before Download using Contact Form 7 and note the Contact Form ID
  2. Upload a file using Download Monitor and note the Download ID
  3. Navigate to the Post (or Page) you wish to include
  4. Add the following short code using the IDs collected in the first two steps

[email-download download_id="X" contact_form_id="Y"]

Example CSS

Example CSS can be found below or at CSSDesk.

Note: The icon used here is an example from IconFinder from You should make sure you are in compliance when using any images.

.ebd-box {
border: 1px solid #91c184;
-moz-border-radius: 10px;
border-radius: 10px;
-webkit-border-radius: 10px;
margin: 0 0 10px;
background: #c0f0b3 url('') no-repeat 18px 13px;
background-size:50px 50px;
font-family: Arial, Verdana, sans-serif;
font-size: 9pt;
color: #5c8a50;
padding: 16px 20px 8px 85px;
font-size: 12pt;
font-weight: bold;


Single File – Inline Link Displayed Upon Successful Form Submission Please complete the following for access to the free download. 

Your Name*

Your Email*

HTML with Inline CSS

Single File – Inline Link Displayed Upon Successful Form Submission Please complete the following for access to the free download. 

Your Name*

Your Email*

This plugin is offered under the GPLv2 license through the site.