Spring提供了一个发送邮件的抽象层,使发送邮件实现非常简单。
下面代码需要mail.jar包,如果服务器需要认证,必须加入如下加粗代码:
源文件:SendMail.java:
package mail;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
import java.util.Date;
/**
* @author chrischen
*/
public class SendMail {
//邮件发送器
public static String Sender(String subject, String msg, String sendTo,
String fromMail, String user, String pw, String fromName, String protocol,
String host, String port){
try{
final String username = user;
final String pass = pw;
//需要认证
Properties props = new Properties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
props.put("mail.transport.protocol", protocol);
props.put("mail.from", fromMail);
//创建发送器
JavaMailSenderImpl sender = new JavaMailSenderImpl();
sender.setHost(host);
sender.setUsername(username);
sender.setPassword(pass);
//创建消息
MimeMessage message = sender.createMimeMessage();
message.addHeader("X-Mailer", "Java Mailer");
MimeMessageHelper helper = new MimeMessageHelper(message);
helper.setTo(sendTo);
helper.setFrom(fromMail, fromName);
helper.setSubject(subject);
helper.setText(msg);
helper.setSentDate(new Date());
//开始发送
sender.setJavaMailProperties(props);
sender.send(message);
}catch(Exception e){
System.out.println("Error:" + e);
return "Failure";
}
return "Success";
}
//测试
public static void main(String args[])throws Exception
{
String subject = "测试邮件";//标题
String sendTo = "test@my.com";//接收者邮件
String fromMail = "send@my.com";//发送者邮件
String user = "send@my.com";//发送者用户
String pw = "password";//发送者邮件密码
String fromName = "Chen";//发送者名字
String protocol = "smtp";//协议
String host = "smtp.my.com";//发送主机
String port = "25";//端口
String msg = "简单邮件发送。";//发送内容
String ret = Sender(subject, msg, sendTo, fromMail, user, pw, fromName,
protocol, host, port);
System.out.println("邮件发送结果:" + ret);
}
}
使用MimeMessageHelper,可以实现Multipart email,方便添加附件和内嵌资源等。
分享到:
相关推荐
Spring实现各种邮件的发送 简单配置就可发送邮件
我们封装一个 MailService 类来实现普通的邮件发送方法。 Spring Boot整合邮件发送并保存历史发送邮箱 from,即为邮件发送者; to,邮件接收者; subject,邮件主题; content,邮件的主体。 邮件发送者 from ...
struts spring 实现简单的邮件发送, 下载后加入相应的lib即可使用(由于权限,我上传不上来)。
SpringBoot中整合Mail实现简单邮件发送示例代码
主要为大家详细介绍了Spring实现邮件发送功能,简单的发送邮件工具JavaMailSender使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Spring 封装的JavaMail,使邮件发送变的相当简单,我通过Spring的邮件发送实现了发纯文本形的内容,HTMl,带附件,带图片等示例代码,并自行测试过.希望对初学者有帮助
邮件在项目中经常会被用到,比如用邮件发送通知。比如,通过邮件注册、认证、找回密码、系统报警通知、报表信息等。本篇文章带大家通过SpringBoot快速实现一个发送邮件的功能。 邮件协议 下面先简单了解一下常见的...
Google Guice 这个高效的与Spring类似的依赖注入框架;...使用 MailServiceTest 向邮件表中新增一条邮件记录,轮询系统会自动将邮件发送出去,有了邮箱,发送推广广告,你懂得,记得改成你的邮件服务器!
email|[email实现邮件发送](https://github.com/smltq/spring-boot-demo/blob/master/email) jGit|[java调用git命令、jgit使用等](https://github.com/smltq/spring-boot-demo/blob/master/jGit) webmagic|...
12. spring-messaging-4.1.1.RELEASE.jar 消息发送 13. spring-orm-4.1.1.RELEASE.jar 14. spring-oxm-4.1.1.RELEASE.jar Spring对于object/xml映射的支持,可以让JAVA与XML之间来回切换 15. spring-test-4.1.1....
SMTP:称为简单邮件传输协议(Simple Mail Transfer Protocal),目标是向用户提供高效、可靠的邮件传输。SMTP是一种请求响应的协议,也就是客户机向远程服务器发送请求,服务器响应,监听端口是25,所以其工作模式...
前几天,需要做一个功能就是 客户使用我们公司的设备...首先,我们先测试邮件发送 controller层 package com.csq.study.controller; import org.springframework.web.bind.annotation.ResponseBody; import org.sp
- chapter4-5-1:[实现邮件发送:简单邮件、附件邮件、嵌入资源的邮件、模板邮件](http://blog.didispace.com/springbootmailsender/) ### 消息服务 - chapter5-1-1:[JMS(未完成)] - chapter5-2-1:[Spring ...
12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用...
本篇文章主要介绍了springMVC发送邮件的简单实现 ,主要是利用利用javax.mail发送邮件,图片与附件都可发送,有兴趣的可以了解一下
Spring Email抽象核心接口MailSender,其实现类JavaMailSenderImpl,在其中配置邮件 服务器host,pssword,协议等 。。。。。 1.发送简单的消息 SimpleMailMessage:发送简单的消息 2.发送丰富的消息(比如带有附件,内...
12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用服务器...
RMI Hessian、 Burlap Http Invoker <br>邮件 对于邮件发送服务的支援是由Spring的 org.springframework.mail.MailSender介面所定义,它有两个实作类别, org.springframework.mail.cos....
网上诸如Spring Send Email 或者 Spring quartz Send Email 多不胜数,大多都只是简单介绍一下如何去实现,却没有考虑到作为一个Demo,最重要的是功能,本文通过完善的Demo介绍了一个Spring+Velocity 定时发送邮件的例子
所以用 Spring 来发送 email 会省事很多和让发邮件变的简单许多,可以让我们更专注邮件内容本身而不必理会底层的具体实现。Spring邮件抽象层的主要包为org.springframework.mail。它包括了发送电子邮件的主要接口...