【问题标题】:Sending an email from HTML [duplicate]从 HTML 发送电子邮件 [重复]
【发布时间】:2015-09-22 09:28:31
【问题描述】:
<form action="MAILTO:myemail@example.com" method="post" enctype="text/plain">
    <input type="text" value="Name" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Name';}" required="">
    <input type="text" value="E-mail" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'E-mail';}" required="">
    <textarea type="text" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Message';}" required="">Message</textarea>
    <input type="submit" value="SEND">
</form>

上面的代码在我的 HTML 文件中。一旦我在文本框中输入文本并单击提交按钮,它就会使用我的电子邮件客户端打开一封新电子邮件(到目前为止一切都很好)。但是,电子邮件正文中没有任何内容。我想让我输入的文本出现在刚刚打开的新电子邮件的正文中。我不想使用任何 PHP 或 JavaScript 文件。我希望所有内容都在 HTML 文件中。

谢谢!

【问题讨论】:

  • 您可能需要检查this question 以了解mailto: 方案的语法。另外,我有点困惑,因为你说你不想使用 JS,但你在 onfocus/onblur 中使用 JS。
  • 我的意思是我只想在 HTML 文件中进行更改,而不是在 JS 文件中添加代码行。

标签: html email forms


【解决方案1】:

name=body 添加到您的文本区域

&lt;textarea name='body' ... &gt;&lt;/textarea&gt;

每个其他输入都可以分配给电子邮件消息的不同行(即主题行、收件人行、抄送等)。您需要做的就是将每个输入的“名称”属性设置为您希望它出现的电子邮件行。

如果您希望输入的姓名成为邮件的主题,请将 `name='subject' 添加到您的姓名输入中。

https://en.wikipedia.org/wiki/Mailto

此外,您可能应该将方法更改为“GET”并在使用 encodeURI(value of the textarea) 发送数据之前强制执行 URI 编码

【讨论】:

  • 谢谢!姓名和电子邮件输入呢?我也希望它们在体内。
  • @user3882752 你的意思是要在“收件人”字段或电子邮件的实际消息中显示姓名?
  • 我更喜欢将名称放在主题行中,并将电子邮件放在电子邮件的实际消息中。
  • 我尝试将 name='subject' 放在名称输入中,它只显示在实际电子邮件中而不是主题行中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-06
  • 1970-01-01
  • 2015-08-04
  • 2015-06-10
  • 2013-02-11
  • 2014-09-08
  • 2020-04-24
相关资源
最近更新 更多