「java邮件html」java邮件系统

博主:adminadmin 2023-01-05 22:57:06 819

本篇文章给大家谈谈java邮件html,以及java邮件系统对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何用java实现发送html格式的邮件

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

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 {

 

         // 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);

 

         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!");

     }

 

     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("h2font 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();

         }

     }

 }

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

java mail 收取邮件时html img 如何处理

public static void parseMail(java.io.InputStream in) throws IOException {

Message msg = new Message(in);// 读入邮件

parseBody(msg, msg.getBody());// 取出邮件内容

}

private static void parseBody(Entity e, Body body) throws IOException {

if (body instanceof Multipart) {

parseMultipart(e, (Multipart) body);

} else if (body instanceof TextBody) {

parseTextBody(e, (TextBody) body);

} else if (body instanceof BinaryBody) {

parseBinaryBody(e, (BinaryBody) body);

}

}

private static void parseMultipart(Entity e, Multipart body) throws IOException {

ListBodyPart mbp = body.getBodyParts();

for (BodyPart bp : mbp) {

parseBody(bp, bp.getBody());

}

}

private static void parseTextBody(Entity e, TextBody body) throws IOException {

Reader r = body.getReader();

// .....解析文本,可以考虑Jsoup等工具.....

}

private static void parseBinaryBody(Entity e, BinaryBody body) throws IOException {

InputStream inputStream = body.getInputStream();

// 将数据流写入到指定文件

FileOutputStream fos = new FileOutputStream(e.getFilename());

}

java发送html模版的邮件

setContent(参数),里面的字符串要是完成的html代码,"htmlhead/headbody/body/html",这种,我只写了个大概,反正就是要是完整的html代码,祝你成功

关于java邮件html和java邮件系统的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。