基于smtp的java邮件发送程序

基于smtp的java邮件发送程序

ID:9003671

大小:48.50 KB

页数:13页

时间:2018-04-14

基于smtp的java邮件发送程序_第1页
基于smtp的java邮件发送程序_第2页
基于smtp的java邮件发送程序_第3页
基于smtp的java邮件发送程序_第4页
基于smtp的java邮件发送程序_第5页
资源描述:

《基于smtp的java邮件发送程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、基于SMTP的JAVA邮件发送程序!新一篇: 如此解释!正好遇到这方面的问题,写出来,分享一下。这个程序没有使用JavaMailAPI,而是根据SMTP协议的要求直接处理协议的细节发送邮件,虽然比较麻烦了一些,但是对了解邮件协议的细节很有帮助的。本文分两部分,第一部分是SMTP命令介绍(这个从别的地方抄的,嘿嘿);第二部分通过一个实例真正理解一下发送邮件的过程。一:SMTP命令简介什么是SMTPSMTP(SimpleMailTransferProtocol):电子邮件从客户机传输到服务器或从某一个服务器传输到另一个服务器使用的传

2、输协议。SMTP是请求/响应协议,命令和响应都是基于ASCII文本,并以CR和LF符结束。响应包括一个表示返回状态的三位数字代码。SMTP在TCP协议25端口监听连接请求。什么是ESMTPESMTP(ExtendedSMTP),顾名思义,扩展SMTP就是对标准SMTP协议进行的扩展。它与SMTP服务的区别仅仅是,使用SMTP发信不需要验证用户帐户,而用ESMTP发信时,服务器会要求用户提供用户名和密码以便验证身份。验证之后的邮件发送过程与SMTP方式没有两样。SMTP命令包括:HELO向服务器标识用户身份。发送者能欺骗,说谎,但

3、一般情况下服务器都能检测到。EHLO向服务器标识用户身份。发送者能欺骗,说谎,但一般情况下服务器都能检测到。MAILFROM命令中指定的地址是发件人地址RCPTTO标识单个的邮件接收人;可有多个RCPTTO;常在MAIL命令后面。DATA在单个或多个RCPT命令后,表示所有的邮件接收人已标识,并初始化数据传输,以CRLF.CRLF结束VRFY用于验证指定的用户/邮箱是否存在;由于安全方面的原因,服务器常禁止此命令EXPN验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用HELP查询服务器支持什么命令NOOP无操作,服务器应响应

4、OKRSET重置会话,当前传输被取消QUIT结束会话连接到Postfix使用SMTP命令发送邮件例如:安装Postfix的邮件服务器IP是192.168.0.1(蓝色字体内容由客户端输入,红色字体内容是服务返回的)telnet192.168.0.125-------------------------------------------------使用telnet命令连接服务器25端口helotest.com-----------------------------------------------------------向服

5、务器标识用户身份发送mailfrom命令ehlotest.com-----------------------------------------------------------ESMTP命令,发信需要认证。authlogin----------------------------------------------------------------进行用户身份认证334VXNlcm5hbWU6Y29zdGFAYW1heGl0Lm5ldA==-----------------------------------BASE64

6、加密后的用户名334UGFzc3dvcmQ6MTk4MjIxNA==--------------------------------------------------------BASE64加密后的密码235authenticationsuccessfully--------------------------------身份认证成功(535authenticationfailed---------------------------------------身份认证失败)发到本系统中域名下的账户可跳过身份认证。mailfrom

7、:----------------------------mailfrom地址test1@domain.com250ok---------------------------------------------------------------命令执行成功rcptto:--------------------------------递送给地址test2@domain.com250ok-------------------------------------

8、--------------------------命令执行成功data------------------------------------------------------------------数据传输初始化354Enddatawith.-------

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。