从静态HTML页面发送电子邮件

17

我已经花费许多时间研究那个问题,但没有找到任何有用的信息。

因此,我有一个 静态 HTML 页面 和其中的按钮,如下:

<body>
<button id="0">SEND EMAIL TO my@email.com</button>
</body>

如果我按下这个按钮,消息“Hello”将从my2@email.com发送到my@email.com

是否可能仅使用HTML或JavaScript或jQuery来完成此操作(因为我只了解这些语言)?


1
如果您需要发送电子邮件,我认为您需要一些服务器端脚本语言。PHP是其中之一,而mail函数会有所帮助:http://www.php.net/manual/de/function.mail.php - caramba
你想要发送用户编写的文本吗?还是发送一些静态内容?对于这种工作,你需要服务器端处理邮件,除非你只想打开像Outlook这样的电子邮件程序。 - Oscar Reyes
@nosthertus 我想发送用户编写的文本。用户输入登录名和密码,我想要获取它。实际上,这个用户的登录名和密码在我的大学图书馆的计算机中,我想为了好玩而黑掉所有不同用户输入的密码:D 我该怎么办? - rint
@rint 黑客攻击其他用户信息是一个坏主意。无论如何,这只能通过服务器端完成,可能是 PHP 托管或其他类型的服务器托管。您必须进入服务器的逻辑文件并重写代码以使其按照您的意愿运行。 - Oscar Reyes
请分享更多细节。为什么这个问题被标记为Javascript、PHP、jQuery,但是却没有包含任何相关代码? - Nico Haase
3个回答

81

Formspree似乎是一个不错的解决方案,但您将依赖于他们的服务,并且无法控制其工作方式。 - Gwenc37
3
由于CORS意图未实现,看起来既Mailgun也SendGrid 都不接受Ajax/JS请求。请参考mailgunsendgrid的相关信息。 - masciugo
1
Mailgun允许从网页进行POST请求,参见https://dev59.com/13XZa4cB1Zd3GeqPAfYJ#18370329。 - David Avikasis
你能否编写一个PHP脚本,仅用它来发送电子邮件?因为我尝试过了,但没有成功。我按照这里给出的说明进行操作:http://www.html-form-guide.com/email-form/php-form-to-email.html 但是可能我错过了什么,无法收到邮件。经过进一步的研究,我发现,为了使这个“PHP脚本解决方案发送电子邮件”工作,您必须更改SPF记录。请在此处查看:http://www.html-form-guide.com/email-form/php-script-not-sending-email.html 所有PHP专家,请帮助我解决这个问题。 注意:我对PHP一无所知。 - Ashish Goyal
如果你在客户端使用Mailgun或SendGrid,你将会暴露凭据。即使你为每个站点都有一个单独的凭据集,这也是非常不安全的。 - quickshiftin
显示剩余2条评论

9

您可以使用以下方式:

<body>
<a href = 'mailto:my@email?body="Yourbody"&subject="a subject".com'>SEND EMAIL TO my@email.com</a>
</body>

它将打开一个邮件管理器(outlook,gmail等),以发送新邮件。您可以在链接中描述正文和主题

否则,您可以使用表单标签向PHP发送数据并通过PHP发送电子邮件。


不,我希望HTML页面可以自动完成,而不需要Outlook等任何邮件客户端。它能否在没有mailto的情况下实现? - rint
1
不好意思,你不能这样做。为此,你需要使用PHP添加一个简单的邮件脚本。无需学习完整的PHP。这里有一个小教程:http://www.w3schools.com/Php/php_mail.asp。 - saikiran
1
HTML不能发送电子邮件,它不是一种编程语言,而是一种标记语言。 - Jonast92
@saikiran 如果页面在本地存储中,而该本地计算机不是服务器,那么它会发布电子邮件吗?它只是我大学图书馆中的一台计算机。 - rint
@sara.y 如果你想使用输入,那么你需要在后端使用像PHP这样的语言来发送邮件(这显然是可能的,但并没有回答这个具体的问题)。 - Gwenc37
显示剩余2条评论

0

静态网页无法直接发送邮件。 您可以使用第三方服务,我正在使用formspree的服务,对我来说效果很好。 您只需要在formspree中创建帐户,验证Gmail地址,并在HTML页面中使用以下代码片段即可。

<form action="http://formspree.io/your@email.com" method="POST">
  <input type="email" name="_replyto">
    <textarea   name="body">
    </textarea>
  <input type="submit" value="Send">
</form>

formspree很容易理解。


无休止的验证码。不建议使用。 - Marc LaBelle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接