`

使用javamail发送html格式邮件

阅读更多

package test;

/*****************************************************
*
* @author wuzhenzhong
*
* @since May 6, 2009
*
* 该测试例子演示了使用javamail发送html格式邮件,
*
* 分别以发送带附件和不带附件两种形式演示
*
* 同时实现了向多人发邮件
*****************************************************/
import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class SandMail{

@SuppressWarnings("static-access")
public void SendMail2(String title, String attachment){

// 获得属性,并生成Session对象
Properties props = new Properties();
Session sendsession;
Transport transport;
MimeMessage message = null;
BodyPart messageBodyPart = new MimeBodyPart();
Multipart multipart = new MimeMultipart();
String from = "fengl@139.com";
String to[]={"fengl@163.com"};
String cc[] = {"281@qq.com"};
String bcc[] = {"281@qq.com"};
String content = "<font style=\"BACKGROUND-COLOR: #666699\" color=\"#ff0000\" size=\"5\">测试格式化内容测试<a href=\"http://www.baidu.com\">格式化内容</a>测试格<em>式化</em>内容</font>";
try{

sendsession = Session.getInstance(props, null);
//向属性中写入SMTP服务器的地址
props.put("mail.smtp.host", "smtp.139.com");
//设置SMTP服务器需要权限认证
props.put("mail.smtp.auth", "true");
//设置输出调试信息
// sendsession.setDebug(true);
//根据Session生成Message对象
message = new MimeMessage(sendsession);
//设置发信人地址
message.setFrom(new InternetAddress(from));
//设置收信人地址
String toList = getMailList(to);
InternetAddress[] iaToList = new InternetAddress().parse(toList);
message.setRecipients(Message.RecipientType.TO,iaToList);
if (cc != null){
String ccList = this.getMailList(cc);
InternetAddress[] iaCCList = new InternetAddress().parse(ccList);
message.setRecipients(Message.RecipientType.CC,iaCCList);
}
if (bcc != null){
String bccList = this.getMailList(bcc);
InternetAddress[] iaBCCList = new InternetAddress().parse(bccList);
message.setRecipients(Message.RecipientType.BCC,iaBCCList);
}
//设置e-mail标题
message.setSubject(title);
//设置e-mail发送时间
message.setSentDate(new Date());
//设置e-mail内容
message.setText(content);
//建立第一部分:文本正文
messageBodyPart.setContent(content, "text/html;charset=gbk");//给BodyPart对象设置内容和格式/编码方式
multipart.addBodyPart(messageBodyPart);
if (!attachment.equals("")){
// 建立第二部分:附件
messageBodyPart = new MimeBodyPart();
// 获得附件
DataSource source = new FileDataSource(attachment);
//设置附件的数据处理器
messageBodyPart.setDataHandler(new DataHandler(source));
// 设置附件文件名
messageBodyPart.setFileName(attachment);
// 加入第二部分
multipart.addBodyPart(messageBodyPart);
}
// 将多部分内容放到e-mail中
message.setContent(multipart);

//保存对于e-mail的修改
message.saveChanges();
//根据Session生成Transport对象
transport = sendsession.getTransport("smtp");
//连接到SMTP服务器
transport.connect("smtp.139.com", "fengl", "fe103");
//发送e-mail
transport.sendMessage(message, message.getAllRecipients());
//关闭Transport连接
transport.close();
} catch (MessagingException m){
System.out.println(m.toString());
} catch (Exception e){
e.printStackTrace();
}
}

//获取收件人地址
public String getMailList(String[] mailArray){

StringBuffer toList = new StringBuffer();
int length = mailArray.length;
if(mailArray!=null && length <2){
toList.append(mailArray[0]);
}else{
for(int i=0;i<length;i++){
toList.append(mailArray[i]);
if(i!=(length-1)){
toList.append(",");
}
}
}
return toList.toString();
}

public static void main(String args[]){
SandMail m = new SandMail();
m.SendMail2("fenglingcompany", "D:\\tts.txt");
m.SendMail2("fenglingcompany", "");
}
}

分享到:
评论

相关推荐

    JavaMail发送邮件(文本、html、附件)

    4. **发送HTML邮件** - 如果邮件内容是HTML,需要创建一个`Multipart`对象,并添加一个`MimeBodyPart`来容纳HTML内容。 - 示例代码: ```java Multipart mp = new MimeMultipart("alternative"); MimeBodyPart ...

    javamail发送邮件实例

    这就是使用JavaMail发送HTML格式邮件和附件的基本流程。需要注意的是,实际应用中,你需要替换示例中的服务器地址、端口、用户名和密码等信息,确保它们与你的邮件服务提供商兼容。此外,为了提高用户体验,还可以...

    javamail发送html邮件

    ### JavaMail 发送 HTML 格式邮件的知识点详解 ...综上所述,使用 JavaMail 发送 HTML 格式的邮件涉及到邮件服务器的配置、邮件内容的构建等多个方面,通过合理的类设计和代码实现可以有效地完成这一任务。

    发送HTML格式邮件

    在IT行业中,发送HTML...通过这个实例,你不仅可以学习到如何使用JavaMail发送HTML邮件,还能了解到Java处理网络通信、使用API和理解邮件协议的基本方法。这些知识在日常开发工作中非常实用,有助于提升你的编程技能。

    javaMail发送邮件 发送成功 收不到邮件 或收到邮件无主题无收件人乱码

    ### JavaMail发送邮件时遇到的问题及解决方法 在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将...

    使用javaMail发送邮件

    JavaMail还支持更复杂的功能,如HTML邮件、多部分邮件、使用IMAP/POP3接收邮件等。开发者可以根据具体需求选择相应的API来实现。通过阅读JavaMail的官方文档和参考示例代码,可以进一步了解和掌握这个强大的工具。

    javamail发送邮件.zip

    JavaMail API 支持发送HTML邮件,通过`MimeMessage`类的`setText()`方法可以设置HTML正文,其中可以使用`&lt;img&gt;`标签引用图片。 5. **图片作为附件**: 图片可以作为邮件的附件发送,这通常通过`MimeBodyPart`类...

    用javaMail发送邮件

    以上就是使用JavaMail发送邮件的基本过程。在实际开发中,可能还需要处理更多复杂情况,如SSL/TLS加密、HTML邮件、多部分消息等。JavaMail API提供了丰富的功能来应对这些需求,让开发者能够灵活地构建邮件系统。 ...

    javamail实现邮箱与邮箱发送邮件

    在提供的压缩包文件"javamail实例"中,可能包含了上述代码的完整实现以及其他相关的示例,这些示例可以帮助你更好地理解和使用JavaMail API,比如添加附件、设置HTML格式的邮件内容等。通过深入研究和实践这些示例,...

    javaMail实现发送邮件的demo

    在实际应用中,可能还需要处理更复杂的情况,如添加附件、设置抄送和密送、以及使用 HTML 格式的邮件正文。以下是如何添加附件的示例: ```java MimeBodyPart messageBodyPart = new MimeBodyPart(); ...

    使用javamail发送邮件

    下面我们将详细探讨如何使用JavaMail发送邮件,以及涉及的关键知识点。 首先,要发送邮件,你需要配置一些必要的参数,包括邮箱账号、密码和SMTP服务器地址(SERVERHOST)。例如,如果你使用的是 Gmail 邮箱,SMTP ...

    java使用javaMail发送邮件

    10. **使用JavaMail发送HTML邮件** 如果邮件需要包含HTML格式,可以使用`MimeMessage`的`setContent`方法传入`MimeMultipart`对象,其中包含一个`MimeBodyPart`来设置HTML内容。 11. **高级特性** JavaMail还支持...

    使用JavaMail实现发送邮件

    不过,需要注意的是,使用JavaMail发送邮件时,必须确保你的SMTP服务器允许第三方应用程序进行授权,并且可能需要开启“不够安全的应用”的权限(对于Gmail而言)。 在提供的压缩包文件`Mail`中,可能包含了一些...

    android使用javamail发送邮件jar包

    3. **编写邮件发送代码**:下面是一个简单的示例,展示了如何使用JavaMail发送一封纯文本邮件: ```java Properties props = new Properties(); props.put("mail.smtp.host", "smtp.example.com"); props.put(...

    用Java类实现JavaMail发送邮件的例子

    这个例子展示了如何使用JavaMail API的基本功能,包括SMTP认证、添加附件和发送HTML邮件,这对于开发Web应用或其他需要邮件功能的应用来说非常实用。通过扩展这个例子,你可以实现更复杂的邮件服务,如接收邮件、...

    基于JavaMail的Java邮件发送-附源码

    JavaMail还支持发送HTML邮件、添加附件、使用SSL/TLS加密连接等高级特性。例如,发送HTML邮件可以使用`MimeBodyPart`和`MimeMultipart`: ```java MimeBodyPart htmlPart = new MimeBodyPart(); htmlPart....

    使用javaMail发送邮件功能

    JavaMail 是一个强大的开源库,用于在Java应用程序中实现电子邮件的发送和接收。它提供了丰富的API,...通过学习和实践这个示例,你可以掌握使用JavaMail发送邮件的基本技能,为进一步的邮件功能开发打下坚实的基础。

    利用JavaMail发送邮件的实例,可以直接运行

    8. **使用JavaMail发送HTML邮件**:通过设置`MimeMessage`的`setContent()`方法,可以发送包含HTML的邮件。 ```java message.setContent("&lt;h1&gt;HTML邮件标题&lt;/h1&gt;&lt;p&gt;这是HTML邮件正文。&lt;/p&gt;", "text/html;charset=...

Global site tag (gtag.js) - Google Analytics