永发信息网

HTML实现form to mail

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

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

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

这样的方法,必须配合本机的邮件客户端使用,比如 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' => 'account@your.domain',
'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>
全部回答
你那样不行,那样还是需要用户来发送,而不是他填了表自动发送。 理论上纯HTML实现不了你的功能, 你把用户的信息做成表单,然后做一个后台页面,把这个表单提交给这个后台页面,然后可以使用CGI或者发邮件组件,可以实现自动发送功能。
mailto是一定要用户有客户端的碧土outlook等, 你可以选择用PHP程序,ASP程序来接收表单,再利用程序来发送邮件,例如你用PHP程序就可以这样写: $message = $_POST["body"]; //接收表单正文 $title = $_POST["TITLE"];//接收表单提交的邮件标题 $fromemal= $_POST["fromemal"]; //接收表单提交来的发件人邮件地址 mail($fromemal, $title, $message);
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' => 'account@your.domain', '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>
action="mailto:yourmail@mail.com" 这样的方法,必须配合本机的邮件客户端使用,比如 outlook 或 outlook express。 这种方法,可以指定送信地址,邮件标题和简单的邮件内容,复杂一点的内容需要手动填写再发送。 前提是要先配好邮件客户端的帐号,特别是 SMTP,如果配置不好是发不出去的。 性能取决于你的网络速度,电脑快慢以及操作熟练程度。 CGI 的方法是通过 web 服务器发送,只要有浏览器就可以,不需要启动另外一个程序,可以对输入的内容进行验证,如果有错可提醒。发送过程相对简单,一般来说一点按钮,就发出去了,发送的内容可以通过服务器端的程序(CGI)加工。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
最近突然无法登陆工商银行了!我用的360全套
八方汽贸地址在什么地方,我要处理点事
赶集是什么意思啊
天猫商城苹果旗舰店买的手机打算退款,商品拒
舒安商务旅馆地址有知道的么?有点事想过去
在学校里,校园里 也有很多的烦恼,怎么样才
国民路/山边街(路口)我想知道这个在什么地方
儿童用民谣吉他什么品位的好?
DNF龙骑士帕拉丁选什么好 龙骑与帕拉丁优劣分
考试涂卡要涂的怎么样,要把字母图的看不见吗
求作文《我最喜爱的老师》的提纲
百盛汽贸(信丰县工业园105国道)怎么去啊,我
丛常州到佛山怎么走
关于招商银行的信用卡使用问题
葫芦丝艺术培训中心在什么地方啊,我要过去处
推荐资讯
(x^2-4)|x^2-3x+2|+|sin(x+2)|的不可导点
石膏粉防水吗
媳妇和我妈之间关系已经水火不容了,我该怎么
什么视频比魔力视频好
改行打算学厨师了,该去哪学?
白掌只剩根和杆了能活吗
南昌大学第二附属医院在哪里啊,我有事要去这
什么 do you call the boy under the tree?
我家狗狗的后脚上各有五趾,为什么呢?
问道公示期的人物可以买吗?
体育教学设计
起点悬赏 怎么给回答的人金币呢??
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?