用swaksvalidationMTA的正确行为

我正在寻找一些build议,我应该检查我的全新的邮件服务器,因为这是正确的行为。 /说行为,因为它正在工作 – 只是要确保它比正常工作./

我不想只被列入黑名单,例如我忘记了不允许明文authentication。

希望使用swaksvalidationfunction“从互联网端”。

首先出现在我的脑海里:

  1. 打开中继 – 不应该被允许
  2. 正如我上面所说 – 不允许纯文本validation – 只允许在tls。
  3. 尝试传递给不存在的本地用户 – 应该失败
  4. validationpostmaster滥用别名的交付(存在)(其他人被build议有?)

所以

 swaks --to .. --from .. --auth-user name --auth-password pass --protocol SMTP ^^^^^^^^^^^^^ 

如果这个失败,用*** Host did not advertise authentication足够了。

任何其他想法我必须/应该validation? swaks是伟大的工具 – 如果你知道如何使用它:)使用“exim”作为MTA。 什么是你最喜欢的swaks小费?

您的示例不足以显示纯文本身份validation不允许通过非tls连接。 --protocol SMTP明确告诉swak不要使用ESMTP,ESMTP是validation所必需的。 换句话说,您正在testing通过SMTP提供的身份validation,而不是通过纯文本连接提供的纯文本身份validation。 (谁的第一!)。

以下内容更接近您要查找的内容:

 # These should fail, because you don't want to offer plaintext auth protocols # over non-tls connections swaks ... --auth PLAIN --auth-user .. --auth-password .. swaks ... --auth LOGIN --auth-user .. --auth-password .. # Should succeed because hashed PW protocols are ok over plaintext (assuming you # support them at all of course): swaks ... --auth CRAM-MD5 --auth-user .. --auth-password .. swaks ... --auth DIGEST-MD5 --auth-user .. --auth-password .. swaks ... --auth NTLM --auth-user .. --auth-password .. # The converse of the above, make sure your plaintext password work over tls # sessions (assuming you want them to, of course) swaks ... --auth PLAIN --auth-user .. --auth-password .. --tls swaks ... --auth LOGIN --auth-user .. --auth-password .. --tls swaks ... --auth CRAM-MD5 --auth-user .. --auth-password .. --tls swaks ... --auth DIGEST-MD5 --auth-user .. --auth-password .. --tls swaks ... --auth NTLM --auth-user .. --auth-password .. --tls 

希望有所帮助,祝你好运!

testing开放继电器:

 $ swaks -f [email protected] -t [email protected] --server host.yourserver.com 

testing不存在的用户交付

 $ swaks -f [email protected] -t [email protected] --server host.yourserver.com 

你应该validation所有的电子邮件端口(25,465,587)的正确性,也许有人会build议更多的testing如何做。