「java邮件html」java邮件系统
本篇文章给大家谈谈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邮件系统的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。