mail相关

命令行下发送邮件(非用户验证)

今天蚊子给开发人员配了个postfix测试程序发送邮件,为了验证是否配置成功,需要在命令行方式下发送邮件,网上查了些资料,现在把这些整理下来,方便以后自己查看只用,蚊子配置的postfix是匿名发送的,不需要用户验证。

连接上服务器的25端口,执行以下命令

# telnet 192.168.1.201 25
Trying 192.168.1.201…
Connected to localhost (192.168.1.201).
Escape character is ‘^]’.
220 localhost ESMTP Postfix
helo a
250 localhost
mail from:harvey_liu@126.com
250 2.1.0 Ok
rcpt to:harvey_liu@126.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
test just a test
.
250 2.0.0 Ok: queued as E832C43008F
quit
221 2.0.0 Bye
Connection closed by foreign host.

# telnet 192.168.1.201 25

Trying 192.168.1.201…
Connected to localhost (192.168.1.201).
Escape character is ‘^]’.
220 localhost ESMTP Postfix

helo a
250 localhost

mail from:harvey_liu@126.com
250 2.1.0 Ok

rcpt to:harvey_liu@126.com
250 2.1.5 Ok

data
354 End data with <CR><LF>.<CR><LF>

test just a test
.

250 2.0.0 Ok: queued as E832C43008F
quit

221 2.0.0 Bye
Connection closed by foreign host.

SMTP 命令包括:
我们通过telnet 到邮件服务器25端口后,就可以使用以下的命令来发送邮件了.
HELO 向服务器标识用户身份。发送者能进行欺骗,但一般情况下服务器都能检测到。
EHLO 向服务器标识用户身份。发送者能进行欺骗,但一般情况下服务器都能检测到。
MAIL FROM 命令中指定的地址是发件人地址
RCPT TO 标识单个的邮件接收人;可有多个 RCPT TO;常在 MAIL 命令后面。
DATA 在单个或多个 RCPT 命令后,表示所有的邮件接收人已标识,并初始化数据传输,以CRLF.CRLF 结束
VRFY 用于验证指定的用户/邮箱是否存在;由于安全方面的原因,服务器常禁止此命令
EXPN 验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用
HELP 查询服务器支持什么命令
NOOP 无操作,服务器响应 250 OK
RSET 重置会话,当前传输被取消,服务器响应 250 OK
QUIT 结束会话

Related Post

3 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *