如何在 Google MailApp 中提供电子邮件 headers 发送?
How can I supply email headers sending in Google MailApp?
如何使用 Google MailApp api 包含电子邮件 header 的信息?
我需要提供 header 的信息,例如 List-Unsubscribe:
或 List-Unsubscribe-Post:
。
以下是 Google Apps 脚本的代码示例。似乎没有包含此类电子邮件 header 信息的选项。
sendEmail(recipient, subject, body, options)
// Send an email with two attachments: a file from Google Drive (as a PDF) and an HTML file.
var file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz');
var blob = Utilities.newBlob('Insert any HTML content here', 'text/html',
'my_document.html');
MailApp.sendEmail('mike@example.com', 'Attachment example', 'Two files are attached.', {
name: 'Automatic Emailer Script',
attachments: [file.getAs(MimeType.PDF), blob]
});
我相信你的目标如下。
- 您想将
List-Unsubscribe
和 List-Unsubscribe-Post
的自定义 headers 添加到 Gmail 并使用 Google Apps 脚本发送。
这样的话,下面的流程如何?
- 创建临时草稿。
- 在这种情况下,将使用脚本中
MailApp.sendEmail
的参数。
- 添加自定义 headers.
- 删除草稿。
- 使用 Gmail 发送草稿 API。
当这个流程反映到你的脚本中时,它变成如下。
修改后的脚本:
在您使用此脚本之前,please enable Gmail API at Advanced Google services。
var obj = {"List-Unsubscribe": "sample1", "List-Unsubscribe-Post": "sample2"}; // Please set the custom headers.
// 1. Create a draft as a temporal.
var file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz');
var blob = Utilities.newBlob('Insert any HTML content here', 'text/html', 'my_document.html');
var draft = GmailApp.createDraft('mike@example.com', 'Attachment example', 'Two files are attached.', {
name: 'Automatic Emailer Script',
attachments: [file.getAs(MimeType.PDF), blob]
});
// 2. Add the custom headers.
var data = Object.entries(obj).map(([k, v]) => `${k}: ${v}`).join("\n") + "\n" + draft.getMessage().getRawContent();
// 3. Delete Draft.
draft.deleteDraft();
// 4. Send the draft using Gmail API.
var res = Gmail.Users.Messages.send({raw: Utilities.base64EncodeWebSafe(data)}, "me");
console.log(res)
- 在这个示例中,
List-Unsubscribe: sample1
和List-Unsubscribe-Post: sample2
被用作示例值。请根据实际情况修改。
参考文献:
如何使用 Google MailApp api 包含电子邮件 header 的信息?
我需要提供 header 的信息,例如 List-Unsubscribe:
或 List-Unsubscribe-Post:
。
以下是 Google Apps 脚本的代码示例。似乎没有包含此类电子邮件 header 信息的选项。
sendEmail(recipient, subject, body, options)
// Send an email with two attachments: a file from Google Drive (as a PDF) and an HTML file.
var file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz');
var blob = Utilities.newBlob('Insert any HTML content here', 'text/html',
'my_document.html');
MailApp.sendEmail('mike@example.com', 'Attachment example', 'Two files are attached.', {
name: 'Automatic Emailer Script',
attachments: [file.getAs(MimeType.PDF), blob]
});
我相信你的目标如下。
- 您想将
List-Unsubscribe
和List-Unsubscribe-Post
的自定义 headers 添加到 Gmail 并使用 Google Apps 脚本发送。
这样的话,下面的流程如何?
- 创建临时草稿。
- 在这种情况下,将使用脚本中
MailApp.sendEmail
的参数。
- 在这种情况下,将使用脚本中
- 添加自定义 headers.
- 删除草稿。
- 使用 Gmail 发送草稿 API。
当这个流程反映到你的脚本中时,它变成如下。
修改后的脚本:
在您使用此脚本之前,please enable Gmail API at Advanced Google services。
var obj = {"List-Unsubscribe": "sample1", "List-Unsubscribe-Post": "sample2"}; // Please set the custom headers.
// 1. Create a draft as a temporal.
var file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz');
var blob = Utilities.newBlob('Insert any HTML content here', 'text/html', 'my_document.html');
var draft = GmailApp.createDraft('mike@example.com', 'Attachment example', 'Two files are attached.', {
name: 'Automatic Emailer Script',
attachments: [file.getAs(MimeType.PDF), blob]
});
// 2. Add the custom headers.
var data = Object.entries(obj).map(([k, v]) => `${k}: ${v}`).join("\n") + "\n" + draft.getMessage().getRawContent();
// 3. Delete Draft.
draft.deleteDraft();
// 4. Send the draft using Gmail API.
var res = Gmail.Users.Messages.send({raw: Utilities.base64EncodeWebSafe(data)}, "me");
console.log(res)
- 在这个示例中,
List-Unsubscribe: sample1
和List-Unsubscribe-Post: sample2
被用作示例值。请根据实际情况修改。