SendGrid:使用 SendGrid 时如何将嵌入表单放入 HTML 模板邮件
SendGrid: How to put embed form to a HTML template mail when using SendGrid
我正在构建一个可以通过 SendGrid 发送 HTML 模板邮件的应用程序。
现在,我想包含一个 Google 表单以嵌入到 HTML 模板邮件中,以发送带有嵌入式 Google 表单的电子邮件。
我的 HTML 模板是一个字符串,
基本上是这样的,
const emailHTML = `
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html data-editor-version="2" class="sg-campaigns" xmlns="http://www.w3.org/1999/xhtml">
<head>
.....
</head>
<body>
....
<iframe src=“https://docs.google.com/forms/d/e/.../viewform?embedded=true” width=“640" height=“1493” frameborder=“0" marginheight=“0” marginwidth=“0">Link</iframe>
</body>
</html>
`
然后我会将这个 HTML 字符串作为 html
变量传递给 SendGrid API,
router.post('/send-email', (req, res) => {
const { recipient, sender, topic, text, emailHTML } = req.body;
const msg = {
to: recipient,
from: sender,
subject: topic,
text: text,
html: emailHTML
}
sgMail.send(msg).then((msg) => {
res.json({ Message: msg })
});
})
我测试了收到的电子邮件,但没有看到电子邮件中嵌入的 Google 表格。
如何将 Google 表单嵌入到 HTML 模板邮件中以通过 SendGrid 发送?
您不能使用 <iframe>
嵌入 Google 表单(或任何表单)。
有些电子邮件客户端根本不接受表单,或者即使呈现也功能有限,但 Google 表单具有可从其平台获得的嵌入功能。
本质上,在 Google 形式上:
- 制作表格
- 点击'send'
- 插入您自己的 Gmail 地址 - 这只是为了获取代码
- 在 'Send via' 下选择 'Email'
- 勾选'Include form in email'
有关完整说明,请参阅 https://www.maketecheasier.com/embed-google-forms-in-email/。
现在,要获取用于插入 SendGrid 的实际代码,您必须从该电子邮件中获取表单的源代码,并将其粘贴到 SendGrid 电子邮件的 HTML 中。
本质上,
在 Gmail 中打开电子邮件
单击更多(右上角的下拉箭头)-> 显示原始
复制相关代码
有关完整说明,请参阅 https://gillandrews.com/embed-a-survey-in-email-newsletter-google-forms/。
对于那些想直接在 Google 上而不是通过电子邮件填写表格的人,我还会在其中添加一个 link,因为有些电子邮件客户端不会工作。
我正在构建一个可以通过 SendGrid 发送 HTML 模板邮件的应用程序。
现在,我想包含一个 Google 表单以嵌入到 HTML 模板邮件中,以发送带有嵌入式 Google 表单的电子邮件。
我的 HTML 模板是一个字符串,
基本上是这样的,
const emailHTML = `
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html data-editor-version="2" class="sg-campaigns" xmlns="http://www.w3.org/1999/xhtml">
<head>
.....
</head>
<body>
....
<iframe src=“https://docs.google.com/forms/d/e/.../viewform?embedded=true” width=“640" height=“1493” frameborder=“0" marginheight=“0” marginwidth=“0">Link</iframe>
</body>
</html>
`
然后我会将这个 HTML 字符串作为 html
变量传递给 SendGrid API,
router.post('/send-email', (req, res) => {
const { recipient, sender, topic, text, emailHTML } = req.body;
const msg = {
to: recipient,
from: sender,
subject: topic,
text: text,
html: emailHTML
}
sgMail.send(msg).then((msg) => {
res.json({ Message: msg })
});
})
我测试了收到的电子邮件,但没有看到电子邮件中嵌入的 Google 表格。
如何将 Google 表单嵌入到 HTML 模板邮件中以通过 SendGrid 发送?
您不能使用 <iframe>
嵌入 Google 表单(或任何表单)。
有些电子邮件客户端根本不接受表单,或者即使呈现也功能有限,但 Google 表单具有可从其平台获得的嵌入功能。
本质上,在 Google 形式上:
- 制作表格
- 点击'send'
- 插入您自己的 Gmail 地址 - 这只是为了获取代码
- 在 'Send via' 下选择 'Email'
- 勾选'Include form in email'
有关完整说明,请参阅 https://www.maketecheasier.com/embed-google-forms-in-email/。
现在,要获取用于插入 SendGrid 的实际代码,您必须从该电子邮件中获取表单的源代码,并将其粘贴到 SendGrid 电子邮件的 HTML 中。
本质上,
在 Gmail 中打开电子邮件 单击更多(右上角的下拉箭头)-> 显示原始 复制相关代码
有关完整说明,请参阅 https://gillandrews.com/embed-a-survey-in-email-newsletter-google-forms/。
对于那些想直接在 Google 上而不是通过电子邮件填写表格的人,我还会在其中添加一个 link,因为有些电子邮件客户端不会工作。