通过电子邮件发送 HTML 表单

Posted

技术标签:

【中文标题】通过电子邮件发送 HTML 表单【英文标题】:Sending HTML forms on email 【发布时间】:2016-03-10 23:04:31 【问题描述】:

我正在开发一个投票网站,我需要通过电子邮件本身向用户发送投票。用户应该能够从电子邮件本身对投票进行投票,而无需离开他们的页面。

现在我正在使用 mandrill 发送电子邮件,但每当我发送包含单选按钮的邮件时;按钮没有显示在邮件中,只有邮件的文本部分仍然存在。

如何做到这一点?

现在我正在尝试通过在 mandrill 中创建模板来发送这个简单的 html 表单

<!doctype html>
<html class="no-js" lang="">
<head>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <title>Widget Test</title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1">


</head>
<body style="width:900px;margin:0 auto;">

<form method="post" action="https://www.<xyx>.com/servemailpollresponse/">
<p>Will you attend?<br />
<input type="radio" name="will_attend"> Sure!<br />
<input type="radio" name="will_attend">Maybe?<br />
<input type="radio" name="will_attend">Nope.<br />
<input type="submit"></p>
</form>

</body>
</html>

【问题讨论】:

用您的代码补充您的问题。 ...只有邮件的文本部分保留。可能意味着您的邮件仅作为文本发送。 @LGSon 是的,只发送纯文本 要使您的表单正常工作,它必须以 html 格式发送。 @LGSon 我没听懂你想说什么。 【参考方案1】:

...只有邮件的文本部分保留。

这可能意味着您的邮件仅作为文本发送。

当发送邮件时,可以将它们以文本或 html 形式发送,并且必须以 html 形式发送。

在Mandrill中,请求JSON中有一个“html”键需要设置,或者你可以创建一个模板并传入你需要添加的文本。

Link to API docs here

注意:正如mplungjan 所写,单选按钮需要价值

【讨论】:

【参考方案2】:

为收音机增加价值。现在没有什么要发送的

像这样:

<input type="radio" name="will_attend" value="sure"> Sure!<br />
<input type="radio" name="will_attend" value="maybe">Maybe?<br />
<input type="radio" name="will_attend" value="nope">Nope.<br />

【讨论】:

那么问题出在服务器上。请在您的问题中也发布 servermailpollresponse 脚本

以上是关于通过电子邮件发送 HTML 表单的主要内容,如果未能解决你的问题,请参考以下文章

通过电子邮件发送带有 PHP 和 HTML 错误消息“Cannot POST mail.php”的表单

关于如何使用从其电子表格的html表单接收的数据创建pdf并通过电子邮件发送pdf文件的Google应用程序脚本

如何通过单独的联系表单将 HTML 输入从页面发送给用户

在 oracle apex 中通过电子邮件发送富文本字段

如何使用HTML表单发送电子邮件并使用Node.js和Gulp提交?

PHPMailer发送没有表单数据的邮件[重复]