在Gmail中创建带预填充HTML内容的邮件

2 投票
1 回答
2474 浏览
提问于 2025-04-18 10:31

我正在开发一个django的网页应用程序。我想让我的应用能够通过gmail发送邮件(我可以使用一个应用专用的谷歌账号,或者使用登录用户的账号)。

我知道我可以创建一个链接,点击后会打开gmail的写信窗口。我也知道我可以提前填好所有的字段(比如收件人、抄送、密送和邮件内容),但是这样做有一些我无法接受的限制:我的应用需要邮件的内容根据具体情况来生成。这封邮件必须包含超链接、表格,并且整体上要支持HTML格式的文本。

问题是:我该如何打开gmail的写信页面,并且让邮件内容提前填好自定义的HTML文本呢?

这里还有一个关于在gmail写信界面预填充HTML文本的讨论,但似乎没有回答我的问题。

1 个回答

-2

你想要构建一个这样的字符串:

var myMailTo = function constructMailTo() {
  var newLine = "%0D%0A";

  var emailRecipient = encodeURI('example@example.com');
  var subjectTitle = encodeURI('Urgent: this email is so urgent!');
  var bodyContent = newLine + newLine + newLine + encodeURI('This mail was generated by me.')

  return "mailto:" + emailRecipient + '?subject=' + subjectTitle + '&body=' + bodyContent;
}


<a href="{{myMailTo}}" target="_blank">Send us mail</a>

记住,这个字符串需要进行编码。这个例子只是伪代码,也就是说它并不是实际可以运行的代码。

编译后的例子看起来是这样的:

<a href="mailto:example@example.com?subject=Urgent:%20this%20email%20is%20so%20urgent!&body=%0D%0A%0D%0A%0D%0AThis%20mail%20was%20generated%20by%20me." target="_blank">Send us feedback</a>

撰写回答