博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javaMail发送邮件方法
阅读量:7235 次
发布时间:2019-06-29

本文共 4448 字,大约阅读时间需要 14 分钟。

hot3.png

一:首先需要导入三个jar包:

        activation-1.1.1.jar  

        commons-email-1.0.jar

        mail-1.5.0-b01.jar

二:创建一个Mail实体类:

package com.xxx.util.emailUtil;import java.io.Serializable;public class Mail implements Serializable {  	      public static final String ENCODEING = "UTF-8";        private String host; // 服务器地址        private String sender; // 发件人的邮箱        private String receiver; // 收件人的邮箱        private String name; // 发件人昵称        private String username; // 账号        private String password; // 密码        private String subject; // 主题        private String message; // 信息(支持HTML)  	public String getHost() {		return host;	}	public void setHost(String host) {		this.host = host;	}	public String getSender() {		return sender;	}	public void setSender(String sender) {		this.sender = sender;	}	public String getReceiver() {		return receiver;	}	public void setReceiver(String receiver) {		this.receiver = receiver;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public String getUsername() {		return username;	}	public void setUsername(String username) {		this.username = username;	}	public String getPassword() {		return password;	}	public void setPassword(String password) {		this.password = password;	}	public String getSubject() {		return subject;	}	public void setSubject(String subject) {		this.subject = subject;	}	public String getMessage() {		return message;	}	public void setMessage(String message) {		this.message = message;	}	public static String getEncodeing() {		return ENCODEING;	}        }

三:创建发送邮件的工具类

package com.diannuo.util.emailUtil;import org.apache.commons.mail.EmailException;import org.apache.commons.mail.HtmlEmail;import org.apache.log4j.Logger;public class MailUtil {  	      protected final Logger logger = Logger.getLogger(getClass());        public boolean send(Mail mail) {          // 发送email          HtmlEmail email = new HtmlEmail();          try {              // 这里是SMTP发送服务器的名字:163的如下:"smtp.163.com"              email.setHostName(mail.getHost());              // 字符编码集的设置              email.setCharset(Mail.ENCODEING);              // 收件人的邮箱              email.addTo(mail.getReceiver());              // 发送人的邮箱              email.setFrom(mail.getSender(), mail.getName());              // 如果需要认证信息的话,设置认证:用户名-密码。分别为发件人在邮件服务器上的注册名称和密码              email.setAuthentication(mail.getUsername(), mail.getPassword());              // 要发送的邮件主题              email.setSubject(mail.getSubject());              // 要发送的信息,由于使用了HtmlEmail,可以在邮件内容中使用HTML标签              email.setMsg(mail.getMessage());              // 发送              email.send();              if (logger.isDebugEnabled()) {                  logger.error(mail.getSender() + " 发送邮件到 " + mail.getReceiver());              }              return true;          } catch (EmailException e) {              e.printStackTrace();              logger.error(mail.getSender() + " 发送邮件到 " + mail.getReceiver()                      + " 失败");              return false;          }      }    }

四:创建SendMail类配置邮箱服务器等参数,作为发送邮件的入口

package com.diannuo.util.emailUtil;import java.io.IOException;import java.io.InputStream;import java.util.Properties;import org.apache.commons.mail.EmailException;import org.apache.commons.mail.HtmlEmail;import org.apache.log4j.Logger;/** * 发送邮件的工具类 * @author Administrator * */public class SendMail {	public static final Logger logger = Logger.getLogger(SendMail.class);		public static void main(String[] args) {		SendMail.doSendMail("邮件测试", "2016年11月4日 09:23:30");	}		/**	 * 发送邮件的入口方法	 * @param title 邮件标题	 * @param msg 邮件内容	 */	public static void doSendMail(String title,String msg) {		Properties p = new Properties();		InputStream is = SendMail.class.getResourceAsStream("/config.properties");		try {			p.load(is);		} catch (IOException e) {			logger.error("加载邮件配置信息异常",e);		}				Mail mail = new Mail();		mail.setHost(p.getProperty("host")); // 设置邮件服务器,如果不用163的,自己找找看相关的		mail.setSender(p.getProperty("sender")); // 发件人		mail.setReceiver(p.getProperty("receiver")); // 收件人		mail.setUsername(p.getProperty("userName")); // 登录账号,一般都是和邮箱名一样		mail.setPassword(p.getProperty("password")); // 发件人邮箱的登录密码		mail.setSubject(title); // 邮件标题		mail.setMessage(msg); // 邮件内容		new MailUtil().send(mail);	}}

配置文件config.properties如下:

#host地址,邮件服务器

host=smtp.163.com
#留言功能邮件发件人
sender=xxxx@163.com
#邮件收件人
receiver=xxxx@qq.com
#邮箱登录名
userName=xxxxx@163.com
#邮箱密码
password=xxxx
 

转载于:https://my.oschina.net/MrBamboo/blog/780929

你可能感兴趣的文章
VMWare Server 2.0 安装虚机机网卡驱动找不到
查看>>
python模块之logging模块
查看>>
Cron 表达式详解和案例
查看>>
HDU 3535 AreYouBusy
查看>>
磁盘管理之磁盘组成
查看>>
Page LSNs and Recovery
查看>>
select 0 与select (0)
查看>>
maven安装
查看>>
SQLServer 2008 还原数据库备份不兼容
查看>>
Oracle之into
查看>>
【mac】mac上安装JDK
查看>>
JS面试题(一)
查看>>
C语言文件I/O
查看>>
python 使用__future__
查看>>
c# 串口问题
查看>>
低配置电脑播放 flash 视频时 占 cpu 资源过高的解决方法
查看>>
linux下ssh/sftp配置和权限设置
查看>>
js面向对象编程两个主要点
查看>>
Xml通用操作类
查看>>
CSS常见以及解决兼容办法
查看>>