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邮件收发系统是一个基于Java技术开发的Web应用程序,主要功能是实现用户注册、登录以及邮件的收发。在该系统中,用户可以创建自己的邮箱账号,完成身份验证后登录到个人邮箱首页,查看是否有新的邮件到来,...
在邮件收发系统中,Spring MVC负责接收用户请求并将其转发给相应的业务处理类,这些类可能利用Spring的IoC容器来管理依赖,如邮件服务和数据库操作。MyBatis则负责与数据库进行交互,执行查询和更新邮件记录的操作。...
在JavaWeb领域,开发一个邮件收发系统是一项常见的任务,尤其当涉及到企业级应用时,邮件服务通常是必不可少的通信手段。本项目“javaweb实现的邮件收发系统(含数据库).zip”提供了完整的解决方案,它包括了后端...
首先,JavaMail API是Java用来处理邮件收发的标准库。它提供了创建、配置和发送电子邮件的能力,包括支持附件、HTML内容以及SMTP、POP3和IMAP等邮件协议。要使用JavaMail API,我们需要在项目中引入相关的jar包,如`...
1基于spring boot商务安全邮箱邮件收发.zip
java WEB邮件收发系统spring springMvc hibernate mysql-小龙2638.exe
本文将详细介绍一个基于Java、Spring Boot框架构建的商务安全邮箱邮件收发系统,旨在提供稳定、高效且安全的邮件服务。 一、系统架构 该系统采用Spring Boot作为核心开发框架,它具有轻量级、快速开发的特点,能够...
这个压缩包“SpringBoot532商务安全邮箱邮件收发.zip”很可能包含了一组教程或示例代码,展示了如何在Spring Boot应用中实现商务安全的电子邮件收发功能。下面,我们将深入探讨相关知识点。 首先,Spring Boot提供...
在邮件收发系统中,Spring作为全局的配置中心,管理所有组件,包括数据库连接、邮件服务客户端等。SpringMVC接收用户的HTTP请求,将这些请求映射到相应的控制器方法,进行业务处理。MyBatis则负责与数据库交互,存储...
在Java编程语言中,邮件收发是一个常见的需求,例如用于通知、报告或者订阅服务。本案例将探讨如何使用JavaMail API来实现邮件的发送和接收功能。首先,我们需要确保已经在本地环境中配置好了JavaMail所需的环境,...
### 局域网邮件收发系统方案 #### 1. 概述 本文档旨在介绍一个局域网内的邮件收发系统的实现方案。该系统主要针对企业内部或特定组织内部的邮件通信需求,通过局域网环境实现邮件的快速、安全传输。与传统的互联网...
本项目是一个基于Spring Boot框架的商务安全邮箱邮件收发系统,旨在为商务场景提供安全、高效、便捷的邮件交流解决方案。系统集成了先进的邮件收发技术,支持多种邮件协议,确保邮件的快速传递与安全存储。项目采用...
在Java和SpringBoot框架下实现商务安全的电子邮件收发是一个常见的需求,特别是在企业级应用中。这个名为"java+springboot商务安全邮箱邮件收发.rar"的压缩包可能包含了一个完整的示例项目,用于演示如何在Java环境...
该JAVA毕业设计项目是基于springboot框架开发的商务安全邮箱邮件收发项目,旨在帮助企业建立高效安全的邮件通讯系统。该项目提供了完整的源码和详细的说明文档,帮助用户快速了解和使用该系统。该项目的主要功能包括...
功能特点: ...邮件协议处理: 需要处理邮件收发过程中的各种协议,确保邮件能够正常发送和接收。 附件处理: 需要支持不同类型的邮件附件,确保能够准确发送和接收附件。 安全性意识: 需要考虑邮件传输
标题中的“springboot邮件收发管理系统”是一款基于Spring Boot技术构建的应用,主要用于处理电子邮件的接收和发送。Spring Boot是Spring框架的一个子项目,它简化了创建独立、生产级别的基于Spring的应用程序过程,...
此毕设采用的是Spring Boot+JPA...总之,基于SpringBoot+Vue的商务安全邮箱邮件收发系统是一个功能齐全、易用、实用性很高的邮箱收发平台,能够保证商务信息的准确性和安全性,提高了商务邮件发送和接收的效率。同时
SpringBoot+MySql商务安全邮箱邮件收发(源码+lw) SpringBoot+MySql商务安全邮箱邮件收发(源码+lw) SpringBoot+MySql商务安全邮箱邮件收发(源码+lw) SpringBoot+MySql商务安全邮箱邮件收发(源码+lw)
本项目是一个基于SSM框架的邮件收发系统,适用于计算机科学、软件工程以及通信工程等相关专业的学生进行课程设计或毕业设计实践。以下是关于这个项目及其相关知识点的详细说明: 1. **Spring框架**:Spring是Java...
通过以上步骤,你可以实现基于Apache James的邮件服务,并使用JavaMail API进行邮件的收发操作。在实际应用中,你可能还需要处理异常、错误处理、多线程发送、邮件模板等功能,以提高代码的稳定性和用户体验。