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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值