You are here: Home » All Posts » Email Forms » Sending form submissions to email using ‘mailto:’

Sending form submissions to email using ‘mailto:’

in Email Forms

The simplest method to get the form submissions posted to you via email is by using “mailto:” in the action field of the form. However, this method has many drawbacks.
First let us see how we can use ‘mailto’ in a form.

How to set up ‘mailto’ in your HTML form

In the action field of the form, set the action as “mailto:youremailaddress” for example:

<form action="mailto:myforms@mydomain.com">

The sad part is that the behavior of such a form will be different in different browsers.

In Internet Explorer 6, on submitting the form it throws a message as shown below:

If you press ‘Yes’ then if the default email client is outlook express, outlook express is invoked and an email is sent with an attachment POSTDATA.ATT

What is POSTDATA.ATT?

When a form is submitted using the “mailto:” method, outlook express sends the submitted form data as an attachment POSTDATA.ATT. It is simply a text file and you can open it using notepad. However the file will contain the submitted form data in somewhat cryptic format.

If the form contains fields: ‘Name’, ‘Email’, ‘Address’ and submit, POSTDATA.ATT for a sample submission looks like this:

Name=john&Email=john@yahoo.com&Address=&Submit=Submit

How to get the form data in plain text

As you saw, it is difficult to read the POSTDATA.att. You can make the form data sent to be in readable form by making a small change in the form.

Add ‘enctype=text/plain’ in the form attributes. The form code becomes:

<form action="mailto:myforms@mydomain.com" enctype="text/plain" >

When this form is submitted, you will get the email in readable form. Like this:

Name=john
Email=john@yahoo.com
Address=
Submit=Submit

How to show a ‘Thank You’ page

You have successfully submitted the form. Now you want to show a confirmation page to the visitor that the form is submitted. Here is how to do it:

Suppose the name of the confirmation page is thanks.html Update the code for the form tag to:

<form action="mailto:myforms@mydomain.com" enctype="text/plain"onsubmit="location.href='thanks.html';" >

How to customize the subject of the email

By default, the subject of the email that you receive from such a form will read something like: “Form posted from Microsoft Internet Explorer”
The following code shows the change:

<form action= "mailto:myforms@mydomain.com?subject=myform_submission" enctype="text/plain" onsubmit="location.href='thanks.html';" >

Drawbacks of ‘mailto’ email form

We have seen that using mailto is simplest way to get your HTML form submissions via email.
However, there are many disadvantages for this method.

  1. Your visitor must have Internet Explorer as the browser and Outlook Express as the default client for this to work correctly.
  2. Even if your visitor is using Internet Explorer, but the default mail client is different, your mailto form will not work.
  3. Even if your visitors have IE and has configured Outlook Express as default mail client, they may press cancel on the warning dialog that pops up.
  4. According to the HTML specifications, the action field of the form should be a correctly formed HTTP URL. So ‘mailto:’ is not valid for the action field.

Use a form mail script

The only consistent alternative to ensure that you get the email form the form submissions is to use a form mail script.
See: Using form mail scripts

Be Sociable, Share!
  • debashish

    i want to know how create a form and coding ..when i submit then all documents sent to email address

  • Richard

    Hi There,
    I have created a Petition letter where the visitor can only enter their name and sign.
    I would like to add a send button to an e-mail address where it also collects the petition along with the vistor’s name etc, without retyping the whole petition again.
    It only needs to send what was created before to an e-mail address.
    I would very much appreciate if I can be shown the code so that I can add it on to my coding.
     
    Thank you

  • http://hashmihealthcare Hafeez Rizvi

    I want to know how to make feedback form on email.
    means i don’t want to send any link on the email. i want that directly show feed back form on client email.id. please help me.

  • utkarsha

    hii I created online payment form where visitor can enter their personal detail and order anything
    I would like to add “order now” button …when visitor click on “order now” button their full information sned to email address

  • http://yahoo.com mhy

    nice one.. thank you for creating this

Previous post:

Next post: