JavaScript Coder

Can JavaScript email a form?

beginner form mail javascript email form mailto

NO! JavaScript can’t email a form! but, there are alternatives to send the form data to an email address.

There is no direct method provided by JavaScript to send the data submitted in the form to an email address.

The main concern for not providing a ‘JavaScript email form’ feature is security. Suppose there is a feature in JavaScript to send email. Some malicious coder can write a script to send email to some address immediately when you visit their page. This will reveal your email address to some third party without your knowledge. They will start filling your mail box with lots of spam messages! However, there are alternatives as explained below.

Using ‘mailto:’

You can use ‘mailto:me@mydomain.com’ in the action field of the form. When the user presses the submit button of the form, the browser will first show a warning box that the user’s email address will be revealed to the recipient. mailto dialog box

If the user decides to proceed, the form data will be sent to the address mentioned in the mailto: tag. The browser will open the default mail client to send the data by email.

Sample Code

<form action="mailto:you@yourdmainhere.com" method="post" enctype="text/plain" >
FirstName:<input type="text" name="FirstName">
Email:<input type="text" name="Email">
<input type="submit" name="submit" value="Submit">
</form>

See the sample code above at work: JavaScript mail Form Example 1

Notice that this method does not require JavaScript at all.

Disadvantages of ‘mailto:’ method

It is not possible to control the formatting of the form data. The data submitted in the form is sent by the browser. You can’t control the layout of the data.

Browser shows the warning window before sending the data. It may prevent the visitor from submitting the form.

Using Server side script to send email

The right way to send form submissions to email is by receiving the form submissions in a server-side script and then sending the email. The server side scripting language (like PHP Perl, ASP) has more features and facilities to send the email.

Learn More:

See Also