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

    首先需要添加javax.mail-1.4.5.jar的引用。

    然后用下面的main代码就可以了。

    package org.lyk.main;
    
    import java.util.Properties;
    
    import javax.mail.Authenticator;
    import javax.mail.Message.RecipientType;
    import javax.mail.MessagingException;
    import javax.mail.PasswordAuthentication;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.AddressException;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    
    public class Main
    {
    
        public static void main(String[] args) throws Exception
        {
            try
            {
                // 配置发送邮件的环境属性
                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", "XXXX@163.com");
                // 访问SMTP服务时需要提供的密码
                props.put("mail.password", "XXXX");
                
    
                // 构建授权信息,用于进行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);
                // 设置发件人
                InternetAddress form = new InternetAddress(props.getProperty("mail.user"));
                message.setFrom(form);
    
                // 设置收件人
                InternetAddress to = new InternetAddress("xxxx@qq.com");
                message.setRecipient(RecipientType.TO, to);
    
                // 设置抄送
                InternetAddress cc = new InternetAddress("xxxx@qq.com");
                message.setRecipient(RecipientType.CC, cc);
    
                // 设置密送,其他的收件人不能看到密送的邮件地址
                // InternetAddress bcc = new InternetAddress("aaaaa@163.com");
                // message.setRecipient(RecipientType.CC, bcc);
    
                // 设置邮件标题
                message.setSubject("测试邮件");
    
                // 设置邮件的内容体
                message.setContent("<h1>这是测试邮件. 与其苟延残喘,不如从容燃烧~~~<br /> This is used for testing purpose</h1>", "text/html;charset=UTF-8");
    
                // 发送邮件
                Transport.send(message);
            } catch (Exception e)
            {
                e.printStackTrace();
            }
    
            System.out.println("///~ Main done");
        }
    
    }
  • 相关阅读:
    mongoDB Liunx下安装及配置
    Node.js WEB服务器(1)——编写简单的HTTP服务器
    MongoDB 和 NoSQL简介
    ES6的Promise浅析
    Node.js的模块系统
    Node.js的异步IO和事件轮询
    mybatis 关联表心得
    mustache 模板,用于构造html页面内容
    Python实现冒泡,选择排序
    文件路径太长无法删除 robocopy
  • 原文地址:https://www.cnblogs.com/kuillldan/p/5937383.html
Copyright © 2011-2022 走看看