本文為大家分享了spring+maven實現郵件發送的具體代碼,供大家參考,具體內容如下
今天想弄個郵件發送,隨即百度了下,發現很多用到郵件發送的朋友都會遇到各種各樣的問題,包括我也是,遇到了一些問題,下面把我整理好的發出來,按照步驟來,直接可以運行.
PS:以下源碼來自百度,並非個人所寫.話不多說,上圖上代碼
專案:
代碼塊
package com.baidu.action;import org.springframework.mail.MailSender;import org.springframework.mail.SimpleMailMessage;/** * ----------------------------------------- * 文件: Email.java * 郵箱: [email protected] * 描述: 發送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"> <!-- 服務器--> <property name="host" value="smtp.sina.com" /> <!-- 端口號--> <property name="port" value="25" /> <!-- 用戶名--> <property name="username" value="[email protected]" /> <!-- 密碼--> <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"> <!-- 發件人email --> <property name="from" value="[email protected]" /> </bean> <bean id="simpleMail"> <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("標題", "內容", "[email protected]"); //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設置,如圖:
發送一封簡單的郵件就是以上內容,希望可以給大家帶來幫助.
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。