用telnet发邮件(支持smtp认证)

jack 2009-11-1 15:10 大 | 中 | 小
1.用telnet连到远程服务器

可以
telnet mail.test.com 25

或者
telnet mail.test.com smtp

2.跟服务器打招呼
HELO mail.test.com

服务器应该返回
250

如果服务器smtp需要验证,进行第三步,否则到第四步
3.输入
AUTH LOGIN

会一次提示你
334 VXNlcm5hbWU6
和
334 UGFzc3dvcmQ6
后边的内容是提示输入用户名和口令,信息是经过base64编码的
输入的用户名和口令也要经过编码,这里是一个编码、解码的工具
smtp认证通过后会显示
235 2.0.0 Authentication successful
4.写信
输入
MAIL FROM: <juhui@test.com>

和
RCPT TO: <phpbird@test.com>

分别是发自,发往
如果正常都应该返回250
输入
DATA

开始写信
Subject:test mail
test email
.

250 2.0.0 Ok: queued as 93223136C8E
退出
QUIT

Postfix上试用通过。



都是用rcpt to命令,对于抄送和密送的区分问题如下:
实现抄送及密送

在SMTP 命令集中并没有RCPT CC 或RCPT BCC 相关命令, 那要如何来实现抄送和密送功能呢?

在网络上找到这样一句话: “ 所有的接收者协商都通过RCPT TO 命令来实现,如果是BCC ,则协商发送后在对方接收时被删掉信封接收者”, 开始一直不明白这句话是什么意思? 后来通看查看foxmail 的邮件原文发现:

Date: Wed, 6 Jan 2010 12:11:48 +0800

From: "carven_li" < carven_li @smtp.com>

To: "carven" <carven@smtp.com>

Cc: "sam" <sam@smtp.com>,

  "yoyo" <yoyo@smtp.com>

BCC: "clara" <clara@tsmtp.com>

Subject: t

X-mailer: Foxmail 5.0 [cn]

Mime-Version: 1.0

Content-Type: multipart/mixed;

    boundary="=====001_Dragon237244850520_====="

才恍然大悟, 所谓的” 协商” 应该就是指发送方在Data 中指定哪些为CC, 哪些为BCC, 默认情况下什么都不写, 只发送第一个RCPT TO 的mail, 其他的都被过滤掉.

作者:jack@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://www.jackxiang.com/post/2155/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jack 编辑于2010-3-21 23:33
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]