问题是-电子邮件是从别名[cs@example.com]发送的,收件箱中显示的名称是CS(用户),而不是实际名称-示例支持。
当然可能的解决方案是使用选项GmailApp.sendEmail(recipient, subject, body, {from: alias[0], name: 'Example Support'})
,但是,是否会有一个get选项将其保留为变量,例如getName
?
这是当前代码的精简版本,可以使用,但不理想(♀️):
function myFunction() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lastrow = sheet.getLastRow();
var sent = 'SENT';
for (var i = 2;i<=lastrow;i++){
var email = sheet.getRange(i, 2).getValue();
var subject = sheet.getRange(i, 3).getValue();
var body = sheet.getRange(i, 4).getValue();
var status = sheet.getRange(i, 5).getValue();
var alias = GmailApp.getAliases();
var support = alias[0];
var accounting = alias[1];
var name1 = 'Example Support';
var name2 = 'Example Accounting';
if (status == 'support') {
GmailApp.sendEmail(email, subject, body, {from: support, name: name1});
sheet.getRange(i, 7).setValue(sent);
SpreadsheetApp.flush
} else if (status == 'accounting') {
GmailApp.sendEmail(email, subject, body, {from: accounting, name: name2});
sheet.getRange(i, 7).setValue(sent);
SpreadsheetApp.flush
}
}
}
您知道可能性吗?谢谢您的帮助!
答案 0 :(得分:0)
只有使用Gmail高级Google服务才能实现。
重要!。首先在资源>高级Google服务中启用Gmail。。然后按照说明在脚本的GCP项目中启用API。
以您的代码为例:
...
var support = alias[0]
...
if (status == 'support') {
var aliasName = Gmail.Users.Settings.SendAs.get(me, support).displayName
GmailApp.sendEmail(email, subject, body, {from: support, name: aliasName});
sheet.getRange(i, 7).setValue(sent);
SpreadsheetApp.flush
}
类似地调整其他if语句。