zoukankan      html  css  js  c++  java
  • 可用于阿里云的java mail for QQ mail模板

    可用于阿里云的java mail for QQ mail模板

    阿里云禁用了默认发邮件的25端口,会导致本地测试没问题的发邮件代码到服务器上出现无法发邮件的问题,详情见:https://www.cnblogs.com/axinno1/p/8303130.html

    package com.jiading.utils;
    
    import javax.mail.*;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    import java.util.Properties;
    
    /**
     * 发邮件工具类
     */
    public final class MailUtils {
        private static final String USER = "你的用户名"; // 发件人称号,同邮箱地址
        private static final String PASSWORD = "授权码"; // 如果是qq邮箱可以使户端授权码,或者登录密码
        private static final String HOST = "smtp.qq.com";
    
        /**
         *
         * @param to 收件人邮箱
         * @param text 邮件正文
         * @param title 标题
         */
        /* 发送验证信息的邮件 */
        public static boolean sendMail(String to, String text, String title){
            try {
                final Properties props = new Properties();
                props.put("mail.smtp.auth", "true");
                props.put("mail.smtp.host", HOST);
                props.put("mail.smtp.port", "465");
                props.put("mail.transport.protocol", "smtp");
                props.put("mail.smtp.ssl.enable", "true");
                //props.put("mail.smtp.host", "smtp.office365.com");
                // 发件人的账号
                props.put("mail.user", USER);
                //发件人的密码
                props.put("mail.password", PASSWORD);
    
                // 构建授权信息,用于进行SMTP进行身份验证
                Authenticator authenticator = new Authenticator() {
                    @Override
                    protected PasswordAuthentication getPasswordAuthentication() {
                        // 用户名、密码
                        String userName = props.getProperty("mail.user");
                        String password = props.getProperty("mail.password");
                        return new PasswordAuthentication(userName, password);
                    }
                };
                // 使用环境属性和授权信息,创建邮件会话
                Session mailSession = Session.getInstance(props, authenticator);
                // 创建邮件消息
                MimeMessage message = new MimeMessage(mailSession);
                // 设置发件人
                String username = props.getProperty("mail.user");
                InternetAddress form = new InternetAddress(username);
                message.setFrom(form);
    
                // 设置收件人
                InternetAddress toAddress = new InternetAddress(to);
                message.setRecipient(Message.RecipientType.TO, toAddress);
    
                // 设置邮件标题
                message.setSubject(title);
    
                // 设置邮件的内容体
                message.setContent(text, "text/html;charset=UTF-8");
                // 发送邮件
                Transport.send(message);
                return true;
            }catch (Exception e){
                e.printStackTrace();
            }
            return false;
        }
    
        public static void main(String[] args) throws Exception { // 做测试用
            com.jiading.utils.MailUtils.sendMail("jiading.biz@outlook.com","你好,这是一封测试邮件,无需回复。","测试邮件");
            System.out.println("发送成功");
        }
        public static void sendCode(String to,String code){
            sendMail(to,"您的验证码是:"+code,"XJChat激活码");
        }
    
    
    }
    
  • 相关阅读:
    算法竞赛入门经典习题2-3 韩信点兵
    ios入门之c语言篇——基本函数——5——素数判断
    ios入门之c语言篇——基本函数——4——数值交换函数
    144. Binary Tree Preorder Traversal
    143. Reorder List
    142. Linked List Cycle II
    139. Word Break
    138. Copy List with Random Pointer
    137. Single Number II
    135. Candy
  • 原文地址:https://www.cnblogs.com/jiading/p/12927477.html
Copyright © 2011-2022 走看看