如何通过html或js向我的电子邮件提交邮件?

时间:2014-10-16 19:32:53

标签: javascript jquery html email

我正在建立我的个人网站。在"联系"页面,我希望访客发送消息给我。一旦他们点击按钮,包含输入信息的电子邮件将被发送到我的电子邮件地址。我搜索了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()函数为空。

3 个答案:

答案 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";
}
?>