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设置,如图:

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

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

(0)

相关推荐

  • Spring实现邮件发送功能

    前言:以前都是直接用Java自带的邮件工具发送邮件,现在Spring帮我们做了封装,提供了更好用更简单的发送邮件工具JavaMailSender,关于邮件服务器的设置就不在这里说了,直接去QQ邮箱设置下就好,下面看下主要的步骤: 步骤一.添加发送邮件相关Maven依赖 <!-- Spring 邮件发送 --> <dependency> <groupId>org.springframework</groupId> <artifactId>sprin

  • Spring Boot实战之发送邮件示例代码

    一.邮件服务简介 邮件服务在互联网早期就已经出现,如今已成为人们互联网生活中必不可少的一项服务.那么邮件服务是怎么工作的呢?如下给出邮件发送与接收的典型过程: 1.发件人使用SMTP协议传输邮件到邮件服务器A: 2.邮件服务器A根据邮件中指定的接收者,投送邮件至相应的邮件服务器B: 3.收件人使用POP3协议从邮件服务器B接收邮件. SMTP(Simple Mail Transfer Protocol)是电子邮件(email)传输的互联网标准,定义在RFC5321,默认使用端口25: POP3(

  • 使用spring实现邮件的发送实例(含测试,源码,注释)

    此篇主要讲的是使用spring配置实现邮件发送,与之前的底层实现简便了不少,只需要几个配置就可以了,那么请往下看: 先写个接口 /** * @Title: IMailserdService.java * @Package org.service * @Description: TODO该方法的主要作用: * @author A18ccms A18ccms_gmail_com * @date 2017-5-30 上午10:36:34 * @version V1.0 */ package org.s

  • Spring学习笔记3之消息队列(rabbitmq)发送邮件功能

    rabbitmq简介: MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术.排队指的是应用程序通过 队列来通信.队列的使用除去了接收和发送应用程序同时执行的要求.其中较为成熟的MQ产品有IBM WEBSPHERE MQ. 本节的内容是用户注册时,将邮

  • spring mail借助qq邮箱服务器发送邮件

    spring mail封装了javaMail的邮件服务,让邮件服务使用起来更简单,下面以qq邮箱服务器为例,用spring mail服务来发送邮件 配置qq邮箱,"设置"--"账户",打开smtp服务,生成授权码 生成授权码需要验证手机,接下来用qq邮箱账号和授权码就可以发送邮件了,不需要qq密码 spring mail服务在spring-context-support中,配置依赖,然后就可以借助qq邮箱提供的发件服务器发送邮件了 <dependency>

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

    快速入门 在Spring Boot的工程中的pom.xml中引入spring-boot-starter-mail依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> 如其他自动化配置模块一样,在完成了依赖引入之后,只需要在applicatio

  • Spring Boot实现邮件发送功能

    本文实例为大家分享了Spring Boot邮件发送功能的具体代码,供大家参考,具体内容如下 1.引入依赖 <!-- mail依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> 2.参数配置 在application.pro

  • springMVC发送邮件的简单实现

    利用javax.mail发送邮件,图片与附件都可发送 1,Controller类 package com.web.controller.api; import javax.annotation.Resource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.

  • Java的Spring框架中实现发送邮件功能的核心代码示例

    Spring中已经封装了邮件操作类,通过spring配置文件可以便捷地注入到controller.action等地方. 下面是配置: <!-- mail sender --> <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl" p:host="${mail.host}" p:port="${mail.por

  • Spring+quartz实现定时发送邮件功能实例

    在做具体的系统管理时,往往会有每隔一段时间发给用户一些邮件的业务,现在参考的网上的大部分代码,写下了我自己的代码. 在ApplicationContext.xml的内容如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.spr

随机推荐