我正在建立我的个人网站。在"联系"页面,我希望访客发送消息给我。一旦他们点击按钮,包含输入信息的电子邮件将被发送到我的电子邮件地址。我搜索了PHP实现的一些结果。但我希望得到一些关于html或javascript的建议。
我的以下代码可以激活电子邮件窗口。但我不希望访问者再次输入信息。我想要在"提交"之后发送电子邮件。单击按钮。
<form method="post" action='mailto:myemail@gmail.com'>
<label for="visitor-name">Name</label>
<input type="text" id="visitor-name" placeholder="Please Enter Your Name">
<label for="visitor-email">E-mail</label>
<input type="text" id="visitor-name" placeholder="Please Enter Your E-mail">
<label for="visitor-message">Message</label>
<textarea id="visitor-message" placeholder="Please Leave your Message"></textarea>
<input type="submit" value="Submit" id="contact-sub" onclick="sendmessage();">
</form>
顺便说一句,sendmessage()函数为空。
答案 0 :(得分:0)
我确定你已经阅读了这些回复并已经看过了,但是你想做的事情只能通过客户端代码来完成。这些服务器端解决方案可以正常工作,因为很多这些服务器环境都有不同的服务器,而不是设置来处理发送电子邮件。
这并不像执行AJAX请求那么简单。
您可以找到可以帮助您处理交易电子邮件的第三方服务,例如Mandrill。
这些工作,因为他们完成了服务器端所需的所有工作。您需要做的就是通过AJAX以其他方式访问他们的API端点,以及bam。 Mandrill将为您拍摄电子邮件。
现在,Mandrill有一个免费套餐,这可能就是你所需要的。但想想这将使用多少,因为使用像Mandrill这样的东西可能更值得,而不是滚动你自己的服务器端解决方案。
答案 1 :(得分:-1)
要做你想做的事,你需要将其指向服务器端技术 - mailto打开客户端的邮件应用程序(如果有的话)。
您提到的脚本指向GMail等服务,这是服务器端代码。
答案 2 :(得分:-1)
这里是一个简单的PHP联系的示例,只需放置一个表单并让它发送表单的结果,因为php是服务器端代码,它可以发送消息而无需用户使用他们的电子邮件客户端。我建议也做一个简单的验证。
$EmailFrom = "WHO@changeme.com";
$EmailTo = "you@whatever.com";
$Name = Trim(stripslashes($_POST['Name']));
$Message = Trim(stripslashes($_POST['Message']));
$test = $_POST['math'];
// validation
$validationOK=true;
if (!$validationOK) {
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
exit;
}
// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "Message: ";
$Body .= $Message;
// send email
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
// redirect to success page
if ($success){
print "Thanks for contacting me";
}
?>