- 浏览: 7934605 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
最近一直在学习台湾林信良的<<spring 技术手册》,写的十分不错,入门的好书,今逐渐将其心得和重要理论笔记之。
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();
}
}
评论
Failed message 1:
javax.mail.MessagingException: 503 Error: need EHLO and AUTH first !
at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:1020)
at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:716)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:388)
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:382)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:291)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:277)
at cn.ac.roche.springemail.SpringEmail.main(SpringEmail.java:25)
==========================第一个简单例子的时候出现上面的错误===================
发表评论
-
git学习小结
2017-01-23 20:14 596http://www.liaoxuefeng.com/wiki ... -
国内IT技术大会小结
2012-06-15 12:47 3426搞IT的就要多交流,这个应该成为大家的共同认识,比如国内目前有 ... -
国内IT技术大会小结束
2012-06-15 12:44 0搞IT的就要多交流,这个应该成为大家的共同认识,比如国内目前有 ... -
国内IT技术大会小结束
2012-06-15 12:42 0搞IT的就要多交流,这个应该成为大家的共同认识,比如国内目前有 ... -
神奇的“触觉振动”:谈W3C的震动API
2012-02-17 12:28 2117说起“触觉反馈”,大家可能从字面上并不能理解它是如何工作的。触 ... -
Chrome赶超IE:谷歌为何再度联手火狐
2011-12-27 20:16 2427http://tech.it168.com/a2011/122 ... -
(转10款难看但好用的SEO工具
2011-09-07 06:53 1387人不可貌相,SEO工具也不例外。 SEO专业网站SEOmoz ... -
一个很好的开源CRM项目
2005-01-15 19:56 1626http://www.sugarcrm.com,还有简体中文包 ... -
PHP中得到指定的时间段
2005-01-15 19:59 1945最近在项目中,遇到个比较特殊的要求,比如,MYSQL中,比如今 ... -
给大家推荐一个SQL好的站点
2005-01-15 20:20 1119,给大家推荐一个SQL好的站点 http://sqlteam. ... -
记得打补丁
2005-04-14 19:33 1039之前遇到个很怪的问题: 买了个新硬盘,160G,重新装了VS. ... -
express beta 2版本出来了
2005-04-18 11:30 1043在没下到VS。NET 2005之前,也可以用轻量级的EXPRE ... -
SQL SEVER 2005 CTP APRIL出来了
2005-04-20 20:02 1074http://lab.msdn.microsoft.com/e ... -
ms reporting service sp2 出来了
2005-04-24 08:27 1198SQL Server 2000 Reporting Servi ... -
php5 读书心得(1)
2005-04-25 19:48 1151由于工作中要用到PHP,最近下了本《PHP5 POWER PR ... -
PHP5 心得(2)
2005-04-28 19:41 1180在OOP中,构造函数和析构函数是很重要的,在PHP4中,可 ... -
vs.net 2005 beta 2安装问题
2005-04-28 22:50 1193我之前已经卸载了BETA 1了,但可惜安装后,在新建工程后,还 ... -
PHP5心得3
2005-04-29 20:47 1127今天讲的是parent::和self::两个新的关键字。se ... -
PHP5心得4
2005-05-01 17:11 11521 instanceof操作 该操作中,判断某个类是 ... -
vs 2005中的 Visualizer debugger
2005-05-05 21:01 1140在vs.net 2005 中,增加了可视化的调试器,甚至可以自 ...
相关推荐
本篇文章将深入探讨如何使用Java结合Spring框架和微软的Exchange Web Services (EWS)来发送电子邮件。 首先,让我们从Spring Email说起。Spring Framework提供了`spring-context-support`模块,其中包含了一个Email...
总的来说,Spring Email 提供了灵活且强大的邮件发送能力,无论是在小型项目还是大型企业级应用中都能胜任。通过适当的配置和API使用,我们可以轻松地实现在各种场景下的邮件发送需求。在实际开发中,确保正确配置...
而发送电子邮件是许多应用程序中常见的需求,Spring框架通过其邮件支持模块Spring Mail,为开发者提供了一个简单易用的方式来实现这一功能。本文将深入探讨如何使用Spring发送电子邮件。 首先,我们需要了解Spring ...
本教程将深入探讨如何利用Spring的JavaMailSender接口及其实现来发送电子邮件。首先,我们需要理解Spring对邮件服务的支持。 1. **配置邮件服务器** - 在Spring应用中,我们需要配置JavaMailSender接口的实现,...
public class EmailService { @Autowired private JavaMailSender mailSender; public void sendEmailWithAttachment(String to, String subject, String text, String attachmentFilePath) { try { ...
这个"利用Spring定时发送email"的项目,包含了完整的jar包并经过测试,确保了功能的可行性。下面我们将深入探讨如何在Spring中设置定时发送电子邮件以及相关的关键知识点。 首先,我们需要在Spring的配置文件中启用...
spring 对mail的支持是org.springframework.mail.MailSender接口来定义的,其中的 org.springframework.mail.javamail.JavamailSenderImpl这个实现类提供了对javamail的支持,下面简单介绍其用法,首先看下不用注入...
总结来说,Java Spring整合Email与Quartz涉及到的主要知识点有: 1. Spring对Quartz的集成,包括`SchedulerFactoryBean`的配置和Job、Trigger的定义。 2. Quartz Job的创建与执行,以及Trigger的设定。 3. Spring的`...
我们将涉及Spring的Java配置和Velocity模板引擎来创建动态邮件内容。 首先,我们需要引入必要的依赖。在Spring项目中,我们通常会添加`spring-context`和`spring-context-support`库,它们包含了处理邮件发送功能的...
这个名为"spring-email .zip"的压缩包文件显然包含了一个使用Spring Boot实现电子邮件服务的示例项目。接下来,我们将深入探讨Spring Boot如何处理电子邮件发送功能,并通过这个项目可能包含的文件来解析其工作原理...
总的来说,"email-spring-boot-starter"简化了Spring Boot应用的邮件发送功能,通过集成Apache Commons Email库,它支持了多种邮件服务提供商,并且允许发送包含附件的邮件。开发者只需要关注邮件的内容和接收者,...
然后在代码中,你可以通过Spring的依赖注入来获取JavaMailSender实例,并使用它发送邮件: ```java @Component public class EmailService { private final JavaMailSender javaMailSender; private final ...
首先,我们来详细了解一下Spring发送Email的核心概念。 1. **Spring的JavaMailSender接口** Spring提供了一个`JavaMailSender`接口,该接口用于发送电子邮件。它定义了几个方法,如`send(MimeMessagePreparator ...
本教程将围绕如何使用Spring框架与Velocity模板引擎来实现邮件发送功能进行详细讲解。 首先,让我们理解Spring框架的邮件发送服务。Spring提供了`JavaMailSender`接口,该接口提供了发送邮件的基本方法,如`send...
SpringMail是Spring框架的一个扩展,它为Java应用提供了一个简单且强大的邮件发送功能。通过集成SpringMail,开发者可以轻松地在应用程序...SpringMail提供了丰富的功能来满足这些需求,是Java应用发送邮件的首选工具。
这篇博客文章“Spring email 发送邮件”深入探讨了如何利用Spring来发送电子邮件,下面将详细解释相关知识点。 首先,要使用Spring发送邮件,我们需要引入相关的依赖。在Maven项目中,可以在pom.xml文件中添加...
在Spring MVC框架中,实现邮件发送功能通常涉及配置Spring的JavaMailSender接口和使用模板引擎如FreeMarker来创建动态邮件内容。以下是一个详细的步骤指南: 1. **依赖库**: - `javax.mail`:这是Java邮件API的...
在IT行业中,Spring框架是一个广泛...最后,压缩包中的"SpringEmail2.rar"和"SpringEmail1.rar"可能包含了示例代码、配置文件或其他相关资源,供你参考和实践。请确保解压并查看这些文件以获取更深入的理解和实践经验。