如何使用javaMail发送qq邮件

javaMail:

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

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

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

如何使用javaMail发送qq邮件_第1张图片

如何使用javaMail发送qq邮件_第2张图片


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

如何使用javaMail发送qq邮件_第3张图片

2.1需要添加的依赖:

<dependencies>
        <dependency>
            <groupId>javax.mailgroupId>
            <artifactId>mailartifactId>
            <version>1.4.4version>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-context-supportartifactId>
            <version>4.2.4.RELEASEversion>
        dependency>
        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <version>4.9version>
            <scope>testscope>
        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:


<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>
        
        <property name="host" value="smtp.qq.com">property>
        
        <property name="port" value="465">property>
        
        <property name="username" value="******@qq.com">property>
        
        <property name="password" value="****">property>
        <property name="javaMailProperties">
            <props>
                
                <prop key="mail.smtp.auth">trueprop>
                
                <prop key="mail.smtp.ssl.enable">trueprop>
            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();
    }
}
按照这种格式就可以发送邮件了

你可能感兴趣的:(技术点)