package cn.chinacti.crm.util;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import cn.chinacti.crm.entity.Mail;
/**
* 邮件收发引擎
* @author huqiao
*/
public class MailEngine {
private MailEngine(){
};
/**
* 获取邮件收发引擎实例
* @return
*/
public static MailEngine getInstance(){
return new MailEngine();
}
/**
* 发送邮件
* @param hostAddress smtp.163.com
* @param password
* @param userName
* @param from
* @param to
* @param subject
* @param body
* @throws MessagingException
*/
public void sendEmail(Mail mail) throws MessagingException {
JavaMailSenderImpl javaMail = new JavaMailSenderImpl();
//服务器地址
javaMail.setHost("smtp.gmail.com");
//登录密码
javaMail.setPassword("*********");
//登录用户名
javaMail.setUsername("*********");
//设置验证
Properties prop = new Properties();
prop.setProperty("mail.smtp.auth", "true");
prop.setProperty("mail.debug", "true");
prop.setProperty("mail.smtp.socketFactory.port", "465");
prop.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
prop.setProperty("mail.smtp.socketFactory.fallback", "false");
prop.setProperty("mail.smtp.port", "465");
prop.setProperty("mail.smtp.socketFactory.port", "465");
javaMail.setJavaMailProperties(prop);
javaMail.setProtocol("smtp");
//生成邮件体
String receivers=mail.getTo();
String[] tos=receivers.split(";");
List<MimeMessage> messageList=new ArrayList<MimeMessage>();
for(String to:tos){
MimeMessage message = javaMail.createMimeMessage();
MimeMessageHelper messageHelp = new MimeMessageHelper(message,true,"UTF-8");
//邮件来源
messageHelp.setFrom(mail.getFrom());
//邮件主题
messageHelp.setSubject(mail.getSubject());
//邮件内容
messageHelp.setText(mail.getBody(), true);
messageHelp.setTo(to);
messageList.add(message);
}
//邮件发送地址
MimeMessage[] msgs=new MimeMessage[messageList.size()];
for(int i=0;i<msgs.length;i++){
msgs[i]=messageList.get(i);
}
javaMail.send(msgs);
}
}
package cn.chinacti.crm.entity;
/**
* 邮件
* @author huqiao 2011-03-30
*/
public class Mail {
private String hostAddress;//邮件服务器地址
private String userName;//登录用户名
private String password;//登录密码
private String from;//发件人
private String to;//收件人
private String subject;//主题
private String body;//内容
public String getHostAddress() {
return hostAddress;
}
public void setHostAddress(String hostAddress) {
this.hostAddress = hostAddress;
}
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 getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public String getTo() {
return to;
}
public void setTo(String to) {
this.to = to;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
}
注意:我原先使用163的时,发送单个邮件还要靠运气。群发的完全成功率更是0%。有时候能发,说明不是我配置的问题,我认为还是163的问题,我这个账号功能有限制。试着注册了一个gmail的账号,群发单发都能100%成功。 爽!
分享到:
相关推荐
javaweb实现的邮件收发系统(含数据库).zip
java 发送邮件 spring发送邮件Mail
简单的邮件收发系统,带数据库,用不了你砍我,适合学习~ 相关注意事项查看博客--------
java WEB邮件收发系统spring springMvc hibernate mysql-小龙2638.exe
该JAVA毕业设计项目是基于springboot框架开发的商务安全邮箱邮件收发项目,旨在帮助企业建立高效安全的邮件通讯系统。该项目提供了完整的源码和详细的说明文档,帮助用户快速了解和使用该系统。该项目的主要功能包括...
此毕设采用的是Spring Boot+JPA...总之,基于SpringBoot+Vue的商务安全邮箱邮件收发系统是一个功能齐全、易用、实用性很高的邮箱收发平台,能够保证商务信息的准确性和安全性,提高了商务邮件发送和接收的效率。同时
商务安全邮箱邮件收发.zip
基于SpringBoot+Vue的商务安全邮箱邮件收发是一个集成了前端和后端技术的邮箱收发邮件平台,主要用于商务邮件的接收和发送,保证商务信息的安全性和准确性。该系统的源码、部署说明和系统介绍已经打包成一个zip文件...
本项目为基于SSM的邮件收发管理系统; 用户角色包含以下功能: 用户登录,写信给好友,查看收件箱,查看已发送的邮件,草稿箱查看,通讯录设置,个人资料管理等功能。 环境需要 1.运行环境:最好是java jdk 1.8,我们在...
本系统采用前后端分离的架构,前端使用Vue.js框架,后端使用Spring Boot框架,数据库采用MySQL。 系统实现了数据加密和防止SQL注入等安全措施,确保数据的安全性和完整性。 可以根据客户需求进行二次开发和定制,...
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java...
根据软件工程的系统化开发流程,采用B/S架构设计,以jsp为开发技术,以关系型数据库mysql作为后台数据库,利用 jsp技术实现商务安全邮箱中对数据库的安全连接和访问,在jsp集成开发环境中实现系统设计研发的全过程,...
随着社会的发展,社会的方方面面都在利用信息化时代的优势。计算机的优势和普及使得商务安全邮箱的开发成为必需。...本商务安全邮箱主要功能包括:收件箱、草稿箱、已发送、垃圾邮箱、删除邮件等功能。
这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH(Spring+SpringMVC+Hibernate)框架进行开发,使用MySQL作为数据存储,JSP作为页面开发。 项目的目标是构建一个高效、可靠...
该系统可以进行简单的收发邮件以及查看详情。 运行在Tomcat8.0之上。 pom.xml中有该系统需要依赖的包,tomcat中的servlet-api包需要自己添加。 src中的java为java代码,为本系统后台代码。 src中的resources...
资源内容:项目全套源码+完整文档 源码说明: 全部项目源码都是经过测试校正后百分百成功运行。 SpringBoot 毕业设计,SpringBoot 课程设计,基于SpringBoot+Vue开发的,含有代码注释,新手也可看懂。...
资源内容:项目全套源码+完整文档 源码说明: 全部项目源码都是经过测试校正后百分百成功运行。 SpringBoot 毕业设计,SpringBoot 课程设计,基于SpringBoot+Vue开发的,含有代码注释,新手也可看懂。...
资源内容:项目全套源码+完整文档 源码说明: 全部项目源码都是经过测试校正后百分百成功运行。 SpringBoot 毕业设计,SpringBoot 课程设计,基于SpringBoot+Vue开发的,含有代码注释,新手也可看懂。...