spring+maven实现邮件发送

 更新时间:2018年07月14日 16:06:27   作者:CSDN-七哥  
这篇文章主要为大家详细介绍了spring+maven实现邮件发送,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文为大家分享了spring+maven实现邮件发送的具体代码,供大家参考,具体内容如下

今天想弄个邮件发送,随即百度了下,发现很多用到邮件发送的朋友都会遇到各种各样的问题,包括我也是,遇到了一些问题,下面把我整理好的发出来,按照步骤来,直接可以运行.

PS:以下源码来自百度,并非个人所写.话不多说,上图上代码

项目:

代码块

package com.baidu.action;

import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
/**
 * -----------------------------------------
 * 文件: Email.java
 * 邮箱: fengemail04@sina.com
 * 描述: 发送Email工具类
 * -----------------------------------------
 */
public class Email {

 private MailSender mailSender;
 private SimpleMailMessage simpleMailMessage;

 /**
  * 方法名: sendMail 
  * 参数名:@param subject 邮件主题
  * 参数名:@param content 邮件主题内容
  * 参数名:@param to  收件人Email地址
  * 描述语: 发送邮件
  */
 public void sendMail(String subject, String content, String to) {

  simpleMailMessage.setSubject(subject); //设置邮件主题
  simpleMailMessage.setTo(to);    //设定收件人
  simpleMailMessage.setText(content); //设置邮件主题内容
  mailSender.send(simpleMailMessage); //发送邮件
 }
  //Spring 依赖注入
 public void setSimpleMailMessage(SimpleMailMessage simpleMailMessage) {
  this.simpleMailMessage = simpleMailMessage;
 }
  //Spring 依赖注入 
 public void setMailSender(MailSender mailSender) {
  this.mailSender = mailSender;
 }
}

spring-smtp-mail.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"
 xsi:schemaLocation="http://www.springframework.org/schema/beans 
  http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">

 <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
  <!-- 服务器 -->
  <property name="host" value="smtp.sina.com" />
  <!-- 端口号 -->
  <property name="port" value="25" />
  <!-- 用户名 -->
  <property name="username" value="fengemail04@sina.com" />
  <!-- 密码 -->
  <property name="password" value="密码需要在邮箱里设置,或者给邮箱权限开启" />
  <!-- SMTP服务器验证 -->
  <property name="javaMailProperties">
   <props>
    <!-- 验证身份 -->
    <prop key="mail.smtp.auth">true</prop>
   </props>
  </property>
 </bean>
 <!-- 
  目前我用过的EMAIL账号都是网易的,下面列出网易的SMTP服务器名和端口号:
  网易邮箱   SMTP服务器  SMTP端口  POP3服务器  POP3端口
  @126.com  smtp.126.com  25   pop3.126.com  110
  @163.com  smtp.163.com  25   pop3.163.com  110
  @yeah.net smtp.yeah.net  25   pop3.yeah.net  110
 -->

 <bean id="simpleMailMessage" class="org.springframework.mail.SimpleMailMessage">
  <!-- 发件人email -->
  <property name="from" value="fengemail04@sina.com" />

 </bean>

 <bean id="simpleMail" class="com.baidu.action.Email">
  <property name="mailSender" ref="mailSender" />
  <property name="simpleMailMessage" ref="simpleMailMessage" />
 </bean>

</beans>

EmailTest.java

package com.baidu.test;

import junit.framework.TestCase;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.baidu.action.Email;
/**
 * -----------------------------------------
 * 文件: EmailTest.java
 * 描述: Junit测试,运行将发送一封email
 * -----------------------------------------
 */
public class EmailTest extends TestCase {

 public void testSendMail() {
  ApplicationContext context = new ClassPathXmlApplicationContext("spring-smtp-mail.xml");
  Email mail = (Email)context.getBean("simpleMail");
  mail.sendMail("标题", "内容", "fengemail05@sina.com");
  //mail.sendMail("标题", "内容", "收件人邮箱");
 }

}

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.baidu.maven</groupId>
 <artifactId>mailtest02</artifactId>
 <packaging>war</packaging>
 <version>0.0.1-SNAPSHOT</version>
 <name>mailtest02 Maven Webapp</name>
 <url>http://maven.apache.org</url>
 <properties>
 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 </properties>

 <dependencies>


 <dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-core</artifactId>
  <version>3.2.4.RELEASE</version>
 </dependency>
 <dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-context</artifactId>
  <version>3.2.4.RELEASE</version>
 </dependency>

 <dependency>
  <groupId>javax.mail</groupId>
  <artifactId>mail</artifactId>
  <version>1.4.4</version>
 </dependency>

 <dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>3.8.1</version>
  <scope>test</scope>
 </dependency>
 <dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-context-support</artifactId>
  <version>3.2.13.RELEASE</version>
 </dependency>


 </dependencies>
 <build>
 <finalName>mailtest02</finalName>
 </build>
</project>

测试:EmailTest.java 启动JUnit

这里写图片描述

这里写图片描述

如果发送不出去 ,就进入邮箱进行SMTP设置,如图:

这里写图片描述

发送一封简单的邮件 就是以上内容,希望可以给大家带来帮助.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java递归造成的堆栈溢出问题及解决方案

    Java递归造成的堆栈溢出问题及解决方案

    在Java中,递归造成的堆栈溢出问题通常是因为递归调用的深度过大,导致调用栈空间不足,解决这类问题的一种常见方法是使用非递归的方式重写算法,即使用迭代替代递归,需要的朋友可以参考下
    2024-08-08
  • Java的访问修饰符与变量的作用域讲解

    Java的访问修饰符与变量的作用域讲解

    这篇文章主要介绍了Java的访问修饰符与变量的作用域讲解,是Java入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09
  • Java实现递归山脉

    Java实现递归山脉

    这篇文章主要为大家详细介绍了Java实现递归山脉,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 在zuulFilter中注入bean失败的解决方案

    在zuulFilter中注入bean失败的解决方案

    这篇文章主要介绍了在zuulFilter中注入bean失败的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • SpringBoot多数据源解决方案:dynamic-datasource-spring-boot-starter

    SpringBoot多数据源解决方案:dynamic-datasource-spring-boot-starter

    本文主要介绍了SpringBoot多数据源解决方案,使用dynamic-datasource-spring-boot-starter实现,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • java结合HADOOP集群文件上传下载

    java结合HADOOP集群文件上传下载

    这篇文章主要介绍了java结合HADOOP集群文件上传下载的方法和示例,非常的实用,这里推荐给大家,希望大家能够喜欢。
    2015-03-03
  • Java中StringBuffer和StringBuilder_动力节点Java学院整理

    Java中StringBuffer和StringBuilder_动力节点Java学院整理

    StringBuffer、StringBuilder和String一样,也用来代表字符串。String类是不可变类,StringBuffer则是可变类,任何对它所指代的字符串的改变都不会产生新的对象。本文重点给大家介绍String、StringBuffer、StringBuilder区别,感兴趣的朋友一起看看吧
    2017-04-04
  • Spring Boot jar中没有主清单属性的解决方法

    Spring Boot jar中没有主清单属性的解决方法

    这篇文章主要介绍了Spring Boot jar中没有主清单属性的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Java外观模式解读,让你的代码优雅又高效

    Java外观模式解读,让你的代码优雅又高效

    外观模式(Facade Pattern)是一种常用的结构型设计模式,它为复杂的子系统提供一个简单的接口,隐藏复杂的实现细节,本文就来讲讲它是如何简化代码,提高可维护性的
    2023-05-05
  • java循环结构、数组的使用小结

    java循环结构、数组的使用小结

    这篇文章主要介绍了java循环结构、数组的使用小结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09

最新评论