Class GmailDraft

Gmail草稿

用户在其 Gmail 账号中创建的草稿邮件。

方法

方法返回类型简介
deleteDraft()void删除此草稿消息。
getId()String获取此草稿消息的 ID。
getMessage()GmailMessage返回表示此草稿的 GmailMessage。
getMessageId()String返回表示此草稿的 GmailMessage 的 ID。
send()GmailMessage发送此草稿电子邮件。
update(recipient, subject, body)GmailDraft替换此草稿邮件的内容。
update(recipient, subject, body, options)GmailDraft使用可选参数替换此草稿消息的内容。

详细文档

deleteDraft()

删除此草稿消息。

const draft =
    GmailApp.getDrafts()[0];  // The first draft message in the drafts folder
draft.deleteDraft();
draft.getMessage();  // Throws exception.

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://mail.google.com/

getId()

获取此草稿消息的 ID。

const draft =
    GmailApp.getDrafts()[0];  // The first draft message in the drafts folder
const draftId = draft.getId();
const draftById = GmailApp.getDraft(draftId);
Logger.log(
    draft.getMessage().getSubject() === draftById.getMessage().getSubject(),
);

返回

String - 草稿 ID

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://mail.google.com/

getMessage()

返回表示此草稿的 GmailMessage。

const draft =
    GmailApp.getDrafts()[0];  // The first draft message in the drafts folder
const message = draft.getMessage();
Logger.log(message.getSubject());

返回

GmailMessage - 表示此草稿内容的消息

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://mail.google.com/

getMessageId()

返回表示此草稿的 GmailMessage 的 ID。

const draft =
    GmailApp.getDrafts()[0];  // The first draft message in the drafts folder
const messageId = draft.getMessageId();
Logger.log(messageId === draft.getMessage().getId());

返回

String - 消息 ID

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://mail.google.com/

send()

发送此草稿电子邮件。电子邮件(包括标头)的大小超出了配额限制

const draft =
    GmailApp.getDrafts()[0];  // The first draft message in the drafts folder
const msg = draft.send();     // Send it
Logger.log(msg.getDate());    // Should be approximately the current timestamp

返回

GmailMessage - 新发送的消息

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://mail.google.com/

update(recipient, subject, body)

替换此草稿邮件的内容。电子邮件(包括标头)的大小超出了配额限制

// The code below will update a draft email with the current date and time.
const draft =
    GmailApp.getDrafts()[0];  // The first draft message in the drafts folder
const now = new Date();
draft.update(
    'mike@example.com',
    'current time',
    `The time is: ${now.toString()}`,
);

参数

名称类型说明
recipientString以英文逗号分隔的电子邮件地址列表
subjectString电子邮件的主题(最多 250 个字符)
bodyString电子邮件正文

返回

GmailDraft - 新更新的草稿

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://mail.google.com/

另请参阅


update(recipient, subject, body, options)

使用可选参数替换此草稿消息的内容。电子邮件可以包含纯文本或 HTML 正文。电子邮件(包括标头)的大小超出了配额限制

// Update a draft email with a file from Google Drive attached as a PDF.
const draft =
    GmailApp.getDrafts()[0];  // The first draft message in the drafts folder
const file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz');
draft.update(
    'mike@example.com',
    'Attachment example',
    'Please see attached file.',
    {
      attachments: [file.getAs(MimeType.PDF)],
      name: 'Automatic Emailer Script',
    },
);

参数

名称类型说明
recipientString以英文逗号分隔的电子邮件地址列表
subjectString电子邮件的主题(最多 250 个字符)
bodyString电子邮件正文
optionsObject用于指定高级参数的 JavaScript 对象,如下所列

高级参数

名称类型说明
attachmentsBlobSource[]要随电子邮件发送的文件数组
bccString以英文逗号分隔的密件抄送电子邮件地址列表
ccString以英文逗号分隔的抄送电子邮件地址列表
fromString电子邮件的发件人地址,必须是 GmailApp.getAliases() 返回的值之一
htmlBodyString如果已设置,则能够渲染 HTML 的设备将使用该字段,而不是必需的 body 参数;如果您为电子邮件内嵌了图片,则可以在 HTML 正文中添加可选的 inlineImages 字段
inlineImagesObject一个 JavaScript 对象,包含从图片键 (String) 到图片数据 (BlobSource) 的映射;这假定使用了 htmlBody 参数,并且包含采用 <img src="cid:imageKey" /> 格式的这些图片的引用
nameString电子邮件发件人的姓名(默认:用户的姓名)
replyToString要用作默认回复地址的电子邮件地址(默认:用户的电子邮件地址)

返回

GmailDraft - 新更新的草稿

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://mail.google.com/

另请参阅