`
fantlam
  • 浏览: 99361 次
  • 性别: Icon_minigender_1
  • 来自: 佛山
社区版块
存档分类
最新评论

java邮件开发(7、用spring发邮件)

阅读更多

前面一直用javamail来发送,对比spring会显得臃肿复杂,利用spring只需简单的配置就可以实现发邮件的功能。

首先必须导入所必须的包activation.jar,commons-logging.jar,mail.jar,spring.jar

新建一个applicationContext .xml

 

 

<?xml version="1.0" encoding="UTF-8"?>  

<beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xmlns:aop="http://www.springframework.org/schema/aop"    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd      http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">  

  <bean id="mailSender"    class="org.springframework.mail.javamail.JavaMailSenderImpl">   <property name="host">  

  <value>127.0.0.1</value><!-- 本地服务器  如果是其他,请填如:smtp.sohu.com-->

   </property>   

 <property name="javaMailProperties">

    <props>  

          <prop key="mail.smtp.auth">true</prop>  

                <prop key="mail.smtp.timeout">25000</prop>  

            </props>  

        </property>  

        <property name="username">  

            <value>postmaster@mai.com</value> <!-- 我这里用本地的邮箱名--> 

        </property>  

        <property name="password">  

            <value>123456</value>  

        </property>  

    </bean>  

</beans>

然后建立一个java文件

 

package org.fantlam.spring;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import org.springframework.mail.SimpleMailMessage;

import org.springframework.mail.javamail.JavaMailSender;

 

public class SpringMail1 {

public static void main(String args[]){

 ApplicationContext ctx =new ClassPathXmlApplicationContext("applicationContext.xml");   

  JavaMailSender sender = (JavaMailSender) ctx.getBean("mailSender");   

 SimpleMailMessage mail = new SimpleMailMessage();

//这里SimpleMailMessage只能用来发送text格式的邮件

  try {   

  mail.setTo("fantlam@163.com");//接收者   

  mail.setFrom("sohu@mai.com");//按前面讲的,可以随便起

  mail.setSubject("spring mail test!");//主题   

  mail.setText("springMail的简单发送测试");//邮件内容   

  sender.send(mail);   

 } catch (Exception e) {   

  e.printStackTrace();   

 }   

 

}

}

这代码本身是没错的,一开始用了网易的老邮箱发送,它老给我报错

org.springframework.mail.MailSendException; nested exception details (1) are:

Failed message 1: com.sun.mail.smtp.SMTPSendFailedException: 553 You are not authorized to send mail, authentication is required

 at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1388)

 at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:959)

 at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:583)

   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 org.fantlam.spring.SpringMail1.main(SpringMail1.java:20)

 

然后我试了一个新邮箱,报错又不一样。

 

org.springframework.mail.MailAuthenticationException: Authentication failed; nested exception is javax.mail.AuthenticationFailedException

    at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:395)

    at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:291)

    at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:277)

    at org.fantlam.spring.SpringMail1.main(SpringMail1.java:20)

Caused by: javax.mail.AuthenticationFailedException

    at javax.mail.Service.connect(Service.java:306)

    at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:373)

    ... 3 more

 

不过这并不是代码本身的错误,是邮箱验证那些东西,后来我用了本地的服务器就可以成功发送了,这就是用spring发送的简单邮件,不用解释什么,一看就明白了。

分享到:
评论

相关推荐

    张孝祥Java邮件开发详解

    本教程“张孝祥Java邮件开发详解”深入探讨了如何使用Java来实现邮件的发送功能,涵盖了从基础概念到高级特性的全方位讲解。 首先,Java Mail API是Java中用于处理邮件的核心库,它提供了丰富的类和接口,使得...

    java发送邮件 spring发送邮件

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

    java 发送邮件 spring发送邮件Mail

    `java邮件系统`和`java邮件收发`则涉及到更广泛的邮件处理概念,包括不仅限于发送,还可能包括接收和解析邮件。 综上所述,Java结合Spring框架发送邮件是一个实用且功能强大的解决方案,通过合理的配置和编程,可以...

    Spring邮件发送服务(java邮件发送)

    在Java开发中,Spring框架提供了一种方便的方式来发送电子邮件,这就是SpringMail模块。SpringMail使得在应用程序中集成邮件服务变得更加简单,它支持多种功能,包括发送带有多个附件、多接收者(包括抄送和暗送)的...

    传智播客张孝祥java邮件开发_Java邮件开发源代码ppt

    在本课程中,传智播客的张孝祥讲师将深入讲解Java邮件开发的相关技术,包括使用JavaMail API和其他相关库来实现邮件功能。 JavaMail API是Java平台上的一个标准API,它提供了邮件处理的各种接口和类,包括创建、...

    java邮件系统-javaweb项目

    总的来说,"Java邮件系统-javaweb项目"是一个涵盖了Java Web开发全栈的实践案例,涉及了服务器端编程、前端页面开发、数据库操作、邮件处理和安全控制等多个方面。无论是对于初学者还是经验丰富的开发者,都能从中...

    java 邮件 开发

    总之,Java邮件开发主要涉及到JavaMail API的使用,通过配置Session,创建并填充Message,最后通过Transport发送邮件。这个过程可以扩展到处理各种邮件格式和复杂场景,是Java开发中不可或缺的一部分。

    Spring进阶—如何用Java代码实现邮件发送

    【Spring进阶—如何用Java代码实现邮件发送】 在现代软件开发中,特别是在企业级应用中,邮件发送是一项常见的功能,比如在进销存系统中发送库存预警通知,或者在招聘网站上验证用户注册时的电子邮件地址。这些场景...

    spring邮件服务(java邮件发送)

    本教程将深入探讨如何利用Spring框架的邮件服务模块来实现Java邮件发送功能,包括发送多附件、多人发送、抄送和暗送。 首先,`SpringMailUtil.java`这个文件很可能是邮件服务的核心工具类,它封装了邮件发送的相关...

    基于java spring邮件群发的demo

    在这个"基于Java Spring邮件群发的demo"中,我们将探讨如何利用Spring框架的邮件服务模块实现高效的邮件群发功能。同时,这个项目还涉及到了MySQL数据库和MyBatis持久层框架,这三者共同构成了一个完整的数据驱动的...

    Java邮件开发源代码.rar

    通过研究和理解这个Java邮件开发源代码,开发者不仅可以学习到如何使用JavaMail API发送和接收邮件,还能掌握SSM框架的实践应用,这对于进行企业级的课程设计或毕业设计项目非常有帮助。同时,这也是提升Java Web...

    java spring框架 无敌邮件发送

    Java Spring 框架是企业级应用开发的强大工具,它提供了丰富的功能,包括但不限于依赖注入、AOP(面向切面编程)、数据访问、Web 应用支持等。在本项目中,我们将关注Spring如何实现“无敌邮件发送”功能。邮件服务...

    java发送邮件相关jar包

    这里提到的两个jar包——`spring-context-support-4.1.7.RELEASE.jar`和`mail-1.4.1.jar`,都是Java邮件发送的重要组成部分。 `spring-context-support-4.1.7.RELEASE.jar`是Spring框架的一个扩展模块,主要提供了...

    spring JavaMailSenderImpl 发送邮件 java

    在IT行业中,Spring框架是Java开发中的一个核心组件,它提供了丰富的功能,包括但不限于依赖注入、面向切面编程以及各种实用工具。其中,Spring的JavaMailSenderImpl是用于发送电子邮件的一个重要工具,它使得开发者...

    Java开发的邮件代理服务器

    这可能涉及Java Swing或JavaFX库来构建图形界面,或者使用Spring Boot和Thymeleaf等技术开发Web应用。 8. 性能优化:使用Java的缓存机制(如Guava Cache)可以缓存频繁访问的数据,减少不必要的网络请求。此外,...

    自己开发的JAVA Web Email邮件系统

    【标题】:自己开发的JAVA Web Email邮件系统 在IT领域,开发一个JAVA Web Email邮件系统是一项具有挑战性的任务,它涉及到多个技术栈的整合,包括JAVA编程、Web开发、邮件处理协议以及服务器配置等。这个系统允许...

    Java邮件开发(4)_邮件开发中问题汇总

    "Java邮件开发(4)_邮件开发中问题汇总"这篇文章主要探讨了在Web应用中集成邮件发送功能时可能遇到的问题以及解决策略。这里我们将深入讲解相关知识点。 首先,Java Mail API是Java平台上的标准邮件接口,用于处理...

    Spring 使用163发邮件带附件

    标题 "Spring 使用163发邮件带附件" 涉及到的是在Java开发中,使用Spring框架发送电子邮件,特别是包含附件的邮件。这通常在系统需要自动化通知、报告发送或者用户验证过程中非常常见。Spring提供了JavaMailSender...

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

    项目主要是使用 Spring Boot 发送邮件,主要的技术点有: 1、Spring Boot +mybatis的整合 2、Spring Boot项目中jsp的使用 3、Spring Boot 发送邮件(文本格式的邮件、发送HTML格式的邮件、发送带附件 的邮件、...

    java发送邮件(两种方式-springcloud方式+静态调用方式).zip

    Java发送邮件是常见的系统集成需求,它涉及到网络通信、邮件协议和编程技术。在这个主题中,我们将探讨两种方法:一种是通过Spring Cloud实现,另一种是使用静态方法直接调用JavaMail API。这两种方法都有其独特的...

Global site tag (gtag.js) - Google Analytics