【发布时间】:2021-03-28 10:14:59
【问题描述】:
我想将从表单收集的数据发送到我的电子邮件,我尝试使用“mailto”功能,但我正在寻找一种自动发送数据的方法,而无需用户打开他的电子邮件。 我用这个脚本试图做到这一点,但它没有按照我想要的方式工作,它仍然打开了邮箱“框”。我用来尝试这个的代码是这样的:
function getCookie(name){
var cname=name + "=";
var dc=document.cookie;
if (dc.length > 0){
begin=dc.indexOf(cname);
if (begin != -1){
begin += cname.length;
end=dc.indexOf(";", begin);
if (end == -1) end=dc.length;
return unescape(dc.substring(begin, end));
}
}
return null;
}
function setCookie(name, value){
var now=new Date();
var then=new Date(now.getTime() + 31536000000);
document.cookie=name + "=" + escape(value) + "; expires=" + then.toGMTString() + "; path=/";
}
function getInfo(form){
form.info.value="Browser Information: " + navigator.userAgent;
}
function getValue(element){
var value=getCookie(element.name);
if (value != null) element.value=value;
}
function setValue(element){
setCookie(element.name, element.value);
}
function fixElement(element, message){
alert(message);
element.focus();
}
function isMailReady(form){
var passed=false;
if (form.fullname.value == ""){
fixElement(form.fullname, "coloque seu nome.");
}
else if (form.email.value.indexOf("@") == -1 || form.email.value.indexOf(".") == -1){
fixElement(form.email, "coloque um e-mail válido.");
}
else if (form.message.value == ""){
fixElement(form.message, "coloque uma mensagem.");
}
else{
getInfo(form);
passed=true;
}
return passed;
}
【问题讨论】:
-
你应该先自己尝试一下。你都尝试了些什么?你可以为此做一些自己的研究。
-
我做到了,我使用了一个我在这里得到的脚本,但它做同样的事情,当你点击提交时,它会打开邮件“框”
-
将表单数据发送到您的服务器并让服务器发送邮件。 Stack Overflow 有很多关于这个的问题。
-
您应该使用 PHP 发送邮件。或者,如果您的托管服务商有邮寄服务,请使用它。
-
JavaScript 不能自己发送邮件。通过
mailto:使用用户的邮件程序,或者发送到执行此操作的服务器脚本。
标签: javascript php html email mailto