IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> java之实现发邮件功能 -> 正文阅读

[网络协议]java之实现发邮件功能

实现发邮件功能


1、配置邮件服务器主机名:private static String myEmailSMTPHost = “smtp.qq.com”;(邮箱服务器前面加“smtp.”)
2、配置private static String myEmailAccount = “123456789@qq.com”;(在配置的邮箱服务器上创建邮箱)
3、开启SMTP服务,配置授权码:发件人邮箱密码(授权码)
private static String myEmailPassword = “gebkgxzpspvhbejc”;
4、创建邮件工具类

package com.tanwuapp.common.utils;

import com.sun.mail.util.MailSSLSocketFactory;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Date;
import java.util.Properties;

public class EmailUtil {

    //邮件服务器主机名,腾讯企业邮箱
    private static String myEmailSMTPHost = "smtp.exmail.qq.com";

    //发件人邮箱,腾讯企业邮箱
    private static String myEmailAccount = "wanlin@zuzuya.cn";

    //发件人邮箱密码(授权码)
    //在开启SMTP服务时会获取到一个授权码,把授权码填在这里
    private static String myEmailPassword = "PVTDcqRFk6hZP93Y";

    /**
     * 邮件单发(自由编辑短信,并发送,适用于私信)
     *
     * @param toEmailAddress 收件箱地址
     * @param emailTitle 邮件主题
     * @param emailContent 邮件内容
     * @throws Exception
     */
    public static void sendEmail(String toEmailAddress, String emailTitle, String emailContent) {
        Transport transport=null;
        try {
            Properties props = new Properties();

            // 发送服务器需要身份验证
            props.setProperty("mail.smtp.auth", "true");

            // 端口号
            props.put("mail.smtp.port", 465);

            // 设置邮件服务器主机名
            props.setProperty("mail.smtp.host", myEmailSMTPHost);

            // 发送邮件协议名称
            props.setProperty("mail.transport.protocol", "smtp");

            /**SSL认证,注意腾讯邮箱是基于SSL加密的,所以需要开启才可以使用**/
            MailSSLSocketFactory sf = new MailSSLSocketFactory();
            sf.setTrustAllHosts(true);

            //设置是否使用ssl安全连接(一般都使用)
            props.put("mail.smtp.ssl.enable", "true");
            props.put("mail.smtp.ssl.socketFactory", sf);

            //创建会话
            Session session = Session.getInstance(props);

            //获取邮件对象
            //发送的消息,基于观察者模式进行设计的
            Message msg = new MimeMessage(session);

            //设置邮件标题
            msg.setSubject(emailTitle);

            //设置显示的发件时间
            msg.setSentDate(new Date());

            //设置邮件内容
            msg.setText(emailContent);

            //设置发件人邮箱
            // InternetAddress 的三个参数分别为: 发件人邮箱, 显示的昵称(只用于显示, 没有特别的要求), 昵称的字符集编码
            msg.setFrom(new InternetAddress(myEmailAccount,"租租鸭 info", "UTF-8"));

            //得到邮差对象
            transport = session.getTransport();

            //连接自己的邮箱账户
            //密码不是自己QQ邮箱的密码,而是在开启SMTP服务时所获取到的授权码
            //connect(host, user, password)
            transport.connect( myEmailSMTPHost, myEmailAccount, myEmailPassword);

            //发送邮件
            transport.sendMessage(msg, new Address[] { new InternetAddress(toEmailAddress) });
        }catch (Exception e){
            LogUtils.system.error(e);
        }finally {
            if(transport!=null){
                try {
                    transport.close();
                } catch (MessagingException e) {
                    e.printStackTrace();
                }
            }
        }


    }


}

5、调用邮件工具类发邮件

	  StringBuilder emailStr = new StringBuilder("订单号:" + "123456789");
                    emailStr.append("\n姓名:" + "租租鸭");
                    emailStr.append("\n 第" + "1"+ "期");
                    emailStr.append("\n 已扣款成功");
      EmailUtil.sendEmail("123456789@qq.com", "坏帐扣款成功通知", emailStr.toString());
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 12:47:24  更:2022-04-04 12:48:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:41:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码