繁体   English   中英

Apps 脚本 - 通过别名发送 email

[英]Apps Script - Sending email through an alias

我编写了下面的脚本,通过别名将模板 html email 发送到工作表中的电子邮件列表(别名已经在我的 gmail 帐户中,并且我已提供访问权限)。

function sendEmail() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet1=ss.getSheetByName('list');
var n=sheet1.getLastRow();
for (var i = 2; i < n+1 ; i++ ) {
var emailAddress = sheet1.getRange(i,1).getValue();
 
var html = HtmlService.createTemplateFromFile('template').evaluate().getContent();
 
var aliases = GmailApp.getAliases();
Logger.log(aliases);
 
GmailApp.sendEmail({
to: emailAddress,
from: "blabla@gmail.com",
subject: ('Document'),
htmlBody: html,
});
}
}

但我收到错误:

例外:参数(字符串)与 GmailApp.sendEmail 的方法签名不匹配。 发送电子邮件@Code.gs:13

请帮忙!

我检查了您的脚本,发现主要问题在于您的GmailApp.sendEmail()行中使用的参数结构。 根据 GmailApp class 文章中通过别名发送 email 的官方示例,参数结构应该是这样的:

GmailApp.sendEmail(me, 'From an alias', 'A message from an alias,': {'from'; aliases[0]});

解决方案

您可以测试这个调整后的脚本:

更新

function sendEmail() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet1=ss.getSheetByName('list');
var n=sheet1.getLastRow();
for (var i = 2; i < n+1 ; i++ ) {
var emailAddress = sheet1.getRange(i,1).getValue();

var html =  HtmlService.createTemplateFromFile('template').evaluate().getContent();
 
var aliases = GmailApp.getAliases();
Logger.log(aliases);

GmailApp.sendEmail(emailAddress, 'Document', 'Please see the message.', {
    htmlBody: html,
    name: "Sender Name", //On my testing, it looks "name" (Sender Name) is needed for the alias email to work and for the email to be sent to to recipient successfully
    from: aliases[0]
}); 
}
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM