我们公司有 Exchange 服务器。当外部发件人向我们公司的多名员工发送邮件时,如果邮件中有一个不存在的收件人/邮件地址,则整封邮件会被退回。
有人能解释一下如何更改交换设置,以便所有收件人都收到邮件,而只有发送到不存在的邮箱的一封邮件会被退回吗?
答案1
评论太长了,但你真的能复制这个问题吗?
因为这对于发件人来说似乎是一个更大的问题,而不一定是由于您自己的邮件服务器配置不正确。
SMTP 标准允许并期望您通过在提交消息之前发出多个 RCPT 命令来将相同的消息发送给多个收件人,并期望 SMTP 服务器将其转换为每个收件人的唯一消息。
(这就是您如何在“收件人:抄送:”和“密件抄送:”行上有效地发送有多个收件人的邮件的方法。)
在我的测试系统上(我只有一个 Postfix 而没有 Exchange 服务器),在一些有效地址之间包含一个不正确的地址确实会导致该不正确的地址出现错误,这是预期的结果,但是当您继续时,消息仍将被传递到所有其他有效的邮箱。
我希望 Exchange 确实能做同样的事情,但可能会犯错。
您可以通过 telnet 会话模拟消息传递来轻松进行测试:
telnet mailhost 25
Connected to mailhost
Escape character is '^]'.
220 mailhost ESMTP Postfix (Ubuntu)
helo my.hostname
250 mailhost
mail from: [email protected]
250 2.1.0 Ok
rcpt to: valid-mail-address-1
250 2.1.5 Ok
rcpt to: non-existant-mail-address
550 5.1.1 <non-existant-mail-address>: Recipient address rejected: User unknown in local recipient table
在此阶段,电子邮件客户端通常会停止发送消息并向用户弹出窗口,要求他们检查被拒绝的电子邮件地址,但出于调试目的,您可以并且应该能够继续使用第三个有效的收件人地址,然后提交实际的电子邮件消息:
rcpt to: valid-mail-address-2
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
From: ServerFault <[email protected]>
Subject: test
This is a test.
.
250 2.0.0 Ok: queued as 7210CBD1AA
quit
221 2.0.0 Bye
尽管中间收件人有错误,但这会导致两个有效邮箱中都出现一封新的电子邮件,但我目前无法访问交换服务器。
答案2
答案3
Exchange 2016?您可以与其他外部发件人一起测试,确保此问题不是由发件人方面造成的。此外,您可以使用邮件跟踪检查邮件是否发送给了其他正确的收件人,并检查是否有任何错误或更多信息。