【问题标题】:Change Recipient Address Google Apps Script更改收件人地址 Google Apps 脚本
【发布时间】:2013-11-18 05:39:23
【问题描述】:

在 Google Apps Script 中使用回复功能时是否可以更改收件人地址?

我想从一个随机电子邮件帐户接收一封电子邮件,用标签标记它,并在计划时运行以下代码以回复所需的电子邮件地址而不是原始发件人。我想回复的原因是保持在同一个线程中。我已经尝试了以下代码的几乎所有变体,但无法让它按照我想要的方式工作:

thread.reply("This is a message.", {
    htmlBody: "This is a message.",
    name: "My Name",
    recipient: "DESIRED@EMAIL.com",
    replyTo: "DESIRED@EMAIL.com",
    to: "DESIRED@EMAIL.com"
});

【问题讨论】:

    标签: google-app-engine email google-apps-script gmail


    【解决方案1】:

    如果您要求生成一个随机的电子邮件地址并从该地址发送一封真实的电子邮件......这是不可能的。

    但是...您可以将replyTo 可选参数设置为随机地址-尽管当用户尝试回复该线程时,他们会收到无法到达该地址的反弹通知。但是,原始发件人(非随机地址)仍会在原始消息中可见。

    如果您查看 GmailApp 文档 (replying)/(sending),您会发现一些限制。如果您从 MailApp(Google Apps 脚本)发送邮件,发件人的地址 (from) 必须是有效的 Alias

    但是,GmailMessage 类中有很多方法,例如 getFrom()getReplyTo(),它们允许您获取/设置消息的 from/replyTo 参数并让它们具有相同的值。这样,当您回复消息时,您将始终处于同一个线程中。

    【讨论】:

    • 感谢您的回复...我正在尝试做的一个用例如下:我收到一封电子邮件;用标签标记它; “回复”事件在以后触发,电子邮件被发送到我选择的电子邮件地址,而不是原始发件人的地址(就像典型的回复那样)。想法?
    • 不幸的是,您唯一真正的选择是转发该消息。没有办法“回复新人”并将该消息保留在原始线程中。但是,您可以使用可选参数转发消息:see here。我还没有测试过,但是如果您将转发消息上的replyTo 参数设置为线程的原始发件人,如果该人回复了转发的消息,它仍然会在同一个线程中(从您的角度来看) .不过不要让我坚持!
    • 这正是我的想法。不幸的是,它没有按预期工作。我正在尝试为 Gmail 创建 Boomerang 效果,即稍后将电子邮件返回到收件箱顶部,但这似乎不是正确的方法。
    • 我确实注意到了您就该主题发布的另一个问题。手动测试它,没有代码,这就是我注意到的。如果您回复收件箱的所有者(再次查看Alias,如我的回答所示),使用原始消息,该消息将返回到顶部的用户收件箱,未读。如果您将邮件转发给收件箱的所有者,也会出现同样的情况。这些消息也保存在同一个线程中。我知道 Boomerang - 如果您在 X 时间后寻找“反弹”消息,您应该转发/回复原始消息发件人。至少,这是手动工作的。
    • 另请注意 - 如果您有该标签,则应用 跳过收件箱(归档),那么无论您做什么,当您回复/转发该线程时相同的标签。因此,如果您希望它像“通知”一样返回收件箱,您需要在发送之前从邮件中删除标签,或者创建一个全新的邮件。从线程中删除标签:docs
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多