Java发送带html标签内容的邮件

package test;

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(false);// 是否在控制台显示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, "riteng_mes", "ri-teng1234");
        transport.sendMessage(testMessage, testMessage.getAllRecipients());
        transport.close();

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

    public static void main(String[] args) {

        String smtpHost = "10.131.119.36";
        String from = "[email protected]";
        String to = "[email protected]";
        String subject = "html邮件测试"; // subject javamail自动转码

        StringBuffer theMessage = new StringBuffer();
        theMessage.append("<h2><font color=red>这倒霉孩子</font></h2>");
        theMessage.append("<hr>");
        theMessage.append("<i>年年失望年年望</i>");
        theMessage.append("<table border=‘1‘><tr><td>aaa</td><td>bbb</td></tr><tr><td>ccc</td><td>ddd</td></tr></table>");

        try {
            SendHtmlMail.sendMessage(smtpHost, from, to, subject,theMessage.toString());
        } catch (javax.mail.MessagingException exc) {
            exc.printStackTrace();
        } catch (java.io.UnsupportedEncodingException exc) {
            exc.printStackTrace();
        }
    }
}
时间: 2024-08-03 09:28:25

Java发送带html标签内容的邮件的相关文章

Java发送带附件的QQ邮箱

由于腾讯公司给QQ邮箱增加了一个授权码的密码保护,导致之前网上很多代码都不能用,于是就自己敲了一份demo. 注意在密码那里可能需要授权码,具体设置:http://service.mail.qq.com/cgi-bin/help?id=28 jar:javax.mail.jar 1 package xhw; 2 3 import java.io.BufferedReader; 4 import java.io.BufferedWriter; 5 import java.io.File; 6 im

java 发送带Basic Auth认证的http post请求

构造http header private static final String URL = "url"; private static final String APP_KEY = "key"; private static final String SECRET_KEY = "secret"; /** * 构造Basic Auth认证头信息 * * @return */ private String getHeader() { String

python - 发送带各种类型附件的邮件

如何发送各种类型的附件. 基本思路就是,使用MIMEMultipart来标示这个邮件是多个部分组成的,然后attach各个部分.如果是附件,则add_header加入附件的声明. 在python中,MIME的这些对象的继承关系如下. MIMEBase |-- MIMENonMultipart |-- MIMEApplication |-- MIMEAudio |-- MIMEImage |-- MIMEMessage |-- MIMEText |-- MIMEMultipart 一般来说,不会用

java 发送带cookie的http请求

try{     String path = "https://www.AA.com/AA";         URL url = new URL(path);         HttpURLConnection con = (HttpURLConnection) url.openConnection();         con.setRequestMethod("GET");         /*con.setRequestProperty("Cont

[Java] JavaMail 发送带图片的 html 格式的邮件

JavaMail 发送的邮件正文和附件是相互独立的,但是内置图片需要定位图片在正文中的位置,所以内置图片和邮件正文是互相依赖的. 发送带附件的邮件可参考JavaMail 发送 html 格式.带附件的邮件. 发送纯文本的邮件可参照 JavaMail 简单案例. 具体例子 EmailHelper, Email 的帮助类,向帮助类提供 SMTP 服务器域名.用户名.密码.发送人邮箱.收件人邮箱.邮件主题.html 格式的内容.图片的路径,便可发送一份内置图片的邮件.在创建 MimeMultipart

java mail邮件发送(带附件) 支持SSL

java mail邮件发送(带附件)有三个类 MailSenderInfo.java package mail; import java.util.Properties; import java.util.Vector; public class MailSenderInfo { // 发送邮件的server的IP和端口 private String mailServerHost; private String mailServerPort = "25"; // 邮件发送者的地址 pr

java mail邮件发送(带附件)

java mail邮件发送(带附件)有三个类 MailSenderInfo.java package mail; import java.util.Properties; import java.util.Vector; public class MailSenderInfo { // 发送邮件的服务器的IP和端口 private String mailServerHost; private String mailServerPort = "25"; // 邮件发送者的地址 priva

Java发送QQ邮件

面试的时候被问到这个问题,别人问我用Java发过邮件没有,被问得一脸懵逼.然后就研究了一下,不是很难,按照网上的方法折腾了几天就搞出来了. 首先,使用QQ邮箱发送邮件之前需要在邮箱里面配置,开启pop3和smtp服务,其实这就是两个网络协议,一个是接受邮件的协议,一个是发送邮件的协议: POP3 是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议.它是因特网电子邮件的第一个离线协议标准,P

Android上发送带附件的邮件

准备工作-下载最新版本的JMail https://java.net/projects/javamail/pages/Home#Download_JavaMail_1.5.2_Release http://www.oracle.com/technetwork/java/javase/downloads/index-135046.html 在android上发送邮件方式: 第一种:借助GMail APP客户端,缺点是必须使用GMail帐号,有点是比较方便 不需要写很多代码,但是不是很灵活. 第二种