使用smtp服务器发送邮件,邮件内容是html

本文介绍使用JavaMail API发送包含HTML格式和表格的电子邮件的方法。通过设置SMTP服务器参数,认证信息,创建MimeMessage对象并设置邮件内容为HTML,最终实现邮件的发送。

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

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
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.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class javaMailTest {
    
   public static void main(String[] args) throws AddressException, MessagingException {
       Properties props = new Properties();
       props.setProperty("mail.transport.protocol", "SMTP");
       props.setProperty("mail.smtp.host", "smtp.163.com"); //smtp 163的服务器地址
       props.setProperty("mail.smtp.auth", "true");
       props.setProperty("mail.smtp.port", "25"); //smtp 对于163默认开放的端口
       
       Authenticator auth = new Authenticator(){
           public PasswordAuthentication getPasswordAuthentication(){
               return new PasswordAuthentication("发送人邮箱用户名", "发送人邮箱密码"); }
                   };
       
       Session session = Session.getInstance(props,auth);
       
       MimeMessage message = new MimeMessage(session);
       message.setFrom(new InternetAddress("发送人邮箱地址"));
       message.addRecipient(Message.RecipientType.TO,new InternetAddress("接收人邮箱地址"));
       
     // 设置主题
       message.setSubject("邮件发送测试");
       
      // 设置html内容
       Multipart mainPart = new MimeMultipart();
       // 创建一个包含HTML内容的MimeBodyPart
       BodyPart html = new MimeBodyPart();
       String context="<div>"
               + "<div>表格</div>"
            + "<style type='text/css'>"
            + "table,thead,tbody,th,td{border: 1px solid black;}"
            + "</style>"
               + "</div>"
            +"<div>11111111111111111</div></br><div>"
               + "<table>"
               + "<thead>"
               + "<th>第一列</th> "
               + "<th>第二列</th>"
               + "<th>第二列</th>"
               + "</thead>"
               + "<tbody>"
               + "<td>1</td>"
               + "<td>2</td>"
               + "<td>3</td>"
               + "</tbody>"
               + "</table>"
               +"</div>";
 
       html.setContent(context, "text/html; charset=utf-8");
       
       mainPart.addBodyPart(html);
       
       message.setContent(mainPart);
       message.saveChanges();
       
       Transport.send(message);
    
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值