`

Spring发送邮件示例中的错误:Error creating bean with name 'javaMailSender '

阅读更多

Spring中的配置文件applicationContext.xml

<!-- spring对email支持 -->
	<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
		<property name="host" value="smtp.163.com"/>
		<property name="javaMailProperties">
			<props>
                <prop key="mail.smtp.auth">true</prop>
				<prop key="mail.smtp.timeout">25000</prop>
			</props>
		</property>
		<property name="username" value="spring_test"/>
		<property name="password" value="123456"/>
	</bean>

	<bean id="mailMessage"  class="org.springframework.mail.SimpleMailMessage">
		<property name="from" value="spring_test@163.com"/>
		<property name="subject" value="竞价通知"/>
	</bean>

 出错信息:

Exception   in   thread   "main "   org.springframework.beans.factory.BeanCreationException:   Error   creating   bean   with   name   'javaMailSender '   defined   in   file   [C:\wang\j2ee\shop\MailSender.xml]:   Instantiation   of   bean   failed;   nested   exception   is   org.springframework.beans.BeanInstantiationException:   Could   not   instantiate   bean   class   [org.springframework.mail.javamail.JavaMailSenderImpl]:   Constructor   threw   exception;   nested   exception   is   java.lang.NoClassDefFoundError:   com/sun/mail/util/LineInputStream 
Caused   by:   org.springframework.beans.BeanInstantiationException:   Could   not   instantiate   bean   class   [org.springframework.mail.javamail.JavaMailSenderImpl]:   Constructor   threw   exception;   nested   exception   is   java.lang.NoClassDefFoundError:   com/sun/mail/util/LineInputStream 
Caused   by:   java.lang.NoClassDefFoundError:   com/sun/mail/util/LineInputStream

 

问题来源:

J2EE版本冲突问题

 

解决方法:

将J2EE版本Java EE5 改用j2EE1.4
在lib下添加J2EE中的mail.jar和activation.jar

 

分享到:
评论
1 楼 nongfushanquan_xp 2010-05-03  
我在使用spring发送邮件时,碰到了类似的问题,但是按照你的方法不能解决。我的项目是S2SH的。下面的是错误信息。
2010-5-3 0:01:16 freemarker.log.JDK14LoggerFactory$JDK14Logger error
严重: 

get(message) failed on instance of org.springframework.mail.MailSendException
The problematic instruction:
----------
==> if ex.message?? [on line 41, column 5 in org/apache/struts2/dispatcher/error.ftl]
----------

Java backtrace for programmers:
----------
freemarker.template.TemplateModelException: get(message) failed on instance of org.springframework.mail.MailSendException
	at freemarker.ext.beans.BeanModel.get(BeanModel.java:223)
	at freemarker.core.Dot._getAsTemplateModel(Dot.java:76)
	at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
	at freemarker.core.ExistsExpression._getAsTemplateModel(ExistsExpression.java:71)
	at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
	at freemarker.core.Expression.isTrue(Expression.java:138)
	at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:77)
	at freemarker.core.Environment.visit(Environment.java:209)
	at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167)
	at freemarker.core.Environment.visit(Environment.java:416)
	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
	at freemarker.core.Environment.visit(Environment.java:209)
	at freemarker.core.MixedContent.accept(MixedContent.java:92)
	at freemarker.core.Environment.visit(Environment.java:209)
	at freemarker.core.Environment.process(Environment.java:189)
	at freemarker.template.Template.process(Template.java:237)
	at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:748)
	at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:505)
	at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
	at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
	at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:840)
	at freemarker.ext.beans.BeanModel.invokeThroughDescriptor(BeanModel.java:276)
	at freemarker.ext.beans.BeanModel.get(BeanModel.java:183)
	... 35 more
Caused by: java.lang.NullPointerException
	at org.springframework.mail.MailSendException.getMessage(MailSendException.java:111)
	... 42 more
2010-5-3 0:01:16 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet default threw exception
java.lang.IllegalStateException
	at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:407)
	at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:752)
	at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:505)
	at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
	at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
	at java.lang.Thread.run(Thread.java:619)



我的发送邮件的配置:
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
		<property name="host">
			<value>smtp.gmail.com </value>
		</property>
		<property name="username">
			<value>xupeng86626@gmail.com</value>
		</property>
		<property name="password">
			<value>12345678(</value>
		</property>
		<property name="port">
			<value>465</value>
		</property>
		<!--如果服务器要求验证,加上此-->
		<property name="javaMailProperties">
			<props>
				<prop key="mail.smtp.auth">true</prop>
				<prop key="mail.smtp.timeout">25000</prop>
				<prop key="mai.smtp.starttls.enable">true</prop>
			</props>
		</property>
		
	</bean>

	<bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage">
		<property name="from">
			<value>xupeng86626@gmail.com</value>
		</property>
	</bean>
	
	<bean id="mailManager" class="com.ssfm.service.impl.MailManagerImpl">
		<property name="mailSender" ref="mailSender"/>
		<property name="mailMessage" ref="mailMessage"/>
	</bean>

相关推荐

    Spring Boot中利用JavaMailSender发送邮件的方法示例(附源码)

    在Spring Boot应用中,利用JavaMailSender发送邮件是一种常见的需求,Spring Boot的`spring-boot-starter-mail`模块为我们提供了方便的自动化配置。首先,我们需要在项目的`pom.xml`文件中引入这个依赖: ```xml ...

    java发送邮件,spring JavaMailSender 邮件,复制粘贴直接用!!2发送方式

    Java发送邮件是常见的系统集成需求,Spring框架中的JavaMailSender接口提供了一种便捷的方式来实现这一功能。本教程将详细介绍如何使用Spring MVC与JavaMailSender发送邮件,并提供两种发送方式。 首先,我们需要...

    java发送邮件 spring发送邮件

    Java发送邮件是软件开发中常见的功能,Spring框架提供了一种优雅的方式来实现这一需求。Spring框架以其模块化和灵活性而著名,它包含了一个名为`JavaMailSender`的接口,专门用于处理电子邮件的发送。在这个场景中,...

    spring发送邮件demo

    在Spring中,发送电子邮件的功能是通过Spring的Mail API实现的,这在系统监控、报警通知、用户验证等场景中非常常见。下面将详细介绍如何使用Spring发送邮件。 首先,我们需要在项目中引入Spring的邮件支持。这通常...

    Spring Boot整合邮件发送并保存历史发送邮箱

    Spring Boot整合邮件发送并保存历史发送邮箱 项目描述 项目主要是使用 Spring Boot 发送邮件,主要的技术点有: 1、Spring Boot +mybatis的整合 2、Spring Boot项目中jsp的使用 3、Spring Boot 发送邮件...

    java 发送邮件 spring发送邮件Mail

    Spring框架提供了一种优雅的方式来处理这个任务,它整合了JavaMailSender接口和JavaMail API,使得在Java应用程序中发送邮件变得更加简单。让我们深入探讨这个主题。 首先,JavaMail API是Java用来处理邮件收发的...

    springboot实现发送邮件(QQ邮箱为例)

    本文主要介绍了如何使用 Spring Boot 框架实现发送邮件, 以 QQ 邮箱为例,通过代码示例详细介绍了发送邮件的过程,并提供了完整的代码实现供读者参考。 知识点 1: Spring Boot 邮件发送依赖 在 Spring Boot 项目...

    Spring框架JavaMailSender发送邮件工具类详解

    在本文中,我们将详细介绍Spring框架JavaMailSender发送邮件工具类的实现原理、基本使用方法以及相关的配置项。 一、Spring框架JavaMailSender发送邮件工具类的实现原理 Spring框架JavaMailSender发送邮件工具类是...

    Spring发送邮件简单实例

    Spring框架提供了丰富的工具类和接口,使得在Java应用中发送邮件变得相当简便。这个实例可能是通过JavaMailSender接口和JavaMail API来实现的。 在描述中提到的"程序代码(不含jar)"意味着提供的代码示例可能不...

    用spring发送邮件

    其中,Spring框架的邮件服务模块为我们提供了发送邮件的功能,使得开发者无需深入了解底层的SMTP协议,也能轻松实现邮件发送。本教程将详细讲解如何使用Spring发送邮件,以及在遇到问题时如何排查。 首先,我们需要...

    Spring2.5发送邮件程序Demo

    在压缩包文件"mySpringMail"中,可能包含了一个简单的Spring2.5邮件发送示例项目的源代码。这些代码可能展示了如何配置和使用`JavaMailSender`,以及如何创建和发送邮件。通过分析和学习这个示例,你可以更好地理解...

    spring发送邮件所需jar包

    在Spring框架中,发送邮件是一项常见的任务,尤其在企业级应用中用于通知、验证或客户服务。要实现这个功能,你需要一些特定的Java Archive (JAR) 文件,这些文件提供了Spring支持邮件发送所需的类和库。以下是一些...

    Spring邮件发送源码

    Spring框架在Java应用开发中扮演着重要角色,尤其在处理各种集成任务时,如数据库操作、定时任务以及我们的关注点——邮件发送。Spring提供了一套完整的邮件服务支持,通过其`org.springframework.mail`包,我们可以...

    spring各种邮件发送

    在"spring各种邮件发送"这个主题中,我们将探讨Spring框架如何帮助开发者实现电子邮件的发送。邮件服务在许多应用场景中都十分常见,例如用户注册确认、密码重置提醒等。 首先,Spring框架提供了`JavaMailSender`...

    spring集成邮件服务

    总的来说,Spring集成邮件服务使得在Java应用中发送邮件变得简单且灵活。通过合理的配置和编程,你可以实现各种复杂的邮件需求,比如触发式邮件、批量邮件、包含动态内容的邮件等。这个过程涉及的技术和概念对于任何...

    Spring mvc 发送邮件功能

    在Spring MVC框架中,实现邮件发送功能通常涉及配置Spring的JavaMailSender接口和使用模板引擎如FreeMarker来创建动态邮件内容。以下是一个详细的步骤指南: 1. **依赖库**: - `javax.mail`:这是Java邮件API的...

    如何用java实现邮件方式每天发送消息

    在Java编程环境中,使用Spring Boot框架来实现每天定时发送邮件是一项常见的需求。Spring Boot以其便捷的配置和强大的功能,使得创建此类应用变得简单。本文将详细介绍如何利用Spring Boot结合Spring Task(Spring的...

    Spring发送邮件

    在Spring应用中,我们需要在配置文件(如`applicationContext.xml`或`application.yml`)中定义一个`JavaMailSender` bean。以下是一个简单的XML配置示例: ```xml &lt;bean id="javaMailSender" class="org.spring...

    SpringBoot中整合Mail实现简单邮件发送示例代码

    在Spring Boot框架中,整合JavaMailSender接口可以方便地实现邮件发送功能。Spring Boot通过自动配置简化了这个过程,使得开发者无需过多关注底层配置,只需少量代码就能完成邮件的发送。下面将详细介绍如何在Spring...

Global site tag (gtag.js) - Google Analytics