java 如何将指定的html作为邮件正文发送

2025-10-24 08:01:14

1、首先Java发送邮件需要用到JavaMail,先到Oracle官网上下载好最新版本的JavaMail(刚才看了一下,最新是1.5.3),把下载的这个jar文件放到classpath里(如果是Web项目,就放到WEB-INF/lib目录下。

java 如何将指定的html作为邮件正文发送

2、JavaMail主要支持发送纯文本的和html格式的邮件。发送html格式的邮件的一个例程如下:

 import javax.mail.internet.InternetAddress;

 import javax.mail.internet.MimeMessage;

 import javax.mail.internet.MimeUtility;

 import javax.mail.Session;

 import javax.mail.MessagingException;

import javax.mail.Transport;

  

public class SendHtmlMail {

     public static void sendMessage(String smtpHost,

                                    String from, String to,

                                    String subject, String messageText)

             throws MessagingException,java.io.UnsupportedEncodingException {

java 如何将指定的html作为邮件正文发送

3、 // Step 1:  Configure the mail session

         System.out.println("Configuring mail session for: " + smtpHost);

         java.util.Properties props = new java.util.Properties();

         props.setProperty("mail.smtp.auth", "true");//指定是否需要SMTP验证

         props.setProperty("mail.smtp.host", smtpHost);//指定SMTP服务器

         props.put("mail.transport.protocol", "smtp");

         Session mailSession = Session.getDefaultInstance(props);

         mailSession.setDebug(true);//是否在控制台显示debug信息

  

         // Step 2:  Construct the message

         System.out.println("Constructing message -  from=" + from + "  to=" + to);

         InternetAddress fromAddress = new InternetAddress(from);

         InternetAddress toAddress = new InternetAddress(to);

java 如何将指定的html作为邮件正文发送

4、 MimeMessage testMessage = new MimeMessage(mailSession);

         testMessage.setFrom(fromAddress);

         testMessage.addRecipient(javax.mail.Message.RecipientType.TO, toAddress);

         testMessage.setSentDate(new java.util.Date());

         testMessage.setSubject(MimeUtility.encodeText(subject,"gb2312","B"));

  

        testMessage.setContent(messageText, "text/html;charset=gb2312");

         System.out.println("Message constructed");

  

        // Step 3:  Now send the message

         Transport transport = mailSession.getTransport("smtp");

         transport.connect(smtpHost, "webmaster", "password");

         transport.sendMessage(testMessage, testMessage.getAllRecipients());

         transport.close();

  

         System.out.println("Message sent!");

     }

java 如何将指定的html作为邮件正文发送

5、     public static void main(String[] args) {

  

         String smtpHost = "localhost";

         String from = "webmaster@mymail.com";

         String to = "mfc42d@sohu.com";

         String subject = "html邮件测试"; //subject javamail自动转码

  

         StringBuffer theMessage = new StringBuffer();

         theMessage.append("<h2><font color=red>这倒霉孩子</font></h2>");

         theMessage.append("<hr>");

         theMessage.append("<i>年年失望年年望</i>");

         try {

            SendHtmlMail.sendMessage(smtpHost, from, to, subject, theMessage.toString());

         }

         catch (javax.mail.MessagingException exc) {

             exc.printStackTrace();

         }

         catch (java.io.UnsupportedEncodingException exc) {

             exc.printStackTrace();

         }

     }

 }

java 如何将指定的html作为邮件正文发送

6、JavaMail是封装了很多邮件操作的,所以使用起来不很困难,建议你到JavaMail官网看一下API或下载Java Doc API文档。

java 如何将指定的html作为邮件正文发送

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢