【发布时间】:2018-04-04 10:01:03
【问题描述】:
文档:https://developers.google.com/apps-script/reference/gmail/gmail-message#replybody-options
当跟进一封电子邮件在最初的电子邮件之后没有回复时,reply() 会发给我自己,因为我是发送最后一封电子邮件的人。
例如,客户端 A 向客户端 B 发送电子邮件。客户端 A 运行下面的脚本并回复客户端 A,但它应该发送给客户端 B,因为它只是跟进,因为没有来自 B 的初始回复。至少这就是它在 Gmail 界面中的方式。我想发送跟进。
我可以运行一个单独的发送邮件,但这会启动一个新线程,除非你可以specify the in-reply-to header 或者用户已经回复了现有线程,而在我的情况下他们没有。
示例代码:
message.reply("incapable of HTML", {
htmlBody: "<b>some HTML body text</b>",
replyTo: theirEmailAddress,
});
但是,replyTo 实际上只是指定了正在发送的电子邮件的回复部分,即我们收到的响应。它与实际的to 字段又名收件人无关。
如果我使用replyAll,那么电子邮件的标题是:
from: me@me.com
to: them@them.com
cc: me@me.com
因此,我收到了一堆来自自己的电子邮件。我尝试将 cc 指定为 none,但这并没有改变 cc 字段。
threads[0].replyAll("Just wanted to follow up and see if you got my last email.", {
htmlBody: followUpText,
cc: null,
});
我如何跟进一封电子邮件,并将其发送给上一封电子邮件的原始收件人?
【问题讨论】:
-
@Desire 让我澄清一下。从 A 向 B 发送电子邮件。然后在 A 的帐户上运行脚本。
-
我在这个相关的SO post 中遇到了这个问题。我使用getMessages() 和getTo() 来获取特定线程的电子邮件。您现在可以过滤它,这样您就不会回复自己的电子邮件。希望这会有所帮助。
-
@Desire 忽略那部分。这是文档中显示对象类型的示例的一部分。我调整了代码。
-
@Mr.Rebot 谢谢,但在我的示例中,线程中只有 1 封电子邮件,因此附加的 SO 帖子与我的不同。 B没有以前的通信。没有其他消息。 A 向 B 发送电子邮件。 A 运行上面的脚本,他在收件箱中收到电子邮件,但我希望它只发送到 B - 因为这就是跟进。当有人忘记回复时,您会发送一个跟进邮件,将其返回到他们收件箱的顶部。
-
@User 你找到解决方案了吗?我也有同样的问题,我有点想把头发拔掉。
标签: javascript google-apps-script