每次加载页面时我都需要发送一封电子邮件(默默地)。 我试过下面的代码:
<html>
<head>
<script language="javascript" type="text/javascript">
var email = "h.kamrava@yahoo.com"
var subject = "test"
var body = "Hello world"
document.write("<form name="form" action=\"mailto:"+ email +"\?subject="+ subject +"\&body="+ body +"\" method=\"post\" enctype=\"text/plain\"></form>")
</script>
</head>
<body onload="document.form.submit()">
</body>
</html>
这对我不起作用!我究竟做错了什么? TNX
答案 0 :(得分:2)
我认为你不能通过表格,特别是邮寄表格来做同样的事情。在任何一种情况下,您所做的都不会保持沉默,因为它要求用户发送该电子邮件。 mailto:简单地向用户呈现使用他们自己的客户端发送电子邮件的方式。
如果您想从HTML文档中快速发送电子邮件,请使用mailto:from a anchor,然后等待用户点击它或强制它点击。
<a href="mailto:hello@world.com">My link</a>
如果你可以使用PHP或其他一些服务器端语言,它会更容易和“沉默”。查看PHP的mail()功能,它允许您向任何人发送电子邮件。
答案 1 :(得分:2)
我建议你让服务器执行此操作,例如PHP mail,而不是让JS执行此操作。您可以在页面加载时向服务器发送请求,以告知服务器向目标发送电子邮件。那样:
触发它的请求可以是任何东西,比如加载1x1 gif,脚本,AJAX或其他任何内容。
答案 2 :(得分:1)
你需要为此目的使用ajax。 例如,您可以使用JQuery ajax,如下所示:
$(document).load('ajax/mail.php?email=exp@mail.com&subject=test&body=hi')
然后在php页面中使用mail()函数发送它
答案 3 :(得分:0)
编辑:看一下表单代码,我可以看到这实际上不会发送电子邮件......但这就是你使用javascript提交表单的方式。如果您想以静默方式发送电子邮件,则需要发布到某些后端服务。
尝试将所有内容放入加载处理程序:
<html>
<head>
<script language="javascript" type="text/javascript">
function sendEmail(){
var email = "h.kamrava@yahoo.com"
var subject = "test"
var body = "Hello world"
document.write("<form name="form" action=\"mailto:"+ email +"\?subject="+ subject +"\&body="+ body +"\" method=\"post\" enctype=\"text/plain\"></form>");
document.form.submit();
}
</script>
</head>
<body onload="sendEmail()">
</body>
</html>
答案 4 :(得分:0)