【问题标题】:How to make a button in HTML that will send the current page of a website via email?如何在 HTML 中制作一个将通过电子邮件发送网站当前页面的按钮?
【发布时间】:2020-05-23 19:00:30
【问题描述】:

假设我有一个网站,其中有一个按钮。当您单击此按钮时,网站会将当前页面 html(作为电子邮件正文或作为附件,例如:index.html)发送到特定的电子邮件地址。这可能吗?如果是这样,怎么做? (我想用 html 标签或 javascript 来做)。

这就像发送一个表单,但是你发送一个 html 页面。

【问题讨论】:

  • 您不能使用 javascript 直接发送电子邮件。但是,您可以使用 nodejs stackoverflow.com/questions/7381150/… 完成此操作
  • 有没有mailto html标签?
  • @Nassims, mailto 在 HTML 中只是 href 目标的自定义前缀。您可以在锚标记上配置它,例如<a href="mailto:john.doe@example.com">Email John</a>,然后大多数用户代理(浏览器)将在单击该链接时打开系统的默认邮件客户端。您还可以通过包含mailto:bob@example.com?subject=some subject value&body=some body value 来填充特定文本,但内容必须是text/plain。虽然,这是一个有趣的可能解决方案:StackOverflow: mailto link with HTML body.
  • 问题解决了吗?

标签: javascript html web


【解决方案1】:

您所描述的似乎是NodeMailer 的一个用例。这里假设您使用 Node.js 作为后端。其他语言有很多选项 pypi-mailer 是 python 的常用选项。

无论如何,您都需要一个 html 表单(或电子邮件的默认选项)

<form action="/sendMail">
  <label for="email">Email: </label><br>
  <input type="text" id="email" name="email" value="Enter your email"><br>
  <input type="submit" value="Submit">
</form> 

<p>If you click the "Submit" button, the form-data will be send to an endpoint /sendMail".</p> 

然后你需要前端的 Javascript 来实际获取对象。我相信this 的答案就是您在这里寻找的答案。

This 链接解释了如何实际使用 nodemailer 发送电子邮件。

希望这会有所帮助!

【讨论】:

  • @Nassims 你试过了吗?
  • 我没有使用后端。一切都在前端完成,所以我不能使用节点。
猜你喜欢
  • 2012-09-10
  • 1970-01-01
  • 2015-08-31
  • 1970-01-01
  • 2014-01-05
  • 1970-01-01
  • 2013-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多