从 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 文件中。一旦我在文本框中输入文本并单击提交按钮,它就会使用我的电子邮件客户端打开一封新电子邮件(到目前为止一切都很好)。但是,电子邮件正文中没有任何内容。我想让我输入的文本出现在刚刚打开的新电子邮件的正文中。我不想使用任何 php 或 javascript 文件。我希望所有内容都在 HTML 文件中。
谢谢!
【问题讨论】:
您可能需要检查this question 以了解mailto:
方案的语法。另外,我有点困惑,因为你说你不想使用 JS,但你在 onfocus
/onblur
中使用 JS。
我的意思是我只想在 HTML 文件中进行更改,而不是在 JS 文件中添加代码行。
【参考方案1】:
将name=body
添加到您的文本区域
<textarea name='body' ... ></textarea>
每个其他输入都可以分配给电子邮件消息的不同行(即主题行、收件人行、抄送等)。您需要做的就是将每个输入的“名称”属性设置为您希望它出现的电子邮件行。
如果您希望输入的姓名成为邮件的主题,请将 `name='subject' 添加到您的姓名输入中。
https://en.wikipedia.org/wiki/Mailto
此外,您可能应该将方法更改为“GET”并在使用 encodeURI(value of the textarea)
发送数据之前强制执行 URI 编码
【讨论】:
谢谢!姓名和电子邮件输入呢?我也希望它们在体内。 @user3882752 你的意思是要在“收件人”字段或电子邮件的实际消息中显示姓名? 我更喜欢将名称放在主题行中,并将电子邮件放在电子邮件的实际消息中。 我尝试将 name='subject' 放在名称输入中,它只显示在实际电子邮件中而不是主题行中以上是关于从 HTML 发送电子邮件 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
android.os.NetworkOnMainThreadException 从 Android 发送电子邮件 [重复]