我向 2 个收件人发送了一封电子邮件,并检查了邮件日志:
tail -5000 maillog | grep "020EE4202065"
Aug 7 17:31:24 mail postfix/smtpd[7478]: 020EE4202065: client=NodoOffice[118.70.28.223], sasl_method=PLAIN, sasl_username=ngadt@my_great_company.com
Aug 7 17:31:24 mail postfix/cleanup[7485]: 020EE4202065: message-id=<6b36518e-14b1-6fac-dd27-c4c900aff87c@my_great_company.com>
Aug 7 17:31:28 mail opendkim[1717]: 020EE4202065: DKIM-Signature field added (s=default, d=my_great_company.com)
Aug 7 17:31:28 mail postfix/qmgr[2817]: 020EE4202065: from=<ngadt@my_great_company.com>, size=5481240, nrcpt=2 (queue active)
Aug 7 17:31:32 mail postfix/smtp[7487]: 020EE4202065: to=<[email protected]>, relay=mail.the-bank.com.vn[103.11.172.xx]:25, delay=8.3, delays=4.3/0.07/0.31/3.6, dsn=2.6.0, status=sent (250 2.6.0 <6b36518e-14b1-6fac-dd27-c4c900aff87c@my_great_company.com> [InternalId=23138874] Queued mail for delivery)
Aug 7 17:31:53 mail postfix/smtp[7486]: 020EE4202065: to=<[email protected]>, relay=gmail-smtp-in.l.google.com[74.125.204.26]:25, delay=30, delays=4.3/0.03/3/23, dsn=2.0.0, status=sent (250 2.0.0 OK 1502101899 g4si5235454plk.325 - gsmtp)
Aug 7 17:31:53 mail postfix/qmgr[2817]: 020EE4202065: removed
我注意到有一个额外的信息
[InternalId=23138874] Queued mail for delivery
在线 ,并说她没有在邮箱中看到该电子邮件。to=<[email protected]>
[email protected]
您能解释一下()是什么Queued mail for delivery
意思吗?电子邮件服务器是否the-bank.com.vn
收到了该电子邮件?
谢谢你!
答案1
只是想补充一些额外的信息。关于以下几行 -
Aug 7 17:31:32 mail postfix/smtp[7487]: 020EE4202065: to=<[email protected]>, relay=mail.the-bank.com.vn[103.11.172.xx]:25, delay=8.3, delays=4.3/0.07/0.31/3.6, dsn=2.6.0, status=sent (250 2.6.0 <6b36518e-14b1-6fac-dd27-c4c900aff87c@my_great_company.com> [InternalId=23138874] Queued mail for delivery)
对您来说,重要的是relay=mail.the-bank.com.vn
和status=sent
。这两个字段基本上确认您的服务器已连接到mail.the-bank.com.vn
以发送电子邮件,并且该服务器已接受该消息。从那时起,您的服务器就完成了它的工作,接下来由收件人的服务器来继续交付。
关于最后的这条消息 -
(250 2.6.0 <6b36518e-14b1-6fac-dd27-c4c900aff87c@my_great_company.com> [InternalId=23138874] Queued mail for delivery)
当 SMTP 客户端连接到邮件服务器时,它会发送一系列命令,如以下示例 ( C = Client, S = Server
)
C> MAIL FROM: [email protected]
S> 250 2.1.0 OK
C> RCPT TO: [email protected]
S> 250 2.1.5 Ok
... etc ...
客户端发送的每个命令都会收到来自服务器的响应,响应以状态代码开头,2xx 代码表示成功。这之后通常还有第二个代码,但行的其余部分通常可以是服务器想要发送的任何内容。
日志中括号内的文本是系统发送完消息后收件人服务器返回的整行内容。它以状态代码(本例中为成功)开头,但其余部分就是服务器想要发送的内容。
在这种情况下,这看起来像是来自 Exchange 服务器的正常响应(如果我没记错的话),基本上是说谢谢,我已将邮件放入队列中,准备发送。(大多数邮件服务器都有处理接收入站邮件、将其放入入站传递队列的流程,以及实际将邮件传递到邮箱的单独流程。)
将此信息记录在日志中通常对调试很有用,因为它通常包含收件人服务器分配给该消息的消息 ID(如果收件人的邮件管理员找不到该消息,您可以向他们提供日志条目/ID)。例如,Gmail 返回以下内容,这似乎是他们的时间戳(如果有人抱怨 10:45:23 的消息,但在仔细查看日志后发现发件人的时间是 3 小时),以及一个 ID。
(250 2.0.0 OK 1502179523 b127si743181wmc.127 - gsmtp)
基本上,SMTP 服务器开发人员通常会在最后的响应中放置文本,以帮助该服务器的管理员定位/跟踪消息。
答案2
除了技术解释之外,评论中已经回答了这个问题。
在该消息中,括号内的所有部分都是“另一方”的响应。第一个数字是返回代码。250
是 SMTP(简单邮件传输协议)的 OK,并且是唯一强制性的响应,其余部分因服务器和操作而异