Spring下使用JavaMail和MailServer实现发送邮件

1.搭建MailServer邮件服务器环境,下面已经创建了邮箱账号[email protected][email protected]

2.安装Foxmail邮件客户端:

3.写代码尝试从aaa向bbb发送邮件

(1).配置pom.xml的依赖

  <dependencies>
  	<dependency>
  		<groupId>javax.mail</groupId>
  		<artifactId>mail</artifactId>
  		<version>1.4</version>
  	</dependency>
  	<dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-context-support</artifactId>
  		<version>4.2.4.RELEASE</version>
  	</dependency>
  	<dependency>
  		<groupId>junit</groupId>
  		<artifactId>junit</artifactId>
  		<version>4.9</version>
  	</dependency>
  </dependencies>

(2)编写发送邮件代码: 

public class TestSend {

	private JavaMailSender javaMailSender;
	public void setJavaMailSender(JavaMailSender javaMailSender){
		this.javaMailSender = javaMailSender;
	}
	
	public void sendMail() throws MessagingException{
		//创建邮件
		MimeMessage mimeMessage = javaMailSender.createMimeMessage();
		//邮件包装工具
		MimeMessageHelper helper = new MimeMessageHelper(mimeMessage);
		//发件人
		helper.setFrom("[email protected]");
        //接收人邮箱
		helper.setTo("[email protected]");
          //主题
		helper.setSubject("Mail Test");
        //邮件内容
		helper.setText("JHava Mail Box");
        //发送
		javaMailSender.send(mimeMessage);
	}
}

aaa@store .com是发送的邮箱,[email protected]是接收的邮箱

(3)spring配置文件:

<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"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	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
		http://www.springframework.org/schema/tx 
		http://www.springframework.org/schema/tx/spring-tx.xsd
		http://www.springframework.org/schema/aop 
		http://www.springframework.org/schema/aop/spring-aop.xsd
		">  
	
<bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<!-- 协议 -->
	<property name="protocol" value="smtp"/>
	<!-- 邮件服务器地址 -->
	<property name="host" value="localhost" ></property>
	<!-- 端口 -->
	<property name="port" value="25"></property>
	<!-- 邮箱用户名,与发件人一致 -->
	<property name="username" value="[email protected]"></property>
	<!-- 邮箱密码 -->
	<property name="password" value="aaa"></property>
	<property name="javaMailProperties">
		<props>
			<!-- 开启认证,会检查发件人是否为邮箱用户 -->
			<prop key="mail.smtp.auth">true</prop>
			<!-- 采用ssl安全方式 -->
			<prop key="mail.smtp.ssl.enable">true</prop>
			
		</props>
	</property>
</bean>

<bean id="testSend" class="com.cl.demo.TestSend">
	<property name="javaMailSender" ref="javaMailSender"></property>
</bean>
</beans>

邮件服务器地址:由于邮件服务器在本地,所以填localhost
    <property name="host" value="localhost" ></property> 

不确定的话可以通过如下查看:选中一个邮箱用户如,点击下图foxmail红色部分

查看如下信息

(4)测试代码:

public class TestJavaMail {

	@Test
	public void testMail() throws MessagingException{
		ApplicationContext c=new ClassPathXmlApplicationContext("classpath:applicationContext_mail.xml");
		TestSend send = (TestSend) c.getBean("testSend");
		send.sendMail();
	}
	
}

4至此,邮件发送完毕。

(5)代码参考:https://github.com/chenlinli/JavaMailDemo.git

猜你喜欢

转载自blog.csdn.net/cl723401/article/details/88072254