javamail 发送邮件

本文介绍了一个使用JavaMail API发送包含HTML内容邮件的示例。通过该示例,读者可以了解到如何设置SMTP服务器属性、认证信息以及如何构建包含HTML格式的邮件正文。此外,还展示了如何设置邮件接收者及主题等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.jd.mail;

import javax.mail.*;
import javax.mail.internet.*;
import java.util.Properties;

/**
 * javamail Client
 * User: zhangb
 * Date: 12-4-20
 * Time: 上午12:53
 */
public class EmailClient {

    public static void sendMail(String subject, String content, String sender, String password, String ... receivers) throws MessagingException {
        BodyPart mdp = new MimeBodyPart();
        mdp.setContent(content, "text/html;charset=UTF-8");
        Multipart mm = new MimeMultipart();
        mm.addBodyPart(mdp);

        Properties props = new Properties();
        props.put("mail.smtp.host", "smtp.163.com");
        props.put("mail.smtp.auth", "true");
        Session sendSession = Session.getDefaultInstance(props, new EmailAuthenticator(sender, password));
        sendSession.setDebug(true);

        Message message = new MimeMessage(sendSession);
        message.setFrom(new InternetAddress(sender));
        Address[] addresses = new InternetAddress[receivers.length];
        for (int i = 0; i < receivers.length; i ++) {
            addresses[i] = new InternetAddress(receivers[i]);
        }
        message.setRecipients(Message.RecipientType.TO, addresses);
        message.setSubject(subject);
        message.setContent(mm);
        message.saveChanges();

        Transport.send(message);
    }


    private static class EmailAuthenticator extends Authenticator {
        private String strUser;
        private String strPwd;

        public EmailAuthenticator(String user, String password) {
            this.strUser = user;
            this.strPwd = password;
        }

        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(strUser, strPwd);
        }
    }

}
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值