Maven+Spring+邮件发送

来源:互联网 发布:欧陆风云4 mac 下载 编辑:程序博客网 时间:2024/06/07 02:52

Maven+Spring+邮件发送

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

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

这里写图片描述

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

1 0
原创粉丝点击