大概弄懂了Java Mail的使用方法
2008-02-23 09:20:49来源:互联网 阅读 ()
然后发现Jakarta的commons api更加简单,方便.
看一个最简单的commons api发邮件的例子:
SimpleEmail email = new SimpleEmail();
email.setHostName("mail.myserver.com");
email.addTo("jdoe@somewhere.org", "John Doe");
email.setFrom("me@apache.org", "Me");
email.setSubject("Test message");
email.setMsg("This is a simple test of commons-email");
email.send();
主页是这里:
http://jakarta.apache.org/commons/index.html
就这么几行,就搞定...
不过我还是决定学习使用Java mail,毕竟看了一下午时间...
简单笔记:
1.发邮件使用smtp(Simple Mail Transfer Protocol)协议
读邮件使用广泛使用的pop3(Post Office Protocol)协议
2.Java Mail里的几个类,我看文档时边看边记了几个:
Message:
抽象类,定义了一组一个邮件的属性和内容.
Folder:
Messages是存储在Folder对象中.Folder提供了fetch,appden,copy和delete消息的方法.
客户创造一个合适的Message子类.最后用Transport.send()发出消息
Session:
定义了客户和网络之间整体和个人邮件属性的接口.
final类,不能被继承.
Address:
邮件地址
BodyPart:
实现Part接口.
Multipart:
继承Message,是一个包含Bodypart的容器.
Flages:
说明在floder里面的message的状态.
answered:这个message已经被回答.
draft:这个message是草稿.
...
Strore:
定义了一个包含Folder的数据库
Folder里面是Message.
Folder:
可以包含subfolders.
store的getDefaultFolder()返回用户默认目录的根目录
The JavaBeans Activation Framework
决定传输数据的类型.
Setting Message Content
两种方法:
setDataHandler
setContent
Viewing a Message:
一般是3种: text/plain, text/html, multipart/mixed
Transport:
用来发送邮件,可以接受到成功或失败的事件.
session.getTransport(Address address);
或
session.getTransport(String protocol);
protocol写为:"SMTP"
3.然后嘛,就开始写个能够发邮件和收邮件的小程序热热身咯.
我是拿163,和126开刀的,它们的服务器域名是:
smtp.163.com
pop.126.com
smtp.126.com
pop.126.com
很快就写出了程序,程序的难点主要是密码认证那里,开始有点不知道怎么写.
认证代码是这样的:
// create some properties and get the default Session
Properties props = new Properties();
props.put("mail.smtp.host", "host");
Session session = Session.getDefaultInstance(
props,
new Authenticator() {
public PasswordAuthentication
getPasswordAuthentication() {
return new PasswordAuthentication("username", "password");
}
});
发给大部分邮件都没有问题,进自己的邮箱也能读.
程序输出:
EHLO Eclipse
250-mail
250-PIPELINING
250-AUTH LOGIN PLAIN NTLM
250-AUTH=LOGIN PLAIN NTLM
250 8BITMIME
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN NTLM"
DEBUG SMTP: Found extension "AUTH=LOGIN", arg "PLAIN NTLM"
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Attempt to authenticate
AUTH LOGIN
334 dXNlcm5hbWU6
cmFuZ3dlaV81MjA=
334 UGFzc3dVCmQ6
NjI0NTk0Mg==
235 Authentication successful
DEBUG SMTP: use8bit false
MAIL FROM:<rangwei_520@126.com>
250 Mail OK
RCPT TO:<rangwei@gmail.com>
250 Mail OK
DEBUG SMTP: Verified Addresses
DEBUG SMTP: rangwei@gmail.com
DATA
354 End data with <CR><LF>.<CR><LF>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:在view关闭时执行某些操作
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash