Do Mailto Forms Only Work On Web Servers?

I want to make a mailto: form that will sit on our network. It will only be for in-house users.

Will this work is the page is just a file on our network? Or does it have to be on a web hosting server to work?

I tried this:

<form action="" method="post" enctype="text/plain" name="form1" onSubmit="MM_goToURL('parent','thanks.htm');return document.MM_returnValue">

The goToURL part works just fine, but I didn't get the e-mail.

What do I have to change?

Who is Participating?
rdivilbissConnect With a Mentor Commented:
This will prefill the message including the subject line.


<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>New Page 1</title>

<form action=""><!--note I need nothing but the action-->
<p>From: <input name="from" value="" size="25"></p>
<p>Subject: <input name="subject" value="Test Mail" size="25"></p>
<p>Message: <input name="body" value="Test Message" size="25"></p>
<p><input type="submit" value="Submit"></p>

It works only if the person viewing the page also has a mail client such as Outlook.  It just instructs the browser to open the default mail client with a message partially filled waiting for the user to hit send.

In your case you usurped the default action (e.g. open the client) with the call to the thank you page and especially the return document.MM_returnValue part.
mksalvaAuthor Commented:
We have Outlook on our computers here, mine included, but when I clicked Submit, that did not happen. Did I leave out something essential?
Never miss a deadline with

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

No you put something bad in.

Take out the onsubmit event entirely.
mksalvaAuthor Commented:
I removed the onSubmit event and it worked. So onSubmit events are a no-no for this sort of thing?

Also, when the e-mail arrived, the subject line read "Form posted from Microsoft Internet Explorer." Is there a way that I can customize the subject line?

Thanks for your help.
mksalvaAuthor Commented:
If I only use the action, then all the words in the completed fields have plus signs (+) where the space bars should go. For example, if I type "This is a test" in a text field, the result in the e-mail looks like this:


If I use <form action="" method="post" enctype="text/plain" name="form1"> then the text looks normal:

This is a test

Is there an easy way to use the second method and still get a customized subject line?

That is the default encoding and I'm not sure that you will be able to change that.

If you want to add JavaScript to the mix, you could add onchange="javascript:this.value=escape(this.value)" to each field...

then you'll likely get This%20is%20a%20test but it may display correctly in the e-mail.
Mailto is really a horrible way to send mail from a web server.

If you have IIS, and can install the SMTP server, then you can send via ASP:

If you have PHP you can use the mail function.
mksalvaAuthor Commented:
What is IIS?  (I'm ignorant, I know...)

I just want to have a way for folks in our organization to send me requests for web site changes online.

What is your web server's operating system?
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.