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

    JavaMail邮件发送

    引用maven jar包

    1 <dependency>
    2     <groupId>javax.mail</groupId>
    3     <artifactId>mail</artifactId>
    4     <version>1.4.5</version>
    5 </dependency>

    发送邮件函数

    private static void sendMail(){
            // 配置发送邮件的环境属性
            final Properties props = new Properties();
            /*
             * 可用的属性: mail.store.protocol / mail.transport.protocol / mail.host /
             * mail.user / mail.from
             */
            // 表示SMTP发送邮件,需要进行身份验证
            props.put("mail.smtp.auth", "true");
            props.put("mail.smtp.host", "smtp.163.com");
            // 发件人的账号
            props.put("mail.user", "*****@163.com");
            // 访问SMTP服务时需要提供的密码
            props.put("mail.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);
    
            try {
                // 设置发件人
                InternetAddress form = null;
                form = new InternetAddress(
                        props.getProperty("mail.user"));
                message.setFrom(form);
                // 设置收件人
                InternetAddress to = new InternetAddress(****@163.com);
                message.setRecipient(Message.RecipientType.TO, to);
                // 设置邮件标题
                message.setSubject("测试邮件");
    
                // 设置邮件的内容体
                message.setContent("<a href='http://www.cnblogs.com/dawnheaven/'>测试的HTML邮件</a>", "text/html;charset=UTF-8");
    
                // 发送邮件
                Transport.send(message);
            } catch (AddressException e) {
                e.printStackTrace();
            } catch (MessagingException e) {
                e.printStackTrace();
            }
        }

  • 相关阅读:
    详解Winform多线程编程基本原理
    asp.net 文件夹和文件的创建、删除
    sql server 查询表名,存储过程,列名等
    随机输出数组中的一个数
    C# 获取Access数据库中所有表名及其列名、列类型
    Oracle 数据库小记
    Oracle11g、PLSQL、Winfrom环境搭建
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    Android开发中用到的框架、库介绍
    Android数据存储
  • 原文地址:https://www.cnblogs.com/dawnheaven/p/5057150.html
Copyright © 2011-2022 走看看