如何测试备用/辅助MX服务器?


10

我想使用Postfix设置辅助MX服务器,但是我想知道在投入生产之前(通过添加其MX条目)进行测试的最佳方法是什么?

一种可能的方法是使用完全不同的域名进行测试,即购买“ fake-test-domain.com”之类的域名,并仅使用此备用MX服务器将其设置为DNS区域。

有什么简单的方法可以强制邮件服务器在DNS中列出之前向该服务器发送消息?

我认为我无法在发送系统上使用hosts文件,因为那不会模拟MX记录,对吗?


2
您可以仅启用辅助MX。只要它在MX记录中的优先级较低,就不会对其进行任何传递,您可以按照@EEAA所述进行测试。顺便说一句:当心备用邮件服务器是垃圾邮件陷阱。而且,如果您未设置收件人验证,则会收到大量发回邮件,发往垃圾邮件发送者所使用的任何地址。您可能想要设置一个手动或自动系统来控制iptables规则以访问端口25。大多数发送服务器的延迟时间为三天,因此仅在必要时手动打开后备MX端口25很容易。
Halfgaar 2014年

我会问为什么您认为您需要辅助MX?
joeqwerty 2014年

@Halfgaar如果辅助MX服务器配置错误,则在发件人出于任何原因(包括末尾的连接问题)而无法连接到主MX服务器的情况下,可能导致邮件丢失。至少,如果尚未将其添加到DNS中,则主服务器的暂时性问题不会导致邮件丢失-发件人只会将邮件排队,然后再试一次。
thomasrutter 2014年

@joeqwerty我实际上是在考虑将邮件服务器迁移到另一台计算机,这将涉及设置服务器以在DNS传播期间中继到新服务器(即使TTL值较低,某些解析器也会缓存30分钟或更长时间) 。由于无论如何我都需要努力使此中继正常工作,所以我认为最好还是创建一个备份MX服务器配置。这将是一次学习经历。这只是为了提供一些背景信息。
thomasrutter 2014年

Answers:


20

只需使用telnet会话来测试电子邮件传递。举个例子,

# telnet host.domain 25
Trying host.domain...
Connected to host.domain.
Escape character is '^]'.
220  ESMTP
HELO example.com
250
MAIL FROM:<user@example.com>
250 ok
RCPT TO:<user2@example.com>
250 ok
DATA

To: user2@example.com
From: user@example.com
Subject: a test message

Test message body.
.
250 ok

13
+1-任何管理SMTP服务器但不能在TELNET中“手动”运行协议的人都没有管理SMTP服务器的业务。
埃文·安德森

1
@EvanAnderson这是一个很好的通用原则,直到测试STARTTLS或PLAIN以外的任何AUTH为止。但是,在这种情况下,您是绝对正确的。
thomasrutter 2014年

2
@thomasrutter我通常STARTTLS使用手动进行测试openssl s_client -starttls smtp -connect ...。但我同意非PLAIN身份验证方法存在问题。
MadHatter

2

当telnet不够或太乏味时,我使用SWAKS

例如:

 cat email-content.txt | 
 swaks --body - --helo localhost.localhomain --server mail.example.com:25 \
  --auth-user fred --auth-password flintst1 -tls \
  --h-Subject Pebbles  --to wilma@example.org
  --from 'fred@example.biz'

sudo apt install swaks在Ubuntu上工作
Donn Lee
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.