• 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");
        }
    
    }
  • 相关阅读:
    【Linux】linux中很有用的指令(练习)
    【C 标准库】<string.h>
    【Linux网络编程】使用GDB调试程序
    【LINUX网络编程】Makefile文件
    【UNIX网络编程】TCP客户/服务器程序示例
    【UNIX网络编程】基本TCP套接字编程
    pyQt5新手教程 (二)通过jupyter开始你的旅程-编写一个空白窗口
    pyQt5新手教程 (一)通过anaconda安装pyqt包
    如何把没用的tplink4C68路由器连起来
    xcode10升级之后开始安装cocoapods
  • 原文地址:https://www.cnblogs.com/kuillldan/p/5937383.html
Copyright © 2020-2023  润新知