spring+maven实现邮件发送

时间:2021-09-10 23:07:37

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

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

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

项目:

spring+maven实现邮件发送

代码块

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<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

spring+maven实现邮件发送

spring+maven实现邮件发送

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

spring+maven实现邮件发送

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

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

原文链接:https://blog.csdn.net/fenglove0411/article/details/51224577