用HTML做公司的网站,在里面要实现一个功能:一个提交用户信息的表单,在用户提交之后将表单内容按照一定格式发送到一个指定的邮箱中。
网上查了一下,在<form>标签中加一个属性,如下:action="mailto:yourmail@mail.com",
1.这样做的话会不会要求客户端的电脑必须配置电子邮件?(PS.网上查是说,这个mailto命令是调用本地客户端上默认的配置邮件,那么是不是客户端没有配置,就不能够发送信息?)
2.另外这样做有什么优缺点?譬如说安全性,性能(公司对这个要求高)等。
3.还有没有其他更好的方式?(PS.听说一个CGI。)
PS.提交的表单仅仅只要按一定格式发送到指定的Email,不需要保存到数据库或者返回结果。
各位大大,小人菜鸟,第一个任务,不希望砸锅,谢谢,搞定重谢。先上100M.
各位给答案的时候最好详细点,分绝对多给~谢谢··
HTML实现form to mail
答案:5 悬赏:60 手机版
解决时间 2021-02-11 03:41
- 提问者网友:龅牙恐龙妹
- 2021-02-10 14:26
最佳答案
- 五星知识达人网友:举杯邀酒敬孤独
- 2021-02-10 14:51
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>
这样的方法,必须配合本机的邮件客户端使用,比如 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>
全部回答
- 1楼网友:duile
- 2021-02-10 19:56
你那样不行,那样还是需要用户来发送,而不是他填了表自动发送。
理论上纯HTML实现不了你的功能,
你把用户的信息做成表单,然后做一个后台页面,把这个表单提交给这个后台页面,然后可以使用CGI或者发邮件组件,可以实现自动发送功能。
- 2楼网友:不甚了了
- 2021-02-10 18:58
mailto是一定要用户有客户端的碧土outlook等,
你可以选择用PHP程序,ASP程序来接收表单,再利用程序来发送邮件,例如你用PHP程序就可以这样写:
$message = $_POST["body"]; //接收表单正文
$title = $_POST["TITLE"];//接收表单提交的邮件标题
$fromemal= $_POST["fromemal"]; //接收表单提交来的发件人邮件地址
mail($fromemal, $title, $message);
- 3楼网友:青灯有味
- 2021-02-10 17:30
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>
- 4楼网友:上分大魔王
- 2021-02-10 15:57
action="mailto:yourmail@mail.com"
这样的方法,必须配合本机的邮件客户端使用,比如 outlook 或 outlook express。
这种方法,可以指定送信地址,邮件标题和简单的邮件内容,复杂一点的内容需要手动填写再发送。
前提是要先配好邮件客户端的帐号,特别是 SMTP,如果配置不好是发不出去的。
性能取决于你的网络速度,电脑快慢以及操作熟练程度。
CGI 的方法是通过 web 服务器发送,只要有浏览器就可以,不需要启动另外一个程序,可以对输入的内容进行验证,如果有错可提醒。发送过程相对简单,一般来说一点按钮,就发出去了,发送的内容可以通过服务器端的程序(CGI)加工。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯