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.email 至 getEmail
https://www.googleapis.com/auth/script.send_mail 通过 MailApp
到 sendEmail
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
});
当我使用 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.email 至 getEmail
https://www.googleapis.com/auth/script.send_mail 通过 MailApp
到 sendEmail
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
});