手把手教你javamail开发(一)

因为现实需求中,一般都是发邮件的,收邮件的需求比较少,除非你刚好在邮件服务器部门干活。。。所以就只讲发邮件部分的。

本文会按 从命令行发邮件----->一个简单的文本邮件----->一个带有附件图片以及文本邮件的流程讲解javamail的开发

         首先你要知道一点知识点,一般来说,发邮件和上网一样,都是基于协议的。上网用的是http协议和https协议。一般而言,发一封普通的邮件用的是smtp协议,收邮件则用pop3协议。

         如下图所示:(大公司一般是收发邮件各一个服务器,下图是一些小公司所用的,一个服务器既负责收邮件,也负责发邮件,aaa发送到bbb的整个流程)

 

 

首先我们演示一下在命令行下如何发邮件。

 

首先要连接上相应的邮件服务器。在这里以qq邮箱作为发送一方

//首先你要连接上相应的接收邮件的服务器,此时你登陆邮箱,点击【帮助中心】,找到【客户端设置】,里面有个选项,顺藤摸瓜,你能看到如下图:


输入命令:telnet smtp.qq.com 25  

连接上后输入按步骤输入以下命令(注意,不含标号,标号实际上是步骤):

1.      ehlo xxxx     //先向服务器sayhello

2.      auth login    //告诉服务器要爷要登陆

3.      Nhc3Qu      // (账号的base64编码)

4.      dGVzdEBp      // (密码的base64编码)

5.      mailfrom:<328240784@qq.com>   //你自己上面登陆的邮箱

6.      rcpt to:<370535441@qq.com.cn>    //要发送的邮箱

7.      data                  //告诉浏览器你要开始写内容了==!

8.  from:jjs@taiwan.com   //这个可以随便填写,一些人冒充别人发邮件就是这个原理

     to:‘itcast1111@sina.com’     //这个也可以随便填写。但是接收邮箱那里显示就是这个邮箱,建议你填真实的,要不然别人以为收错邮件,就像后面那个图显示那样:                  subject:test   //标题

      aaaaaaaaaaaaaaaaaaaaaaaa  //内容,上面空一行

.    //这个点代表结束

9.quit   //断开连接

 

事实上,我只是在腾讯的pop3和smtp服务器上互相接收发送,并没有跨服务器。但原理一样,你接收方写新浪的,照样能发送。另外有个小细节,就是你第一次试图连接的时候,qq邮箱会提示你开启pop3和smtp服务,你开启之后才可以用telnet连接。

         就这样,利用telnet就能发送邮件。当然,像163,168一些专门做邮箱服务的,要是检测到mail from:<328240784@qq.com>   和from:jjs@taiwan.com   两个地址不一样的时候,会拒绝接收。。。。第一节的javamail就告一段落。明天要是有空再写第二篇相关api的使用。如果读者对上面协议不太清楚,可以稍微百度一下,稍微了解下就ok了。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值