spring对mail的支持是org.springframework.mail.MailSender接口来定义的,其中的org.springframework.mail.javamail.JavamailSenderImpl这个实现类提供了对javamail的支持,下面简单介绍其用法,首先看下不用注入的方法,再看用注入的方法。
1、发送简单邮件的例子
首先,我们要需要springframwork 1.2.8中lib目录下的j2ee目录的activation.jar和mail.jar文件,将它们放到工程的lib目录下去。
发送一个简单邮件的例子如下
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.SimpleMailMessage;
public class SimpleMailDemo {
public static void main(String[] args) throws Exception {
JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
// 设定 Mail Server
senderImpl.setHost("mail.xxxxx");
//SMTP验证时,需要用户名和密码
senderImpl.setUsername("abc");
senderImpl.setPassword("defdf");
// 建立邮件讯息
SimpleMailMessage mailMessage = new SimpleMailMessage();
// 设定收件人、寄件人、主题与内文
mailMessage.setTo(hello@abc.com);
mailMessage.setFrom(der@def.com);
mailMessage.setSubject("Test");
mailMessage.setText("This is a test!!!");
// 传送邮件
senderImpl.send(mailMessage);
System.out.println("邮件传送OK..");
}
}
2、发送HTML格式的邮件
要发送HTML格式的话,要用org.springframework.mail.javamail.MimeMessageHelper来建立HTML邮件
import org.springframework.mail.javamail.JavaMailSenderImpl;
import javax.mail.internet.MimeMessage;
import org.springframework.mail.javamail.MimeMessageHelper;
public class HTMLMailDemo {
public static void main(String[] args) throws Exception {
JavaMailSenderImpl senderImpl =
new JavaMailSenderImpl();
// 设定 Mail Server
senderImpl.setHost("mail.xxxxx");
//SMTP验证时,需要用户名和密码
senderImpl.setUsername("abc");
senderImpl.setPassword("defdf");
// 建立邮件讯息
MimeMessage mailMessage =
senderImpl.createMimeMessage();
MimeMessageHelper messageHelper =
new MimeMessageHelper(mailMessage);
// 设定收件人、寄件人、主题与内文
messageHelper.setTo("xxx@your_mail_server.com");
messageHelper.setFrom("xxx@your_mail_server.com");
messageHelper.setSubject("Test");
messageHelper.setText(
"<html><head></head><body><h1>Hello! Spring!"
+ "</h1></body></html>", true);
// 传送邮件
senderImpl.send(mailMessage);
System.out.println("邮件传送OK...");
}
}
3、发送带附件的邮件
这时要用MimeMessageHelper的addAttachement()方法
import java.io.File;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import javax.mail.internet.MimeMessage;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.javamail.MimeMessageHelper;
public class AttachedFileDemo {
public static void main(String[] args) throws Exception {
JavaMailSenderImpl senderImpl =
new JavaMailSenderImpl();
//SMTP验证时,需要用户名和密码
senderImpl.setUsername("abc");
senderImpl.setPassword("defdf");
MimeMessage mailMessage = senderImpl.createMimeMessage();
MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true);
messageHelper.setTo("def@erer.net");
messageHelper.setFrom("bfg@tom.com");
messageHelper.setSubject("Test");
messageHelper.setText(
"<html><head></head><body><h1>Hello! Spring!"
+ "</h1></body></html>", true);
FileSystemResource file =
new FileSystemResource(
new File("d:/test.rar"));
messageHelper.addAttachment("test.rar", file);
senderImpl.send(mailMessage);
System.out.println("OK");
}
}
4、用注入的方式来配置邮件,和之前的差不多拉
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "spring-beans.dtd" >
<beans>
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host">
<value>smtp.xxx.com</value>
</property>
<property name="javaMailProperties">
<props>
<!-- 如果要使用用户名和密码验证,这一步需要 -->
<prop key="mail.smtp.auth">true</prop>
</props>
</property>
<property name="username">
<value>你的Email地址</value>
</property>
<property name="password">
<value>你的Email密码</value>
</property>
</bean>
<!-- 简单的message -->
<bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage">
<property name="to">
<value>收件人地址</value>
</property>
<property name="from">
<value>你的地址</value>
</property>
<property name="subject"> <!-- Email 标题 -->
<value>A Spring Mail sender</value>
</property>
</bean>
<!-- 测试发送的类 -->
<bean id="testMailSender" class="test.mail.TestSenderMail">
<property name="mailMessage">
<ref bean="mailMessage"/>
</property>
<property name="mailSender">
<ref bean="mailSender"/>
</property>
</bean>
</beans>
上面的配置好以后就可以直接发送了, 看看TestSenderMail.java的代码:
package test.mail;
import org.springframework.mail.MailException;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
public class TestSenderMail {
private MailSender mailSender;
private SimpleMailMessage mailMessage;
public TestSenderMail() {
}
public SimpleMailMessage getMailMessage() {
return mailMessage;
}
public void setMailMessage(SimpleMailMessage mailMessage) {
this.mailMessage = mailMessage;
}
public MailSender getMailSender() {
return mailSender;
}
public void setMailSender(MailSender mailSender) {
this.mailSender = mailSender;
}
public void sendMail() {
SimpleMailMessage message = new SimpleMailMessage(mailMessage);
//设置email内容,
message.setText("测试Spring 发送Email.");
try {
mailSender.send(message);
} catch (MailException e) {
// TODO Auto-generated catch block
System.out.println("O . 发送Email失败了....");
e.printStackTrace();
}
}
}
TestApp.java
package test.mail;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestApp {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ApplicationContext context = new ClassPathXmlApplicationContext(
"test/mail/mail.xml");
TestSenderMail sender = (TestSenderMail) context
.getBean("testMailSender");
sender.sendMail();
}
}
<script type="text/javascript"></script>
分享到:
相关推荐
博客中,Spring Email例子代码。博客中,Spring Email例子代码。
spring发送Email例子
spring email发送email,微软ews发送exchange协议邮件
Spring发送Email。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
spring 对mail的支持是org.springframework.mail.MailSender接口来定义的,其中的 org.springframework.mail.javamail.JavamailSenderImpl这个实现类提供了对javamail的支持,下面简单介绍其用法,首先看下不用注入...
这个java project的源代码 博文链接:https://kukuqiu.iteye.com/blog/161771
Spring 实现 定时 发送EMAIL,有文字解析和实例
maven工程,使用spring 整合quartz,增加email发送的工具类,修改一下数据库,即可直接使用,里面有一个真实业务demo,可按照该格式进行模块化开发
jqueryui1.8 springdb jbpm-email
这是入门级的利用spring发送邮件的例子,中文乱码解决。值得参考,
spring发送 email 发送html格式数据,普通数据,附件,图片等邮件
里面jar包齐全,且经过测试,已经成功!
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|...
spring boot 邮件发送,亲测可用 ...spring.mail.username=Email_Name #SpringCloud 注册发现 配置 eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/ #当前服务器端口 server.port=8081
基于spring mvc 框架,用freemarker创建邮件模板,包括详细邮件发送功能的spring配置和实现代码
* Spring’s support for remoting technologies (RMI, Hessian, Burlap, and HTTP Invoker), EJB, JMS, JMX, email, batch, scheduling, and scripting languages. * Integrating legacy systems with Spring, ...
Integration: remoting, JMS, JCA, JMX, email, tasks, scheduling, cache. Languages: Kotlin, Groovy, dynamic languages. Minimum requirements JDK 8+ for Spring Framework 5.x JDK 6+ for Spring Framework 4....
下面这篇文章主要给大家介绍了关于在Spring Boot中利用Thymeleaf发送Email的方法教程,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
根据慕课网上(纯洁的微笑)的视频资源写的代码,就是一些简单入门功能