JavaMail学习笔记

 我们知道发送一封电子邮件,需要设置smtp服务器信息,编写邮件内容,最后发送邮件。
一、设置邮件服务器信息
Properties props 
=   new  Properties();
props.put(
" mail.smtp.host " , " smtp.163.com " );
props.put(
" mail.smtp.auth " , " true " );
Session session 
=  Session.getInstance(props, new  Authenticator() {
    
public PasswordAuthenticator getPasswordAuthenticator(){
        
return new PasswordAuthenticator("username","password");
    }

}
);

二、创建邮件
// 由邮件会话新建一个消息对象
MimeMessage message  =   new  Message(session);
InternetAddress from 
=   new  InternetAddress( " from@163.com " );
// 设置发件人
message.setFrom(from);
InternetAddress to 
=   new  InternetAddress( " to@163.com " );
// 设置邮件接收人,并设置接收类型为TO
message.setRecipient(Message.RecipientType.TO,to);
// 设置主题
message.setSubject(subject);
// 设置信件内容
message.setText(content);
设置发信时间
message.setSentDate(
new  Date());
message.saveChanges();

三、发送邮件
Transport transport 
=  session.getTransport( " smtp " );
// 以smtp方式登录邮箱
transport.connect( " smtp.163.com " , " username " , " password " );
// 发送邮件
transprot.sendMessage(message,message.getAlRecipients());
transport.close();

四、设置邮件正文为HTML格式
// 新建一个存放信件内容的BodyPart对象
BodyPart mdp  =   new  MimeBodyPart();
// 给BodyPart对象设置内容和格式/编码方式
mdp.setContent(content, " text/html;charset=gb2312 " );
// 新建一个MimeMultipart对象用来存放BodyPart对象
MimeMultipart mm  =   new  MimeMultipart();
mm.addBodyPart(mdp);
message.setContent(mm);

五、发送带附件的邮件
// 新建一个存放附件的BodyPart
mdp  =   new  MimeBodyPart();
// 新建一个DataHandler对象,并设置其内容和格式/编码方式
// 也可以是本地文件,如
// FileDataSource fds = new FileDataSource("c:/test.txt");
// DataHandler dh = new DataHandler(fds);
DataHandler dh  =   new  DataHandler( " JavaMail附件测试 " , " text/plain;charset=gb2312 " );
// 设置附件文件名称
mdp.setFileName( " index.html " );
// 给BodyPart对象设置内容为dh
mdp.setDataHandler(dh);
// 将含有附件的BodyPart加入到MimeMultipart对象中
mm.addBodyPart(mdp);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值