如何使用javaMail发送qq邮件

javaMail:

Javamail,顾名思义,提供给开发者处理电子邮件相关的变成编程接口.它是sun公司发布的用啦处理emial的API.
它可以方便地执行一些常用的邮件传输.JavaMail API是Sun公司为方便java开发人员在应用程序中实现邮件发送
和接收功能而提供的一套标准开发包,它支持一些常用的协议:如SMTP,POP3,IMAP.
开发人员使用JavaMail API编写邮件处理软件时,无须考虑邮件协议底层的实现,只需要调用JavaMail开发包中
相应的API类就可以买了

第一步,你的QQ邮箱开启了POP3/SMTP

QQ有限默认是没有开启的.

这里写图片描述

这里写图片描述


2.开始编写测试代码(使用Maven构架工程)

这里写图片描述

2.1需要添加的依赖:

<dependencies>
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.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>
            <scope>test</scope>
        </dependency>
    </dependencies>

TestSend:

/**
 * 
 * @author 汤小萌
 *
 */
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("******@qq.com");
        // 收件人
        helper.setTo("*******@qq.com");
        // 邮件标题
        helper.setSubject("Mail Test");
        // 邮件内容
        helper.setText("你要是收到了这封邮件,代表测试成功!!!");
        // 发送邮件
        javaMailSender.send(mimeMessage);
    }

}

applicationContext-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"
    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="******@qq.com"></property>
        <!-- 这个密码不是邮箱登录的密码,是你开启SMTP后台给你发送的面 -->
        <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="cn.itcast.demo.TestSend">
        <property name="javaMailSender" ref="javaMailSender"></property>
    </bean>


</beans>

测试代码:

public class TestJavaMail {

    @Test
    public void testMail() throws MessagingException {
        ClassPathXmlApplicationContext conf = new ClassPathXmlApplicationContext("classpath:applicationContext-mail.xml");
        TestSend ts = (TestSend) conf.getBean("testSend");
        ts.sendMail();
    }
}
按照这种格式就可以发送邮件了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值