javamail 小结

[size=medium]要发邮件,必须登录smtp邮件服务器,要收邮件,必须登录pop3或imap服务器
一般的邮件系统默认都没有开通smtp,pop3,imap服务,需要自己登录邮件系统的页面进行设置
而163默认是开通了smtp服务的,所以我们可以用java程序通过这个smtp服务器进行发送邮件
我们的java程序其实类似于outerlook这个的邮件客户端,会建立用户代理(User Agent),
这个用户代理再跟smtp服务器联系,要求发送邮件.
所以发送邮件的具体工作还是由smtp服务器完成.

使用javaMail发送邮件的步骤是:
[b]1.建立一个连接Session[/b]
这个session包含了smtp信息,验证信息
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.163.com");
props.put("mail.smtp.auth", "true");//这里须用字符串“true"

[b]2.验证信息[/b]
Authenticator authen = new Authenticator(){
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(usename, password);
}
}

[b]3.获取Session[/b]
//如果使用Session.getDefaultInstance(props,authen)有时会出现无法访问session的错误
Session session = Session.getInstance(props, authen);

[b]4.构造邮件内容[/b]
MimeMessage message = new MimeMessage(session);
//设置from
message.setFrom(new InternetAddress(from));
//设置to,可能有多个to email, addressTo 是 InternetAddress[] 对象
message.setRecipients(Message.RecipientType.TO, addressTo);
//设置subject
message.setSubject(subject);
//设置邮件内容
//如果邮件内容不是html格式,只是plain text
if(useText){
message.setText(content);
}
//如果邮件内容是html格式
if(useHtml){
BodyPart bdp = new MimeBodyPart();
bdp.setContent(info.getContent(), "text/html;charset=utf-8");
Multipart mlp = new MimeMultipart();
mlp.addBodyPart(bdp);
message.setContent(mlp);
}

[b]5.发送邮件[/b]
Transport.send(message);
[/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值