使用javamail包来发送邮件

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

具体看类注释说明。

import java.io.InputStream;
import java.util.Properties;

import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class BlogMail {
	public static void sendmail(String subject,String content,String address)throws Exception
	{
		/*载入配置文件 javamail库默认会从配置文件中加载配置,当然也可以手动配置*/
		Properties pro=new Properties();
		/*这里是举例,使用java默认的properties文件格式*/
		InputStream is=BlogMail.class.getClassLoader().getResourceAsStream("config/mail.properties");
		pro.load(is);
		//pro.setProperty("mail.smtp.auth","true");
		//认证模式
		//pro.setProperty("mail.transport.protocol","smtp");
		//pro.setProperty("mail.smtp.host","smtp.exmail.qq.com");
		//连接协议
		
		/*根据配置文件生成一个session环境对象*/
		Session session=Session.getInstance(pro);
		/*使用smtp协议获取session环境的Transprot对象来发送邮件 javamial使用Transport对象来管理发送邮件服务*/
		Transport tran=session.getTransport("smtp");
		/*链接邮箱服务器,host是你的邮箱服务器 如:sina.smtp.com*/
		tran.connect(pro.getProperty("mail.smtp.host"),pro.getProperty("username"),pro.getProperty("password"));
		/*创建一个扩展信息对象,用来包装要发送的多媒体信息格式,也可以只是简单的文本*/
		MimeMessage msg=new MimeMessage(session);
		/*设置Content 浏览器解析编码和格式等*/
		msg.setContent(content,"text/html;charset=utf-8");
		/*设置内容体 这里仅仅是简单的html文本*/
		msg.setSubject(subject);
		/*设置发送邮件方 地址*/
		msg.setFrom(new InternetAddress(pro.getProperty("username")));
		/*SendMessage方法第一个参数是邮件对象,第二个是发送的邮件地址数组。InternetAddress.parse(address)方法解析返回一个地址数组*/
		tran.sendMessage(msg,InternetAddress.parse(address));
		tran.close();
	}
}


mail.properties文件:

mail.smtp.auth=true
mail.smtp.localhost=blog.xxx.net
mail.smtp.host=smtp.exmail.qq.com
mail.transport.protocol=smtp
username=blog@xx.com
password=5xxxx

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

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

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


下载 mail jar包 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值