java 发送邮件

此代码经测试没问题,只需要填写其中的一些信息就可以直接使用了
直接上代码 用到的是java mail 的这个jar包

public class demo {
    /**
     * 发送邮件的方法
     * @param to	接收人
     * @param title	邮件主题
     * @param content	邮件内容
     * @return
     */
    public static String sendMail(String to, String title, String content) {
        /**
         * 1、设置邮箱的一些属性,关于Properties类的介绍,见末尾博客
         * 2、创建认证对象authenticator,使用自己的邮件账号和授权码
         * 3、获得一个session对象,用来保存认证对象
         * 4、创建邮件消息对象message
         * 	4.1、设置message的发送人,这个要和认证对象的账号一致
         *  4.2、设置message的接收人
         * 	4.3、设置邮件的主题和内容
         */

        // 1、创建Properties属性对象,并设置一些邮件的属性
        Properties props = new Properties();
        props.setProperty("mail.host", "smtp.163.com"); // 设置邮箱服务器
        props.setProperty("mail.transport.protocol", "SMTP"); // 设置邮箱发送的协议
        props.setProperty("mail.smtp.auth", "true"); // 设置认证方式

        // 2、创建认证对象authenticator
        Authenticator authenticator = new Authenticator() {
            public PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("发件人的邮箱账号", "发件人的授权码"); // 发件人的邮件账号和授权码,注意不是密码。
            }
        };

        // 3、创建会话对象session
        Session session = Session.getInstance(props, authenticator);

        // 4、创建邮件消息对象,设置发送人、接收人、邮件主题、邮件内容
        MimeMessage mess = new MimeMessage(session);
        try {
            mess.setFrom(new InternetAddress("发件人邮箱")); // 设置邮件的发件人
            mess.setRecipients(Message.RecipientType.TO, to); // 设置收件人
            mess.setSubject(title); // 设置邮件标题
            mess.setContent(content, "text/html;charset=utf-8"); // 设置邮件内容和格式

            // 5、发送邮件
            Transport.send(mess);
        } catch (MessagingException e) {
            e.printStackTrace();
            return "发送邮件失败, 原因:" + e.getMessage();
        }
        return "发送邮件成功!接收人:" + to;

    }

    public static void main(String[] args) {
        //接收人      邮件主题      邮件内容
        String mess = sendMail("接收人邮箱", "邮件主题", "<h1>这是一封测试邮件</h1>");
        System.out.println(mess);   //控制台输出返回消息
    }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值