使用javamail包来发送邮件

网站经常需要提供邮箱注册提示功能,javamail包提供了很多邮件发送和接受功能类,不过使用javamail,一般都要进行一些简单的配置,这里简单配置一下使用javamail发送邮件,

具体看类注释说明。

 

[java]  view plain copy
 
  1. import java.io.InputStream;  
  2. import java.util.Properties;  
  3.   
  4. import javax.mail.Session;  
  5. import javax.mail.Transport;  
  6. import javax.mail.internet.InternetAddress;  
  7. import javax.mail.internet.MimeMessage;  
  8.   
  9. public class BlogMail {  
  10.     public static void sendmail(String subject,String content,String address)throws Exception  
  11.     {  
  12.         /*载入配置文件 javamail库默认会从配置文件中加载配置,当然也可以手动配置*/  
  13.         Properties pro=new Properties();  
  14.         /*这里是举例,使用java默认的properties文件格式*/  
  15.         InputStream is=BlogMail.class.getClassLoader().getResourceAsStream("config/mail.properties");  
  16.         pro.load(is);  
  17.         //pro.setProperty("mail.smtp.auth","true");  
  18.         //认证模式  
  19.         //pro.setProperty("mail.transport.protocol","smtp");  
  20.         //pro.setProperty("mail.smtp.host","smtp.exmail.qq.com");  
  21.         //连接协议  
  22.           
  23.         /*根据配置文件生成一个session环境对象*/  
  24.         Session session=Session.getInstance(pro);  
  25.         /*使用smtp协议获取session环境的Transprot对象来发送邮件 javamial使用Transport对象来管理发送邮件服务*/  
  26.         Transport tran=session.getTransport("smtp");  
  27.         /*链接邮箱服务器,host是你的邮箱服务器 如:sina.smtp.com*/  
  28.         tran.connect(pro.getProperty("mail.smtp.host"),pro.getProperty("username"),pro.getProperty("password"));  
  29.         /*创建一个扩展信息对象,用来包装要发送的多媒体信息格式,也可以只是简单的文本*/  
  30.         MimeMessage msg=new MimeMessage(session);  
  31.         /*设置Content 浏览器解析编码和格式等*/  
  32.         msg.setContent(content,"text/html;charset=utf-8");  
  33.         /*设置内容体 这里仅仅是简单的html文本*/  
  34.         msg.setSubject(subject);  
  35.         /*设置发送邮件方 地址*/  
  36.         msg.setFrom(new InternetAddress(pro.getProperty("username")));  
  37.         /*SendMessage方法第一个参数是邮件对象,第二个是发送的邮件地址数组。InternetAddress.parse(address)方法解析返回一个地址数组*/  
  38.         tran.sendMessage(msg,InternetAddress.parse(address));  
  39.         tran.close();  
  40.     }  
  41. }  

 

 

mail.properties文件:

 

[plain]  view plain copy
 
  1. mail.smtp.auth=true  
  2. mail.smtp.localhost=blog.xxx.net  
  3. mail.smtp.host=smtp.exmail.qq.com  
  4. mail.transport.protocol=smtp  
  5. username=blog@xx.com  
  6. password=5xxxx  


localhost是配置一个linux主机下的主机,因为linux有时候解析不了本地localhost域名。

 

auth是针对邮箱服务器是否采取认证模式,有些邮箱服务器必须要认证模式才行。

mail.smtp.host是发送邮箱的服务器。


下载 mail jar包 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值