一、postfix的安装
postfix需要saslauthd配合安装
http://wiki.ubuntu.org.cn/index.php?title=UbuntuHelp:Postfix/zh&variant=zh-cn
http://wiki.ubuntu.org.cn/index.php?title=UbuntuHelp:Postfix&variant=zh-cn
二、smtp的测试
http://www.corpease.net/help/20100629/20100629041405.html
大体思路是:
- 您可以通过使用以下格式的 Telnet 命令来启动 Telnet 会话:
注意:在键入每行内容之后按 Enter 键。telnet 服务器名 端口号
例如,键入:telnet mail.contoso.com 25
注意:您可以将服务器名 替换为您要连接到的 smtp 服务器的 IP 地址或 FQDN。 记住在键入每个命令之后按 Enter 键。
如果该命令起作用,您将会收到来自 smtp 服务器的类似以下内容的消息:220 site.contoso.com Microsoft Exchange Internet Mail Connector <IMC 的版本号>
- 通过键入以下命令开始通信:
EHLO test.com
注意:您可以使用 HELO 命令,但是 EHLO 是扩展 SMTP 动词集中的一个动词,SMTP 的所有当前 Microsoft 实现都支持该动词集。除非您认为扩展 smtp 动词有问题,否则最好使用 EHLO。
如果该命令成功,您会收到以下消息:250 OK
- 键入以下命令向接收 smtp 服务器通知邮件发件人:
MAIL FROM:Admin@test.com
注意:该地址可以是您想使用的任何 smtp 地址,但是最好考虑以下问题: - 键入以下命令向接收 smtp 服务器通知邮件的收件人。
注意:最好始终使用要发送到的域中的有效收件人 smtp 地址。例如,如果您要发送到 john@domain.com ,必须确保域中存在 john@domain.com 。否则,您会收到 NDR。
使用您要发送到的人员的 smtp 地址键入以下命令:RCPT TO:User@Domain.Com
您会收到以下消息:250 OK - Recipient User@ Domain.Com
- 键入以下命令通知 smtp 服务器您已准备好发送数据:
DATA
您会收到以下消息:354 Send data. End with CRLF.CRLF
- 您现在已可以开始键入邮件的 822/2822 部分。用户将会在他们的收件箱中看到邮件的这一部分。键入以下命令以添加主题行:
Subject:test message
按两次 Enter 键。此命令不会显示任何信息。
注意:按两次 Enter 键为了与 Request for Comments (RFC) 822 和 2822 保持一致。它规定 822 命令后面必须跟一个空行。 - 键入以下命令以添加邮件正文:
This is a test message you will not see a response from this command.
- 在下一个空行中键入英文句点 (.),然后按 Enter 键。 您会收到以下消息:
250 OK
- 键入以下命令关闭连接:
QUIT
您会收到以下消息:221 closing connection
- 验证收件人是否收到您发送的消息。如果在应用程序事件日志中出现任何错误事件消息,或者接收邮件时出现问题,请检查主机的配置或通信。
三、外部机器调用smtp
1.首先要在postfix的main.cf里面配置mynetworks,将外部机器的ip加入进去。比如 mynetworks = 192.168.1.0/24, 127.0.0.0/8, 192.168.1.100/32
http://linux.vbird.org/linux_server/0390postfix.php#server_basic
2.其次,在测试的时候,data需要自己构建from和to的内容,否则邮件不会带的。比如
Subject:test message
From: "Liu, Yang" <liuyang@123.com>
To: MT <mt@123.com>
然后再两个回车换行
其他资料:
Postfix虚拟域名主机
http://alpha1981.blog.51cto.com/449190/300816