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

        
    
    
    // 发送邮件
        public static void send(String toEmail, String content) {
            Session session = getSession();
            try {
                System.out.println("--send--" + content);
                // Instantiate a message
                Message msg = new MimeMessage(session);
    
                // Set message attributes
                msg.setFrom(new InternetAddress("from@qq.com"));//发件人地址
                InternetAddress[] address = { new InternetAddress("to@qq.com") };
                msg.setRecipients(Message.RecipientType.TO, address);// 收件人地址
                msg.setSubject("这是发生的主题");// 发送的主题
                msg.setSentDate(new Date());// 发送日期
                msg.setContent("这是发生的内容", "text/html;charset=utf-8");// 发送类型
    
                // Send the message
                Transport.send(msg);
            } catch (MessagingException mex) {
                mex.printStackTrace();
            }
        }
    
        private static Session getSession() {
            Properties props = new Properties();
            props.put("mail.smtp.host", "smtp.qq.com");// 设置服务器地址
            props.put("mail.store.protocol", "smtp");// 设置协议
            props.put("mail.smtp.port", 25);// 设置端口
            props.put("mail.smtp.auth", "true");// 一定要这么设置,验证"true",不能设置为true
            // 创建一个密码验证器
            Authenticator authenticator = new Authenticator() {
    
                @Override
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication("from@qq.com", "****");//发送邮件的账户和密码
                }
    
            };
            // 根据邮件会话属性和密码验证器构造一个发送邮件的session
            Session session = Session.getDefaultInstance(props, authenticator);
    
            return session;
        }

    我用的是mail.jar和activation-1.1.1.jar。

    发送者邮箱需要开启POP3/SMTP服务和IMAP/SMTP服务。qq邮箱发送,设置服务的时候需要设置独立密码,上面使用的验证密码就是这个独立密码,使用qq邮箱的登录密码是不行的。否则会报:535 Authentication failed 这个错误。

    调用上面的send方法,把要接受邮箱的地址和内容传过来就可以。

  • 相关阅读:
    并发编程(五):设计原理
    并发编程(四):内存语义
    并发编程(三):内存模型基础
    并发编程(二):并发机制的实现
    并发编程(一):并发编程常见问题
    Jmeter学习前提:Jmeter安装
    Python语言学习:列表常用的方法
    Python语言学习:字符串常用的方法
    Python语言学习:homework1
    Python语言学习:pyc是什么
  • 原文地址:https://www.cnblogs.com/hjy9420/p/4270744.html
Copyright © 2011-2022 走看看