java 发送html 格式的邮件

在 Java 中,可以使用 JavaMail API 来发送 HTML 格式的邮件。下面是一个简单的示例代码:

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

publicclassSendMail {
   publicstaticvoidmain(String[] args) {
      // 收件人电子邮箱Stringto="receiver@example.com";

      // 发件人电子邮箱Stringfrom="sender@example.com";

      // 发件人电子邮箱密码Stringpassword="your_password";

      // 指定发送邮件的主机为 smtp.gmail.comStringhost="smtp.gmail.com";

      // 获取系统属性Propertiesproperties= System.getProperties();

      // 设置邮件服务器
      properties.setProperty("mail.smtp.host", host);
      properties.setProperty("mail.smtp.auth", "true");
      properties.setProperty("mail.smtp.port", "465");
      properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

      // 获取默认的 Session 对象Sessionsession= Session.getDefaultInstance(properties, newAuthenticator() {
         protected PasswordAuthentication getPasswordAuthentication() {
            returnnewPasswordAuthentication(from, password);
         }
      });

      try {
         // 创建一个默认的 MimeMessage 对象MimeMessagemessage=newMimeMessage(session);

         // 设置 From: 头部头字段
         message.setFrom(newInternetAddress(from));

         // 设置 To: 头部头字段
         message.addRecipient(Message.RecipientType.TO, newInternetAddress(to));

         // 设置 Subject: 头部头字段
         message.setSubject("HTML邮件");

         // 设置消息体StringhtmlContent="<h1>Hello World!</h1><p>This is a HTML email.</p>";
         message.setContent(htmlContent, "text/html;charset=utf-8");

         // 发送消息
         Transport.send(message);
         System.out.println("邮件发送成功。");
      } catch (MessagingException mex) {
         mex.printStackTrace();
      }
   }
}

在上面的代码中,首先设置了收件人、发件人、发件人密码和邮件服务器的信息。然后设置了系统属性,包括邮件服务器、SMTP 认证、SMTP 端口和 SSL 连接。接着创建一个默认的 Session 对象,并设置身份验证信息。最后创建一个 MimeMessage 对象,并设置邮件头部和内容,使用 "text/html" 类型表示这是一个 HTML 邮件,然后调用 Transport 类的 send() 方法来发送邮件。

注意:由于涉及到发件人密码等敏感信息,建议将其保存在安全的位置,例如配置文件中,并使用相应的方式读取。同时,由于邮箱服务商对 SMTP 邮件发送的限制不同,需要根据实际情况设置相应的属性。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Java发送HTML格式内容的电子邮件,您需要使用JavaMail API并将电子邮件的内容设置为HTML格式。以下是一个简单的示例程序: ```java import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.*; import javax.activation.*; public class SendHTMLMail { public static void main(String[] args) { String to = "recipient@example.com"; // 收件人电子邮件地址 String from = "your_email@example.com"; // 发件人电子邮件地址 String password = "your_email_password"; // 发件人电子邮件密码 // 设置邮件会话属性 Properties props = new Properties(); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.port", "587"); // 获取邮件会话 Session session = Session.getInstance(props, new javax.mail.Authenticator() { protected javax.mail.PasswordAuthentication getPasswordAuthentication() { return new javax.mail.PasswordAuthentication(from, password); } }); try { // 创建电子邮件消息 Message message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to)); message.setSubject("邮件主题"); // 创建邮件消息的多部分 Multipart multipart = new MimeMultipart(); // 创建HTML部分 BodyPart htmlBodyPart = new MimeBodyPart(); String htmlContent = "<h1>Hello, World!</h1>"; htmlBodyPart.setContent(htmlContent, "text/html"); // 将HTML部分添加到多部分 multipart.addBodyPart(htmlBodyPart); // 将多部分添加到消息 message.setContent(multipart); // 发送电子邮件 Transport.send(message); System.out.println("电子邮件发送。"); } catch (AddressException e) { throw new RuntimeException(e); } catch (MessagingException e) { throw new RuntimeException(e); } } } ``` 在上面的程序中,您可以将`htmlContent`变量替换为您自己的HTML内容。然后,将HTML部分添加到多部分,然后将多部分添加到消息。这将确保电子邮件HTML格式发送

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值