【Java】用telnet命令发送邮件【ZZ】

[size=medium][b]


邮件的发送是基于smtp协议的。邮件客户端软件给smtp服务器传送邮件和smtp服务器之间传送邮件也都是基于smtp协议的。邮件客户端软件接受邮件是主要基于pop3协议的。



下面介绍利用windows命令telnet 基于smtp协议发送邮件。

这里是用sina油箱(错别字我可不想改了,明白就行了),其他油箱会存在这样或那样的小问题,而我的目标很简单,只是想尽快用telnet命令发送一封邮件感受一下。最开始试了 163的油箱,不过输入用户名密码后会响应:550 用户被锁定,很显然需要花时间去解决这个问题,虽然网上随便一查就会有一大堆解决办法,至于真假我没去试过,因为我现在的目标这个。后来也试了 gmail油箱,不过它的响应和书上的有点出入,所以也放弃了,最后选择了sina油箱,当然我也是新申请的。



这里用到smtp协议的6个命令。6个命令就能发送邮件,有点不可思议。下面列举出所有:

ehlo 见面当然得打招呼了,后面接任意名字

AUTH 选择输入用户名密码的方式,sina的需要进行 base64 编码,后面将有转化的类提供,很简单

mail from: 说明邮件来自哪里,不一定为邮件地址,不过最好还是写成正确的email地址

rcpt to: 说明邮件发送到哪里,一定要为正确的email地址

data 发送的正文,结束为:回车,.,回车。即两个回车中间一个点

quit 断开连接

1,打开windows命令窗口,键入:telnet smtp.sina.com.cn 25

smtp.sina.com.cn 是sina邮件服务器,25 是服务器的端口号,

成功连接的响应为:220 smtp.sina.com.cn ESMTP SINAMAIL <postfix Rules!>,

前面的 220 即为响应码,只要它是 220 就表示成功连接了,

其中的 ESMTP 表示 扩展SMTP协议,



2,成功连接后就想服务器打招呼吧,

键入:ehlo cup

看到上图里面有提示有哪些验证方式,有 LOGIN,即表示用户名和密码将需要进行 base64编码。



3,选择验证方式,这里选择上面的 LOGIN,

键入:AUTH LOGIN

成功后将响应:334

334 表示命令未完成,后面接着输入编码后的email用户名,回车,将又响应:334,再输入编码后的密码,回车,这次如果验证通过将响应:235 。



4,输入发件人,

键入:mail from: <studyjavamail@sina.com>

成功将响应:250 Ok

发件人最好写成正确的email地址,因为一般邮件服务器也会验证的



5,输入收件人,

键入:rcpt to: <studyjavamail@sina.com>

成功将响应:250 Ok

收件人必须是正确的email地址,

并且可以输入多个 rcpt to 命令,将同时给多个email地址发送邮件



6,写邮件内容,

键入:data (+ 内容),以 回车 . 回车 结束内容的书写,



7,断开连接,

键如:quit

[/b][/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值