You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用R的emayili包回复邮件并获取发送邮件的Message ID?

关于emayili包回复邮件的问题解答

一、inreplyto() 和 references() 的区别

  • inreplyto():用来指定你直接回复的那封邮件的Message ID,作用是告诉邮件客户端,这封邮件是对某一封特定邮件的直接回应,会让它关联到原邮件的对话线程中。
  • references():用于构建完整的邮件对话链,通常需要填入当前回复序列里所有历史邮件的Message ID(包括直接回复的那封,以及更早的祖先邮件),帮助邮件客户端梳理整个对话的来龙去脉。

简单总结:inreplyto指向直接父邮件,references是整个对话的ID序列集合。

二、如何获取Message ID

1. 从已收到/已发送邮件中提取

如果是回复收件箱里的邮件,需要从邮件的原始头部信息里找Message-ID字段:

  • Gmail:打开目标邮件,点右上角「更多」→「显示原始邮件」,在内容里找Message-ID: <xxx@xxx.com>,尖括号包裹的内容就是msgid。
  • 其他邮件客户端:一般在「邮件属性」或「查看原始内容」选项里能找到这个字段。

2. emayili发送邮件时是否返回Message ID

默认情况下,smtp()函数发送邮件后不会直接返回Message ID——因为这个ID大多是由邮件服务器(比如Gmail)生成并添加到邮件头部的,并非emayili本地生成。

如果需要获取自己发送邮件的msgid,有两种方式:

  • 方式一:发送后去自己的「已发送」文件夹找到对应邮件,按上面的方法提取其Message ID。
  • 方式二:手动自定义Message ID。在构建邮件时用header()函数指定Message-ID,这样就能提前知道msgid,示例代码如下:
message_content <- envelope(
  to      = "Reciever@gmail.com" %>% address(display = "MR. Reciever"),
  from    = "Sender@gmail.com" %>% address(display = "MR. Sender"),
  subject = "email_subject",
  importance = "high", 
  priority = "urgent"
) %>% 
  return_path("Sender@gmail.com" %>% address(display = "MR. Sender")) %>%
  # 手动设置符合邮件标准的Message ID,格式一般为<唯一标识@域名>
  header("Message-ID", "<my-custom-msg-1234@gmail.com>")

# 发送后,这个自定义的字符串就是该邮件的msgid
smtp(message_content, verbose = F)

三、回复邮件的完整示例代码

假设已经获取到原邮件的msgid为<original-msg-id@example.com>,回复代码如下:

# 原邮件的Message ID
original_msgid <- "<original-msg-id@example.com>"

# 构建回复邮件
reply_content <- envelope(
  to      = "Reciever@gmail.com" %>% address(display = "MR. Reciever"),
  from    = "Sender@gmail.com" %>% address(display = "MR. Sender"),
  subject = "Re: email_subject"  # 回复主题通常添加Re:前缀
) %>%
  inreplyto(original_msgid) %>%  # 指定直接回复的原邮件ID
  references(original_msgid) %>% # 若有更早的对话ID,可用空格分隔添加
  text("Hello! This is my reply.")

# 发送回复邮件
smtp(reply_content, verbose = F)

内容的提问来源于stack exchange,提问作者a.sa.5969

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 04:22:13