zoukankan      html  css  js  c++  java
  • 发送邮件

    /**
         * 邮件发送工具类
         */
            /**
             * 邮件发送的方法
             * 
             * @param to 收件人
             * @param subject 主题
             * @param content 内容
             * @param smtp 协议
             * @param host 发送服务器服务器
             * @param sendName 邮件发送人
             * @param sendPort 邮件发送人端口
             * @param userName 邮件发送人名
             * @param userPwd 邮件发送人密码
             * @return 成功或失败
             */
            public static boolean send(String to, String subject, String content, String smtp, String host,
                    String sendName, String sendPort, String userName, String userPwd) {
    
                // 第一步:创建Session
                Properties props = new Properties();
                // 指定邮件的传输协议,smtp(Simple Mail Transfer Protocol 简单的邮件传输协议)
                props.put("mail.transport.protocol", smtp);
                // 指定邮件发送服务器服务器 "smtp.qq.com"
                props.put("mail.host", host);
                // 指定邮件的发送人(您用来发送邮件的服务器,比如您的163sina等邮箱)
                props.put("mail.from", sendName);
                if (true) {
                    props.put("mail.smtp.starttls.enable", "true");
                    props.put("mail.smtp.socketFactory.fallback", "false");
                    props.put("mail.smtp.socketFactory.port", sendPort);
                }
                Session session = Session.getDefaultInstance(props);
    
                // 开启调试模式
                session.setDebug(true);
                try {
                    // 第二步:获取邮件发送对象
                    Transport transport = session.getTransport();
                    // 连接邮件服务器,链接您的163、sina邮箱,用户名(不带@163.com,登录邮箱的邮箱账号,不是邮箱地址)、密码
                    transport.connect(userName, userPwd);
                    Address toAddress = new  InternetAddress(to);
    
                    // 第三步:创建邮件消息体
                    MimeMessage message = new MimeMessage(session);
                    //设置自定义发件人昵称
                    String nick="";
                    try {
                        nick=javax.mail.internet.MimeUtility.encodeText("kasher");
                    } catch (UnsupportedEncodingException e) {
                        e.printStackTrace();
                    } 
                    message.setFrom(new InternetAddress(nick+" <"+sendName+">"));
                  //设置发信人
                   // message.setFrom(new InternetAddress(sendName));
    
                    // 邮件的主题
                    message.setSubject(subject);
                    //收件人
                    message.addRecipient(Message.RecipientType.TO, toAddress); 
                    /*//抄送人
                    Address ccAddress = new InternetAddress("first.lady@whitehouse.gov"); 
                    message.addRecipient(Message.RecipientType.CC, ccAddress);*/
                    // 邮件的内容
                    message.setContent(content, "text/html;charset=utf-8");
                    // 邮件发送时间
                    message.setSentDate(new Date());
    
                    // 第四步:发送邮件
                    // 第一个参数:邮件的消息体
                    // 第二个参数:邮件的接收人,多个接收人用逗号隔开(test1@163.com,test2@sina.com)
                    transport.sendMessage(message, InternetAddress.parse(to));
                    return true;
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return false;
            }
    
            public static void main(String[] args) {
                // 您要发送给谁,标题,内容
                类名.send("******@gmail.com", "测试发送邮件", "从QQ发送邮件到gmail,gmail自动转发到QQ", "smtp", "smtp.qq.com", "******@qq.com此处要和后面一致", "25", "*****@qq.com此处要和前面一致", "此处是邮箱加密后的密码");
            }
  • 相关阅读:
    [FAQ] GitHub 开启二次验证之后,如何通过 https clone 项目 ?
    [FAQ] GoLand 需要手动开启代码补全吗 ?
    [FAQ] 夏玉米 按规则查询域名靠谱吗 ?
    [FAQ] Error: com.mysql.jdbc.Driver not loaded. :jdbc_driver_library
    [php-src] Php内核的有趣高频宏
    [php-src] Php扩展开发的琐碎注意点、细节
    [ELK] Docker 运行 Elastic Stack 支持 TLS 的两种简单方式
    [Contract] Solidity 生成随机数方案
    [MySQL] 导入数据库和表的两种方式
    [ELK] 生产环境中 Elasticsearch 的重要配置项
  • 原文地址:https://www.cnblogs.com/kasher/p/7356388.html
Copyright © 2011-2022 走看看