标题:TELNET连接到SMTP服务器发送邮件 出处:Felix021 时间:Wed, 29 Oct 2008 22:41:35 +0000 作者:felix021 地址:https://www.felix021.com/blog/read.php?1239 内容: 安装了exim,测试一下,gmail成功收到邮件。 telnet localhost 25 引用 helo felix021 mail from: felix021@felix021-laptop rcpt to: felix021[at]gmail.com data subject: test line 1 line 2 . 下面是转贴的,如何通过telnet方式连接到smtp/pop服务器进行邮件的收发: zz from http://hi.baidu.com/kwunkuklan/blog/item/455f121749120a044b90a75e.html 如何使用telnet进行smtp邮件发送 转帖! cmd bat.. =========先计算BASE64编码的用户名密码,认证登录需要用到=========== [crazywill@localhost crazywill]$ perl -MMIME::Base64 -e 'print encode_base64("crazywill");' Y3Jhenl3aWxs [crazywill@localhost crazywill]$ perl -MMIME::Base64 -e 'print encode_base64("mypassword");' bXlwYXNzd29yZA== ======================开始SMTP发信操作========================== [crazywill@localhost crazywill]$ telnet smtp.163.com 25 #telnet登录25端口 Trying 202.108.5.81... Connected to smtp.163.com. Escape character is '^]'. 220 163.com Coremail SMTP(Anti Spam) System EHLO smtp.163.com # 握手 :) 250-mail 250-PIPELINING 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250 8BITMIME AUTH LOGIN # 开始认证登录 334 dXNlcm5hbWU6 crazywill 334 UGFzc3dvcmQ6 mypassword 535 Error: authentication failed # 直接用户名密码不能登录 AUTH LOGIN 334 dXNlcm5hbWU6 Y3Jhenl3aWxs 334 UGFzc3dvcmQ6 bXlwYXNzd29yZA== 235 Authentication successful # 使用Base64编码则成功登录 MAIL FROM: # 邮件发送方 553 You are not authorized to send mail, authentication is required # 不可伪造发送邮件 MAIL FROM: # 邮件发送方 250 Mail OK RCPT TO: # 邮件的接收方,若有多个收件人,则重复这一语句多次。 250 Mail OK DATA # 邮件体内容 354 Please start mail input. TO: crazywill@163.com # 此处的TO,FROM,等内容,可以随便造假 :) 可以骗人但骗不了懂得查看邮件源码的。 FROM: cccc@163.com SUBJECT: test by telnet/smtp test, just a test. # 邮件正文内容,与Header部分空一行开始写 . # 邮件写完,以一个句点加回车结果。 250 Mail OK queued as smtp10,wKjADQ2ApxRnnqBE0CWaEw==.38326S3 # 返回250 表示发送成功。 NOOP # 空语句,不执行任何操作,一般用来保持和服务器连接,不要掉线 250 OK QUIT # 退出 221 Closing connection. Good bye. Connection closed by foreign host. [crazywill@localhost crazywill]$ ======================开始POP3收信操作========================== [crazywill@localhost crazywill]$ telnet pop.163.com 110 #telnet登录110端口 Trying 202.108.5.104... Connected to pop.163.com. Escape character is '^]'. +OK Welcome to coremail Mail Pop3 Server (163com[20050206]) USER crazywill # 用户名 +OK core mail PASS mypassword # 登录密码 +OK 254 message(s) [27676669 byte(s)] STAT # 查看邮箱状态 +OK 254 27676669 LIST # 邮件列表 +OK 254 27676669 1 2468 2 21945 3 33136 4 2071 5 3364 6 18906 7 3136 8 24764 ................. TOP 254 0 # 查看指定邮件的邮件头,0表示查看整个邮件头,其它正整数表示限制返回多少行。 +OK core mail Received: from smtp.63.com (unknown [58.252.70.158]) by smtp5 (Coremail) with SMTP id wKjREDrA9gIfFqlEjCnRAg==.29062S4; Mon, 03 Jul 2006 21:07:18 +0800 (CST) TO: crazywill@163.com FROM : cccc@163.com # 这里即前面发信时伪造的一个假发送人信息,平时正常操作只显示这个。 SUBJECT: test by telnet/smtp # 邮件主题 Message-Id: Date: Mon, 3 Jul 2006 21:07:19 +0800 (CST) Sender: crazywill@163.com # 这里是真正的发送人,不可伪造。 . RETR 254 # 获取指定邮件 +OK 354 octets Received: from smtp.63.com (unknown [58.252.70.158]) by smtp5 (Coremail) with SMTP id wKjREDrA9gIfFqlEjCnRAg==.29062S4; Mon, 03 Jul 2006 21:07:18 +0800 (CST) TO: crazywill@163.com FROM : cccc@163.com SUBJECT: test by telnet/smtp Message-Id: Date: Mon, 3 Jul 2006 21:07:19 +0800 (CST) Sender: crazywill@163.com test, just a test. . DELE 254 # 删除第254封邮件 +OK core mail STAT # 查看邮箱状态 +OK 253 27676315 QUIT # 退出 +OK core mail Connection closed by foreign host. [crazywill@localhost crazywill]$ =============================================================== QUESTION: 如何发送给多人,如何CC,BCC? ANSWER: (此答案由SnifferPro监听OUTLOOK发送多人邮件分析出来的) 同一封信发送/抄送给多人,在MAIL FROM: 后,多次使用 RCPT TO: 每次一个邮件地址,需要发给多少人就 RCPT TO 多少次。 在DATA里面写的CC,BCC,TO,等信息只起显示作用,与实际发送人接收人无关。 CC与BCC的差别:同样都是RCPT TO指定收件人,但是邮件客户端程序,不会将BCC的收件人写到DATA要传送的数据里。 Generated by Bo-blog 2.1.0