HTML实现form to mail

用HTML做公司的网站,在里面要实现一个功能:一个提交用户信息的表单,在用户提交之后将表单内容按照一定格式发送到一个指定的邮箱中。
网上查了一下,在<form>标签中加一个属性,如下:action="mailto:[email protected]",
1.这样做的话会不会要求客户端的电脑必须配置电子邮件?(PS.网上查是说,这个mailto命令是调用本地客户端上默认的配置邮件,那么是不是客户端没有配置,就不能够发送信息?)
2.另外这样做有什么优缺点?譬如说安全性,性能(公司对这个要求高)等。
3.还有没有其他更好的方式?(PS.听说一个CGI。)

PS.提交的表单仅仅只要按一定格式发送到指定的Email,不需要保存到数据库或者返回结果。

各位大大,小人菜鸟,第一个任务,不希望砸锅,谢谢,搞定重谢。先上100M.
各位给答案的时候最好详细点,分绝对多给~谢谢··

1、创建一个HTML文件,命名为test.html,用于介绍form表单的各个元素。

2、创建一个form表单,以<form>开头,以</form>结束标签结尾。

3、在test.html中,编写三个input元素,实现一个输入框,一个单选,这三个元素必须有name属性,表单提交时必须有name属性才能正常提交。

4、在页面中添加一个提交的按钮,类型为submit,用于点击提交表单内容,这个也是必须的。

5、在form标签中增加action属性,这个属性用来设置表单提交的地址,这个地址用于接收并处理表单提交过来的数据,也是必须的。

6、为form表单添加method属性,这个属性用于设置数据提交的方式,有两种方式,一种是GET方式,即在URL中传递表单参数,另一种是POST方式,直接提交表单参数。

7、form表单还有一个name属性,一个表单的情况下可以不设置,但同一个页面有多个表单时,必须设置以区分不同的表单。

8、至此,完成表单的设置。以上的参数设置正常,表单才能正常提交数据。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-15
action="mailto:[email protected]"

这样的方法,必须配合本机的邮件客户端使用,比如 outlook 或 outlook express。
这种方法,可以指定送信地址,邮件标题和简单的邮件内容,复杂一点的内容需要手动填写再发送。
前提是要先配好邮件客户端的帐号,特别是 SMTP,如果配置不好是发不出去的。
性能取决于你的网络速度,电脑快慢以及操作熟练程度。

CGI 的方法是通过 web 服务器发送,只要有浏览器就可以,不需要启动另外一个程序,可以对输入的内容进行验证,如果有错可提醒。发送过程相对简单,一般来说一点按钮,就发出去了,发送的内容可以通过服务器端的程序(CGI)加工。

从简单性和方便性来说,第二种方式更好,因为任何一台上网的机器都可以做到。第一种方式只能在自己的机器上实现。

给你一个用 php 发邮件的例子

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>通过网页发邮件</title>
</head>
<body>
<center>
<?php
/**
* 发送邮件
*/
function _sendMail($mail){
//mb_internal_encoding('UTF-8');
//mb_language('chinese');
$fromName = mb_encode_mimeheader('发信人');
$headers = "From: $fromName<{$mail['from']}>";
$headers .= "\nX-Mailer: PHP/" . phpversion();
// 送信
return mb_send_mail($mail['to'], $mail['subject'],$mail['body'], $headers);
}

//取得从页面上传来的数据,生成邮件参数
$mail = array(
'from' => '[email protected]',
'to' => $_REQUEST['to'],
'subject' => $_REQUEST['subject'],
'body' => $_REQUEST['body']
);

//发送
$ret = _sendMail($mail);
if($ret === true) {
echo '邮件已经发出。<br>';
} else {
echo '邮件发送失败。<br>';
}

?>

<br />
<br />
<a href="javascript:history.back();">返回</a>
      
<a href="/index.html">回到首页</a>
</center>
</body>
</html>
第2个回答  推荐于2018-02-21
head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>通过网页发邮件</title>
</head>
<body>
<center>
<?php
/**
* 发送邮件
*/
function _sendMail($mail){
//mb_internal_encoding('UTF-8');
//mb_language('chinese');
$fromName = mb_encode_mimeheader('发信人');
$headers = "From: $fromName<{$mail['from']}>";
$headers .= "\nX-Mailer: PHP/" . phpversion();
// 送信
return mb_send_mail($mail['to'], $mail['subject'],$mail['body'], $headers);
}

//取得从页面上传来的数据,生成邮件参数
$mail = array(
'from' => '[email protected]',
'to' => $_REQUEST['to'],
'subject' => $_REQUEST['subject'],
'body' => $_REQUEST['body']
);

//发送
$ret = _sendMail($mail);
if($ret === true) {
echo '邮件已经发出。<br>';
} else {
echo '邮件发送失败。<br>';
}

?>

<br />
<br />
<a href="javascript:history.back();">返回</a>

<a href="/index.html">回到首页</a>
</center>
</body>
</html>本回答被提问者和网友采纳
第3个回答  2010-03-17
mailto是一定要用户有客户端的碧土outlook等,

你可以选择用PHP程序,ASP程序来接收表单,再利用程序来发送邮件,例如你用PHP程序就可以这样写:

$message = $_POST["body"]; //接收表单正文
$title = $_POST["TITLE"];//接收表单提交的邮件标题
$fromemal= $_POST["fromemal"]; //接收表单提交来的发件人邮件地址

mail($fromemal, $title, $message);
第4个回答  2010-03-15
你那样不行,那样还是需要用户来发送,而不是他填了表自动发送。
理论上纯HTML实现不了你的功能,
你把用户的信息做成表单,然后做一个后台页面,把这个表单提交给这个后台页面,然后可以使用CGI或者发邮件组件,可以实现自动发送功能。