JAVA编写发送126邮箱

1.引入依赖

  <dependencies>
        <!--上下文支持包-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.7</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>compile</scope>
        </dependency>
        <!--方便将文件内容以String类型读出-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.3.2</version>
        </dependency>
    </dependencies>

2.创建一个spring的配置文件

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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="mailSend"  class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <!--邮件发送服务器的地址-->
        <!--126首页 设置 POP3/SMTP/IMAP 最下面 SMTP服务器-->
        <property name="host" value="smtp.126.com"/>
        <!--发送邮件账号-->
        <property name="username" value="填你的邮箱"/>
        <!--客户端授权码-->
        <!--126首页 设置 POP3/SMTP/IMAP 最上面 POP3/SMTP服务  开启 然后获取该值-->
        <property name="password" value="填你自己的"/>
        <!--设置邮件的编码格式-->
        <property name="defaultEncoding" value="UTF-8"/>
        <property name="javaMailProperties">
            <props>
                <!--是否开启用户身份验证-->
                <prop key="mail.smtp.auth">true</prop>
                <!--发送邮件超时时间-->
                <prop key="mail.smtp.timeout">30000</prop>
            </props>
        </property>
    </bean>

</beans>

3.编写测试方法

这里写了四个测试类,包含了不同的发送方式

最基本的邮件发送
import org.junit.runner.RunWith;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl;


//最基本的邮件发送
public class JavaMailSendDemo {

    public static void main(String[] args) {
//        手动加载spring环境
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext*.xml");
//        根据上下文 从spring环境获取创建邮件发送对象
        JavaMailSender mailSender = (JavaMailSender)context.getBean("mailSend");
//        1.发送最简单邮件
        SimpleMailMessage mailMessage = new SimpleMailMessage();
//        设置邮件属性  发送者邮件地址
        mailMessage.setFrom("guo785289813@126.com");
//        设置发给谁 邮件接收者
        mailMessage.setTo("guo785289813@126.com");
//        设置邮件标题
        mailMessage.setSubject("哈哈哈你好啊");
//        设置邮件正文
        mailMessage.setText("今天天气真不错啊,小老弟");
//        调用邮件发送对象,发送邮件
        mailSender.send(mailMessage);
        System.out.println("邮件发送成功");

    }

}

携带附件发送
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;


//携带附件发送
public class JavaMailSendDemo2 {
    public static void main(String[] args) {
//        手动加载spring环境
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext*.xml");
//        根据上下文 从spring环境获取创建邮件发送对象
        JavaMailSender mailSender = (JavaMailSender)context.getBean("mailSend");
        //创建支持附件邮件对象
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        try {
            //创建邮件发送助手类
            MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true);
            //设置邮件属性  发送者邮件地址
            messageHelper.setFrom("guo785289813@126.com");
            //设置发给谁 邮件接收者
            messageHelper.setTo("guo785289813@126.com");
            //设置邮件标题
            messageHelper.setSubject("哈哈哈你好啊");
            //设置邮件正文  两种  1.不支持Html语法的  2.支持Html语法的
           // messageHelper.setText("今天天气真不错啊,小老弟");
            //后面加true后,就支持Html语法
            messageHelper.setText("<h1>今天天气真不错啊,小老弟</h1>",true);


            //找到需要发送的文件
            File file1 = new File("D:\\1.png");
            //将文件关联到发送体
            messageHelper.addAttachment("1.png",file1);



        } catch (MessagingException e) {
            e.printStackTrace();
        }

//        调用邮件发送对象,发送邮件
        mailSender.send(mimeMessage);
        System.out.println("邮件发送成功");

    }
}

指定本地图片嵌入到正文中发送
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;


//图片嵌入到正文中

public class JavaMailSendDemo3 {
    public static void main(String[] args) {
//        手动加载spring环境
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext*.xml");
//        根据上下文 从spring环境获取创建邮件发送对象
        JavaMailSender mailSender = (JavaMailSender)context.getBean("mailSend");
        //创建支持附件邮件对象
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        try {
            //创建邮件发送助手类
            MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true);
            //设置邮件属性  发送者邮件地址
            messageHelper.setFrom("guo785289813@126.com");
            //设置发给谁 邮件接收者
            messageHelper.setTo("guo785289813@126.com");
            //设置邮件标题
            messageHelper.setSubject("哈哈哈你好啊");
            //设置内容   注意 cid:  是语法 后面跟设置的嵌入图片的属性名
            messageHelper.setText("<h1>今天天气真不错啊,小老弟</h1><img src='cid:log'></img>",true);
            //找到需要发送的文件
            File file1 = new File("D:\\1.png");
            //把图片嵌入到邮件正文
            messageHelper.addInline("log",file1);
        } catch (MessagingException e) {
            e.printStackTrace();
        }
//        调用邮件发送对象,发送邮件
        mailSender.send(mimeMessage);
        System.out.println("邮件发送成功");

    }
}

读取本地文件以文本形式发送邮件
import org.apache.commons.io.IOUtils;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import sun.nio.ch.IOUtil;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;
import java.io.FileInputStream;


//读取本地文件以文本形式发送邮件
public class JavaMailSendDemo4 {
    public static void main(String[] args) {
//        手动加载spring环境
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext*.xml");
//        根据上下文 从spring环境获取创建邮件发送对象
        JavaMailSender mailSender = (JavaMailSender)context.getBean("mailSend");
        //创建支持附件邮件对象
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        try {
            //创建邮件发送助手类
            MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true);
            //设置邮件属性  发送者邮件地址
            messageHelper.setFrom("guo785289813@126.com");
            //设置发给谁 邮件接收者
            messageHelper.setTo("guo785289813@126.com");
            //设置邮件标题
            messageHelper.setSubject("哈哈哈你好啊");
            //使用commons工具类来读取文件,String类型接收,如果文本里面要替换图片可以使用cid:log
            String text = IOUtils.toString(new FileInputStream("D:\\1.txt"),"UTF-8");
            //设置内容   注意 cid:  是语法 后面跟设置的嵌入图片的属性名
            messageHelper.setText(text,true);


            //找到需要发送的文件
            File file1 = new File("D:\\1.png");
            //把图片嵌入到邮件正文
            messageHelper.addInline("log",file1);
        } catch (Exception e) {
            e.printStackTrace();
        }
//        调用邮件发送对象,发送邮件
        mailSender.send(mimeMessage);
        System.out.println("邮件发送成功");

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小轩爱编程

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

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

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

打赏作者

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

抵扣说明:

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

余额充值