GmailApp.sendEmail()来自Plus地址

时间:2012-09-15 22:37:33

标签: gmail

问题:有没有办法覆盖帐户电子邮件地址并将其替换为同一帐户中的加号地址?

我正在使用Google Apps中的GmailApp.sendEmail()方法。

帐户电子邮件地址是一个非加(明显)地址,但我使用多个加号地址将邮件过滤到类别中。

当我使用sendEmail()发送消息时,它使用主帐户地址,并且似乎没有办法为脚本更改此内容。

虽然我可以为帐户设置“名称”,但我想将发件人地址设置为帐户地址的加号版本。

(我记得在日历用户界面遇到同样的问题。)

所以,我也尝试使用高级参数设置replyTo地址。 (这不是我喜欢的方式。)

replyTo参数显然接受地址,发送的消息包含reply-to标头。我在下面添加标题行,并以“示例”替换帐户地址。

Delivered-To: example+test@gmail.com

Reply-To: Richard Michael <example+pch@gmail.com>

From: Richard Michael <example@gmail.com>
To: example+test@gmail.com

但是,当我在Gmail中使用“回复”按钮时,表单中加载的“收件人”地址为example+test@gmail.com,这不是我期望的可能性。 (应该是回复,或者最糟糕的是,来自地址。)回复表单中的发件人地址是example@gmail.com,这是预期的(但也是我想从加号地址'发送'的原因)。

我已经多次重复这个结果了。

当然,Gmail还允许您在执行验证检查后从外部帐户以及用户界面中“发送”。因此,您无法从这些地址发送。

1 个答案:

答案 0 :(得分:3)

您必须使用以下参数:在方法GmailApp.sendEmail中。

实施例

GmailApp.sendEmail('example@exapmle.com', 'Testmail', 'Hello Richard',
                        {name: 'Richard Michel', from: 'example+pch@gmail.com',}); 

我正在使用Mail Merge HD,我编辑了一些代码。

在函数fnMailmerge()中我添加了行

  top_panel.add(myapp.createLabel("Please select your alias"));
  var lf = myapp.createListBox(false).setWidth(250).setName('from').addItem("Select aliases...").setVisibleItemCount(1);

  for (var i = 0; i < aliases.length; i++) {
   lf.addItem(aliases[i]);
  }

  top_panel.add(lf);

,将最后一个语句添加到此行(在同一个函数中)

var handler = myapp.createServerClickHandler('startMailMerge').addCallbackElement(lb).addCallbackElement(name_box).addCallbackElement(bcc_box).addCallbackElement(lf);

并最终编辑Gmail.sendEmail函数

 GmailApp.sendEmail(rowData.emailAddress, emailSubject, emailText,
                        {name: e.parameter.name, attachments: attachments, htmlBody: emailText, cc: cc, bcc: bcc, inlineImages: inlineImages, from: e.parameter.from,});

这会在邮件菜单中添加一个下拉列表,您可以从注册的别名中进行选择。