我将自己域名的整个电子邮件系统从 GMail 迁移到了另一家提供商,仍然使用我的域名。在新系统中,并非所有来自原始 GMail 系统的电子邮件地址都已重新创建。我设置了一个“catch-all”/通配符电子邮件(用于发送到不存在的电子邮件地址的电子邮件),它运行良好。
大约一周后,我在新系统中重新创建了 GMail 系统中原来存在的一些电子邮件地址。这些电子邮件地址丢失了一周内发送给他们的电子邮件,所有这些丢失的电子邮件都保存在“catch-all”/wildcard 邮箱中,我可以通过 Web、IMAP 和 POP3 访问该邮箱。
我如何从“catch-all”/通配符邮箱中提取丢失的电子邮件并将其复制或转发到它们原本要发送的原始邮箱?我想要一个使用程序的自动化流程,在其中输入目标电子邮件地址和任何其他相关参数。
我在新系统中没有 root 访问权限。我拥有与“Google For Your Domain”管理面板中相同的访问权限,此外还有一个 API,可通过外部程序执行各种功能。
这是从同一域中的另一封电子邮件发送到不存在的电子邮件地址的两封测试电子邮件的标题。
电子邮件 1
Received: from mxback2j.mail.yandex.net ([127.0.0.1])
by mxback2j.mail.yandex.net with LMTP id 5X48SyJk
for <[email protected]>; Mon, 10 Aug 2015 12:39:49 +0300
Received: from web19j.yandex.ru (web19j.yandex.ru [2a02:6b8:0:1619::319])
by mxback2j.mail.yandex.net (nwsmtp/Yandex) with ESMTP id nJ7ByEVW6U-dn5ewS0i;
Mon, 10 Aug 2015 12:39:49 +0300
X-Yandex-Front: mxback2j.mail.yandex.net
X-Yandex-TimeMark: 1439199589
Authentication-Results: mxback2j.mail.yandex.net; dkim=pass [email protected]
Received: from 127.0.0.1 (localhost [127.0.0.1])
by web19j.yandex.ru (Yandex) with ESMTP id 51EE419404BF;
Mon, 10 Aug 2015 12:39:49 +0300 (MSK)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mydomainname.com;
s=mail; t=1439199589;
bh=yGsBXgbrF2nr8eQFWxTXC6fTX8Rm0yym2ZrODvEqvT0=;
h=From:To:Subject:Date;
b=rV4mcTxUHD+DZZUfOPzlFQAtMJsXOPy5x2wL9p6IIjOCqJBIN62LIwrfGOwh70+MN
vzZoiNNeQmHv9ifAGw50NQFYciO+QJyVRVL5THarz0sDaEIWndtDwc2lnFjQqqlKBS
6JvPP2x9A6pXr/ek1JSQM0FtfEvKeSlM27mBAl8E=
X-Yandex-Spam: 1
X-Yandex-Front: web19j.yandex.ru
X-Yandex-TimeMark: 1439199589
Received: by web19j.yandex.ru with HTTP;
Mon, 10 Aug 2015 12:39:49 +0300
From: Admin <[email protected]>
To: [email protected]
Subject: Test
MIME-Version: 1.0
Message-Id: <[email protected]>
X-Mailer: Yamail [ http://yandex.ru ] 5.0
Date: Mon, 10 Aug 2015 11:39:49 +0200
Content-Transfer-Encoding: 7bit
Content-Type: text/html
Return-Path: [email protected]
X-Yandex-Forward: 96c95557c105a7cf33717bc08474a8bc
测试。
电子邮件 2
Received: from mxback2j.mail.yandex.net ([127.0.0.1])
by mxback2j.mail.yandex.net with LMTP id hZsI1hDZ;
Mon, 10 Aug 2015 12:40:38 +0300
Received: from web19j.yandex.ru (web19j.yandex.ru [5.45.198.60])
by mxback2j.mail.yandex.net (nwsmtp/Yandex) with ESMTP id VCUXOJBY0S-ec5qR18F;
Mon, 10 Aug 2015 12:40:38 +0300
X-Yandex-Front: mxback2j.mail.yandex.net
X-Yandex-TimeMark: 1439199638
Authentication-Results: mxback2j.mail.yandex.net; dkim=pass [email protected]
Received: from 127.0.0.1 (localhost [127.0.0.1])
by web19j.yandex.ru (Yandex) with ESMTP id 81F1F19404D7;
Mon, 10 Aug 2015 12:40:37 +0300 (MSK)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mydomainname.com;
s=mail; t=1439199637;
bh=yGsBXgbrF2nr8eQFWxTXC6fTX8Rm0yym2ZrODvEqvT0=;
h=From:To:Cc:Subject:Date;
b=lNQ/5a+qhQt2Wwuv6mVzzuuQX6zd+g0BlXUj/sreLPoqwW2UI1jQuzurfaJuOaiAu
RzoAS59RuaQzuvce2/SA6a8IeephZpbZO0wj0MoP8ZmPbGCD2OI5pLMr2PgjFHSDrZ
nOmgUAUmmA71C5HMRHdtjCeVfgFOlMoTP2B/uPL8=
X-Yandex-Spam: 1
X-Yandex-Front: web19j.yandex.ru
X-Yandex-TimeMark: 1439199637
Received: by web19j.yandex.ru with HTTP;
Mon, 10 Aug 2015 12:40:37 +0300
From: Admin <[email protected]>
To: [email protected]
Cc: [email protected],
[email protected]
Subject: Test
MIME-Version: 1.0
Message-Id: <[email protected]>
X-Mailer: Yamail [ http://yandex.ru ] 5.0
Date: Mon, 10 Aug 2015 11:40:37 +0200
Content-Transfer-Encoding: 7bit
Content-Type: text/html
Return-Path: [email protected]
X-Yandex-Forward: 96c95557c105a7cf33717bc08474a8bc
测试。
答案1
当我过去这样做时,我在脚本中采用的方法如下:
- 与服务器建立 IMAP 连接并登录。
- 使用 IMAP SEARCH (SINCE DD-MM-YYYY) (BEFORE DD-MM-YYYY) 命令获取消息列表。
- 读入丢失邮件的收件人列表
- 对于每条消息,获取收件人和抄送收件人,并根据列表进行检查
- 对于每个匹配的收件人,将邮件副本作为 MIME msg/rfc822 附件转发。
如果您愿意,我可以发布一个指向我的 forward_missing_messages 脚本(它是用 Perl 编写的)的链接,以供参考。
-里克