从 HTML 发送电子邮件 [重复]

Posted

技术标签:

【中文标题】从 HTML 发送电子邮件 [重复]【英文标题】:Sending an email from HTML [duplicate] 【发布时间】: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 文件中。一旦我在文本框中输入文本并单击提交按钮,它就会使用我的电子邮件客户端打开一封新电子邮件(到目前为止一切都很好)。但是,电子邮件正文中没有任何内容。我想让我输入的文本出现在刚刚打开的新电子邮件的正文中。我不想使用任何 phpjavascript 文件。我希望所有内容都在 HTML 文件中。

谢谢!

【问题讨论】:

您可能需要检查this question 以了解mailto: 方案的语法。另外,我有点困惑,因为你说你不想使用 JS,但你在 onfocus/onblur 中使用 JS。 我的意思是我只想在 HTML 文件中进行更改,而不是在 JS 文件中添加代码行。 【参考方案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' 放在名称输入中,它只显示在实际电子邮件中而不是主题行中

以上是关于从 HTML 发送电子邮件 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用PHP和特殊字符从联系表单发送邮件[重复]

从c#代码发送电子邮件[重复]

在 Django 中发送 html 电子邮件 [重复]

android.os.NetworkOnMainThreadException 从 Android 发送电子邮件 [重复]

在html按钮上发送电子邮件单击[重复]

以 HTML 格式发送电子邮件 [重复]