Java实现QQ邮件发送(JavaMail)(Maven版)

本文介绍如何使用JavaMail API配置Spring应用以通过QQ邮箱发送邮件。包括邮箱设置、Maven依赖添加、Spring配置文件编写及发送邮件类实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、邮箱设置

1、登陆邮箱后,进入设置,开启POP3/SMTPQQ邮箱为例

在这里插入图片描述
在这里插入图片描述

二、创建工程,添加依赖

在这里插入图片描述
在这里插入图片描述

在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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.itzheng</groupId>
	<artifactId>JavaMailDemo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<dependencies>
		<dependency>
			<groupId>javax.mail</groupId>
			<artifactId>mail</artifactId>
			<version>1.4.4</version>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.11</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>4.2.4.RELEASE</version>
		</dependency>
	</dependencies>
</project>

三、编写发送Email类

在这里插入图片描述
编写spring配置文件
创建applicationContext_mail.xml文件,copy文件头约束后,添加下面代码

<?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"
	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" >
		
		<!-- smtp:发送邮件的协议 -->
		<property name="protocol" value="smtp" ></property>
		<!-- 邮件服务器地址 -->
		<property name="host" value="smtp.qq.com" ></property>
		
		<!-- 端口 -->
		<property name="port" value="465"></property>
		<!-- 邮箱用户名 -->
		<property name="username" value="发送邮箱的用户名"></property>
		
		<!-- 邮箱密码 -->
		<property name="password" value="授权码" ></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.itzheng.demo.TestSend" >
		<property name="javaMailSender" ref="javaMailSender" ></property>
	</bean>
	

</beans>

在这里插入图片描述

四、发送邮箱

package com.itzheng.demo;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestJavaMail {
	
	@Test
	public void testMail() throws Exception{
		
		ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:applicationContext-mail.xml");
		TestSend ts = (TestSend) ac.getBean("testSend");
		ts.sendMail();
		
	}

}

基于Mavenjavax.mail发送邮件例子程序 pom.xml添加依赖jar: javax.mail mail ${javamail.version} 1.4.1 /* 功能:加入了参考文章中没有的发送附件的功能.本机测试通过. 参考文章:http://ajava.org/article-722-1.html 使用Javamail发送邮件例子及解释 2012-2-1 00:14| 发布者: mark| 查看: 236| 评论: 0|原作者: mark|来自: ajava.org 摘要: 下面例子演示怎样用javamail发送邮件,在测试之前,我们要下载javamail的类包,并添加入你的工程中,如果你的IDE自带javamail的类包,那就很简单,直接import 就行,我使用的是MyEclipse 7.5,自带,所以可以直接 ... 下面例子演示怎样用javamail发送邮件,在测试之前,我们要下载javamail的类包,并添加入你的工程中,如果你的IDE自带javamail的类包,那就很简单,直接import 就行,mark使用的是MyEclipse 7.5,自带,所以可以直接测试下面代码了。 几个javamail类的作用 javax.mail.Properties类 我们使用Properties来创建一个session对象。里面保存里对Session的一些设置,如协议,SMTP地址,是否验证的设置信息 javax.mail.Session类 代表一个邮件session. 有session才有通信。 javax.mail.InternetAddress类 Address确定信件地址。 javax.mail.MimeMessage类 Message对象将存储发送的电子邮件信息,如主题,内容等等 javax.mail.Transport类 Transport传输邮件类,采用send方法是发送邮件。 * */
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员猫爪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值