Biegral
Blog
首页
C#
Java
SQL
Python
JavaScript
Web
Other
用Spring来发邮件
Biegral
2019/5/14 12:33:32
1731
先来看看发送Email吧, 在Spring中发送Email是很简单的,使用Spring提高的MailSender和MailMessage就可以了,配置代码如下:
<?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.163.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) { 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 { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("test/mail/mail.xml"); TestSenderMail sender = (TestSenderMail) context.getBean("testMailSender"); sender.sendMail(); } //抛出如下异常,是瑞星监控的问题,关闭就可以了 /** * DEBUG SMTP: QUIT failed with 250 O . 发送Email失败了.... * org.springframework.mail.MailSendException: Could not send mails: 354 * com.sun.mail.smtp.SMTPSendFailedException: 354 * at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1388) * at com.sun.mail.smtp.SMTPTransport.finishData(SMTPTransport.java:1215) * at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:586) */ }
呵呵, 现在就可以发送Email了.
最后提醒一下,记得要将:
activation.jar
和
mail.jar
两个包导入到工程
本文转载:
CSDN博客
阅读排行
Java面试题全集(上) (1102971 )
Wi-Fi 爆重大安全漏洞,Android、iOS、Windows 等所有无线设备都不安全了 (422525 )
Jquery 使用Ajax获取后台返回的Json数据后,页面处理 (268503 )
Java面试题全集(中) (236932 )
一个非常有用的函数——COALESCE (222926 )
Java面试题全集(下) (220908 )
Uncaught SyntaxError: Unexpected token ) (213414 )
如何用adb连接android手机?(我的亲自经历)------ 顺便说说unable to connect to 192.168.1.100:5555的原因和解决方法 (210630 )
如何利用C/C++逐行读取txt文件中的字符串(可以顺便实现文本文件的复制) (207493 )
yum提示Another app is currently holding the yum lock; waiting for it to exit... (205702 )
分类
C# 【2859 篇】
Java 【2173 篇】
SQL 【1413 篇】
Python 【1538 篇】
JavaScript 【1312 篇】
Web 【951 篇】
Other 【5469 篇】
归档
2022 【830 篇】
2021 【3441 篇】
2020 【5337 篇】
2019 【2404 篇】
2018 【1756 篇】
2017 【257 篇】
2016 【550 篇】
2015 【166 篇】
2014 【252 篇】
2013 【168 篇】
2012 【137 篇】
2011 【26 篇】
2010 【40 篇】
2009 【50 篇】
2008 【74 篇】
2007 【54 篇】
2006 【173 篇】