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激活码");
        }
    
    
    }
    
  • 相关阅读:
    coredns bug
    Android的Sepolicy
    漫谈fork
    ftrace总结
    Framebuffer
    .net core 5 发送windows10桌面通知
    test_app 测试环境搭建
    GitHub骚操作
    git基于某分支创建新分支
    mysql导入数据load data infile
  • 原文地址:https://www.cnblogs.com/jiading/p/12927477.html
Copyright © 2011-2022 走看看