MailApp BCC 邮件详细信息未显示在已发送文件夹中

MailApp BCC message details not showing in sent folder

当我使用 MailApp 发送密件抄送的电子邮件时,它发送、收到,并且电子邮件显示在发件人的已发送文件夹中。但是,已发送文件夹中的电子邮件不会显示他们通常密件抄送的发件人。它显示为发送给发件人的电子邮件(即使发件人没有将其发送给自己)。

此外,它发送电子邮件的方式似乎与邮件合并差不多。它最终出现在密件抄送收件人收件箱中,显示他们是唯一的收件人(而不是密件抄送收件人)。

这是一个真正的问题,因为您无法验证您是否将电子邮件发送给了 20 多个人。

有人问过这个问题 here 没有答案。

function sendEmail(form) {
  
  var ss = SpreadsheetApp.getActive();
  var body = form.body;
  var bcc = form.bccfield;
  var cc = form.ccfield;
  var to = form.tofield;
  var subject = form.subject;
   var eHandle = ss.getSheetByName("Email Handling");
  var sig = eHandle.getRange(10, 2).getValue();
  var img = eHandle.getRange(11, 2).getValue();    
  var sigImage = '<img src ="' + img + '" >';
  
MailApp.sendEmail(to, {
    to: to,
  cc: cc,
  bcc: bcc,
    subject: subject,
   
  htmlBody: body.replace(/\n/g, '<br>') + sig + sigImage});
  }

使用 GmailApp, it has an analogous sendEmail 完全符合您要求的方法。您对 MailApp 方法的行为也是正确的 - 电子邮件的发送就像它们是单独的电子邮件一样0.

要查看差异 first-hand,运行 以下代码段:

function testBcc() {

    const email = Session.getEffectiveUser().getEmail();

    const emailConfig = {
        to: email,
        bcc: email,
        htmlBody: `<p>Test message</p>`,
        subject: "test subject"
    };

    MailApp.sendEmail(emailConfig);
    GmailApp.sendEmail(
        emailConfig.to, emailConfig.subject,
        "",
        { htmlBody: emailConfig.htmlBody, bcc : emailConfig.bcc });
}

请注意,您将需要以下范围:

https://www.googleapis.com/auth/userinfo.emailgetEmail https://www.googleapis.com/auth/script.send_mail 通过 MailAppsendEmail https://www.googleapis.com/auth/gmail.send 通过 GmailApp

sendEmail

0 请注意,您的方法签名确实不正确,正如 的回答所提到的那样。

Oleg 的回答是正确的,MailApp.sendEmail(...) 并不像您期望的那样有效。不管怎样,值得一提的是,根据https://developers.google.com/apps-script/reference/mail/mail-app,MailApp 有四种sendEmail 方法:

  • sendEmail(message)
  • sendEmail(recipient, subject, body)
  • sendEmail(recipient, subject, body, options)
  • sendEmail(to, replyTo, subject, body)

但是您的代码没有使用其中的 none mov。

替换

MailApp.sendEmail(to, {
    to: to,
  cc: cc,
  bcc: bcc,
    subject: subject,
   
  htmlBody: body.replace(/\n/g, '<br>') + sig + sigImage});
  

来自

MailApp.sendEmail({
  to: to,
  cc: cc,
  bcc: bcc,
  subject: subject, 
  htmlBody: body.replace(/\n/g, '<br>') + sig + sigImage
});