1、IDEA工程目录
2、pom文件,可使用mvn celan install 生成jar运行
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.zjc</groupId>
<artifactId>mail</artifactId>
<version>0.0.1</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.4</version>
</dependency>
</dependencies>
<build>
<finalName>mail</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
${project.build.directory}为Maven内置变量(${project.build.directory}/lib),缺省为target
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<!-- 告知 maven-jar-plugin添加一个 Class-Path元素到 MANIFEST.MF文件,以及在Class-Path元素中包括所有依赖项 -->
<addClasspath>true</addClasspath>
<!-- 所有的依赖项应该位于 lib文件夹 -->
<classpathPrefix>lib/</classpathPrefix>
<!-- 当用户使用JAVA命令执行JAR文件时,使用该元素定义将要执行的类名 -->
<mainClass>com.zjc.mail.MailSendTest</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>
3、mail.properties文件
mail.host=mail.iflytek.com
mail.username=(用户名)@iflytek.com
mail.password=(密码)
4、spring-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"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 启用spring mvc 注解 -->
<context:annotation-config />
<!-- 加载mail.properties文件中的内容,mail.properties文件中key命名要有一定的特殊规则 -->
<context:property-placeholder location="classpath:mail.properties" ignore-unresolvable="true" />
<beans>
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="${mail.host}" />
<property name="username" value="${mail.username}" />
<property name="password" value="${mail.password}" />
<property name="defaultEncoding" value="UTF-8" />
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.timeout">25000</prop>
<prop key="mail.smtp.port">25</prop>
<prop key="mail.smtp.socketFactory.port">25</prop>
<prop key="mail.smtp.socketFactory.fallback">false</prop>
</props>
</property>
</bean>
<bean id="javaMailSenderTest" class="com.zjc.mail.JavaMailSenderTest">
</bean>
</beans>
</beans>
5、MailSendTest.java文件
package com.zjc.mail;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
/**
* @Description: TODO
* @Author
* @Date 2018-05-11 20:13
*/
public class MailSendTest {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("spring-mail.xml");
JavaMailSender mailSender = (JavaMailSender) ac.getBean("mailSender");
//使用自动装配
// JavaMailSenderTest mailSender = (JavaMailSenderTest)ac.getBean("javaMailSenderTest");
// mailSender.send(mail);
SimpleMailMessage mail = new SimpleMailMessage();
mail.setTo("****");//收件人邮箱地址
mail.setFrom("******");//发件人
mail.setSubject("spring-javamail发送邮件测试");//主题
mail.setText("spring-javamail邮件发送测试的正文!!");//正文
mailSender.send(mail);
//添加附件
/*
MimeMessage mimeMessge = senderImpl.createMimeMessage();
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessge,true);
mimeMessageHelper.setTo("zhangfl85@126.com");
mimeMessageHelper.setFrom("zhangfl85@163.com");
mimeMessageHelper.setSubject("添加附件测试");
mimeMessageHelper.setText("<html><head></head><body><h1>hello!!zhangfl</h1></body></html>",true);
FileSystemResource img = new FileSystemResource(new File("D:/test.jpg"));
mimeMessageHelper.addAttachment("test.jpg",img);
senderImpl.send(mimeMessge);
*/
}
}
6.JavaMailSenderTest.java(可不使用,目前main未使用此类)
package com.zjc.mail;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
/**
* @Description: TODO
* @Author
* @Date 2018-05-11 20:45
*/
public class JavaMailSenderTest {
@Autowired
private JavaMailSender mailSender;
public void send(SimpleMailMessage mail){
mailSender.send(mail);
}
}