如何在不打开邮件客户端的情况下使用JavaScript发送电子邮件?

我正在写一个带有注册按钮的 HTML页面,该页面应该只是默认发送电子邮件,而不打开本地邮件客户端.这是我的HTML:

<form method="post" action="">
    <input type="text" id="email_address" name="name" placeholder="Enter your email address..." required>
    <button onclick="sendMail(); return false">Send Email</button>
</form>

…这里是我的JavaScript代码:

<script type="text/javascript">
  function sendMail() {
    var link = 'mailto:hello@domain.com?subject=Message from '
             +document.getElementById('email_address').value
             +'&body='+document.getElementById('email_address').value;
    window.location.href = link;
}
</script>

上面的代码工作…但它打开本地电子邮件客户端.如果我删除onclick属性中的return语句,如下所示:

<form method="post" action="">
    <input type="text" id="email_address" name="name" placeholder="Enter your email address..." required>
    <button onclick="sendMail()">Send Email</button>
</form>

那么电子邮件根本就不会发送.我错过了什么吗?

任何帮助将得到真正的赞赏:-)

您需要服务器端支持才能实现此目的.基本上你的表单应该被发布(AJAX也很好)到服务器,该服务器应该通过SMTP连接到一些邮件提供商并发送该电子邮件.

即使可以使用JavaScript(即从用户计算机)直接发送电子邮件,用户仍然必须连接到某些SMTP服务器(如gmail.com),提供SMTP凭据等.这通常在服务器端(在您的应用程序中),它们知道这些凭据.

相关文章
相关标签/搜索