`

JavaMail邮件发送-发送非纯文本邮件

    博客分类:
  • java
 
阅读更多
 

发送纯文本文件非常简单,基本上拷贝别人的代码做下业务处理即可

但是发送不是纯文本的邮件时有点不同,为了简单介绍,就一步一步来

 

其实就是发送的内容需要构建一个消息体

然后设置消息提的内容,内容就是HTML代码,这样接收者看到的就是带有样式的邮件内容

你也可以增加附件,增加背景音乐等

 

我直接贴代码:

Java代码 复制代码 收藏代码
  1. package com.mail;   
  2. import java.util.Date;   
  3. import java.util.Properties;   
  4. import javax.mail.BodyPart;   
  5. import javax.mail.Message;   
  6. import javax.mail.Multipart;   
  7. import javax.mail.Session;   
  8. import javax.mail.Transport;   
  9. import javax.mail.internet.InternetAddress;   
  10. import javax.mail.internet.MimeBodyPart;   
  11. import javax.mail.internet.MimeMessage;   
  12. import javax.mail.internet.MimeMultipart;   
  13. import javax.mail.internet.MimeUtility;   
  14. public class HtmlMail {   
  15.     public static void main(String[] args) throws Exception {   
  16.         Properties props = new Properties();   
  17.         props.put( "mail.smtp.host ""smtp.163.com ");   
  18.         props.put("mail.smtp.auth""true");   
  19.         Session session = Session.getInstance(props);   
  20.         session.setDebug(true);   
  21.         Message message = new MimeMessage(session);        
  22.         InternetAddress from = new InternetAddress("test20120711120200@163.com");   
  23.         from.setPersonal(MimeUtility.encodeText("风中落叶<test20120711120200@163.com>"));   
  24.         message.setFrom(from);         
  25.         InternetAddress to = new InternetAddress("455213313@qq.com");   
  26.         message.setRecipient(Message.RecipientType.TO, to);        
  27.         message.setSubject(MimeUtility.encodeText("强哥邀请,谁敢不从!"));   
  28.         message.setSentDate(new Date());           
  29.         // 构建邮件内容对象   
  30.         Multipart mm = new MimeMultipart();   
  31.         // 构建一个消息内容块   
  32.         BodyPart mbpFile = new MimeBodyPart();   
  33.         mbpFile.setContent("<font color='red'>强哥邀请你访问我的博客:http://cuisuqiang.iteye.com/!</font>","text/html;charset=UTF-8");   
  34.         mm.addBodyPart(mbpFile);   
  35.         message.setContent(mm);   
  36.         message.saveChanges();   
  37.         Transport transport = session.getTransport("smtp");   
  38.         transport.connect("smtp.163.com"25"test20120711120200""test123456");   
  39.         transport.sendMessage(message, message.getAllRecipients());   
  40.         transport.close();   
  41.         System.out.println("发送完毕");   
  42.     }   
  43. }  
package com.mail;
import java.util.Date;
import java.util.Properties;
import javax.mail.BodyPart;
import javax.mail.Message;
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;
import javax.mail.internet.MimeUtility;
public class HtmlMail {
	public static void main(String[] args) throws Exception {
		Properties props = new Properties();
		props.put( "mail.smtp.host ", "smtp.163.com ");
		props.put("mail.smtp.auth", "true");
		Session session = Session.getInstance(props);
		session.setDebug(true);
		Message message = new MimeMessage(session);		
		InternetAddress from = new InternetAddress("test20120711120200@163.com");
		from.setPersonal(MimeUtility.encodeText("风中落叶<test20120711120200@163.com>"));
		message.setFrom(from);		
		InternetAddress to = new InternetAddress("455213313@qq.com");
		message.setRecipient(Message.RecipientType.TO, to);		
		message.setSubject(MimeUtility.encodeText("强哥邀请,谁敢不从!"));
		message.setSentDate(new Date());		
		// 构建邮件内容对象
		Multipart mm = new MimeMultipart();
		// 构建一个消息内容块
		BodyPart mbpFile = new MimeBodyPart();
		mbpFile.setContent("<font color='red'>强哥邀请你访问我的博客:http://cuisuqiang.iteye.com/!</font>","text/html;charset=UTF-8");
		mm.addBodyPart(mbpFile);
		message.setContent(mm);
		message.saveChanges();
		Transport transport = session.getTransport("smtp");
		transport.connect("smtp.163.com", 25, "test20120711120200", "test123456");
		transport.sendMessage(message, message.getAllRecipients());
		transport.close();
		System.out.println("发送完毕");
	}
}

 

到邮箱去看一下:

 

 

因为我一直测试的缘故吧,竟然给我当成垃圾邮件了

不过我们还是看到了红色的字体

 

Java代码 复制代码 收藏代码
  1. mbpFile.setContent("<font color='red'>强哥邀请你访问我的博客:http://cuisuqiang.iteye.com/!</font>","text/html;charset=UTF-8");  
mbpFile.setContent("<font color='red'>强哥邀请你访问我的博客:http://cuisuqiang.iteye.com/!</font>","text/html;charset=UTF-8");

 

一定要设置解析的格式和编码

其实在实际应用中,我们一般是使用在线编辑器获得带有样式的邮件内容,然后直接设置一个值就可以了

 

后面我再来做一个发送邮件的小系统吧!

 

最后:

由于近期大量小网站在未经同意情况下使用文章,现将我的博客地址公布如下,请您到ITEYE网站看原创,谢谢!

http://cuisuqiang.iteye.com/ !

分享到:
评论

相关推荐

    JavaMail邮件发送-能发送附件和带背景音乐的邮件的小系统

    JavaMail邮件发送是一个常见的开发需求,它允许程序员通过编程方式发送包含文本、附件甚至多媒体内容的电子邮件。在Java中,JavaMail API提供了这样的功能,它是一个开源库,用于处理SMTP(简单邮件传输协议)、POP3...

    javamail入门1--发送简单的文本邮件

    这个简单的示例演示了如何使用 JavaMail 发送文本邮件。对于更复杂的邮件,如包含 HTML 内容、附件或嵌入图片,你可以扩展 `MimeMessage`,使用 `MimeBodyPart` 和 `Multipart` 类来构建复杂的邮件结构。 总的来说...

    JavaMail邮件发送-为你的邮件增加背景音乐和背景图片.doc

    首先,JavaMail API 是Java平台上的一个库,它允许开发者通过SMTP(简单邮件传输协议)或其他邮件传输协议发送电子邮件。在JavaMail中,我们通常使用`MimeMessage`类来创建邮件对象,`Multipart`类来组合不同的邮件...

    javamail-1.4.4-邮件发送组件

    JavaMail 不仅支持简单的文本邮件,还支持 MIME 多部分消息,这意味着可以发送包含附件、HTML 内容或者嵌入图片的复杂邮件。`Multipart` 类可用于创建多部分消息,`BodyPart` 类则代表消息的一个部分。此外,...

    javamail&commons-email

    Commons Email库的核心类是`Email`,它允许开发者构建邮件,添加附件,设置抄送和密送,以及发送HTML或纯文本邮件。此外,它还支持SSL和TLS安全连接,以保护邮件传输过程中的数据安全。 下面是一些使用这两个库的...

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

    3. **发送文本邮件** - 创建`MimeMessage`实例,并设置发件人、收件人、主题和正文。 - 示例代码: ```java MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress("from@...

    用javamail实现邮件发送-完整源码

    总之,JavaMail 是 Java 开发者处理电子邮件的强大工具,通过提供的源码,你可以深入了解其工作原理,并根据需要自定义邮件发送逻辑。这个压缩包中的代码应该包含了设置、认证、创建和发送邮件的所有必要步骤,对...

    常规JavaMail 邮件发送实用类

    "常规JavaMail 邮件发送实用类"标题所指的,通常是一个自定义的Java类,封装了JavaMail API的基本操作,使得邮件发送变得更加简单和便捷。这类实用类一般包含配置SMTP服务器、设置邮件内容、添加附件等功能。 ...

    用javamail实现邮件发送-完整源码-之前的那个资源变成50分一次下载了,所以重新上传一个,让大家能下载

    要实现JavaMail的邮件发送功能,你需要了解以下几个关键组件: 1. `Session`:邮件会话对象,它是整个邮件操作的核心,负责配置SMTP服务器信息,如主机名、端口、用户名和密码。 2. `Message`:代表一封邮件,你...

    javamail邮件发送工具类

    JavaMail邮件发送工具类是Java开发中用于发送电子邮件的标准库,它提供了丰富的API来处理复杂的邮件功能。在JavaMail中,我们可以通过创建特定的类和对象来实现邮件的发送。以下将详细介绍这些类以及如何使用它们。 ...

    javamail 邮件发送支持带有图片的html格式和普通文本格式

    ### JavaMail 发送支持带有图片的 HTML 格式和普通文本格式邮件 #### 概述 JavaMail API 是一个广泛使用的 Java 库,用于发送和接收...通过合理的配置和编程实践,开发人员能够轻松地实现复杂而美观的邮件发送功能。

    JavaMail邮件发送Deom

    JavaMail邮件发送Demo是Java开发中用于实现电子邮件发送的一个实例,它依赖于两个关键的库:activation.jar和mail.jar。这两个库提供了JavaMail API,使得Java开发者能够方便地与各种邮件服务器进行交互,完成邮件的...

    javamail邮件发送源码

    JavaMail邮件发送源码是Java开发中用于发送电子邮件的一个库,它提供了丰富的API来处理SMTP、POP3和IMAP等邮件协议。这个简单的javamail实例表明,开发者已经成功地测试了邮件发送功能,确保其在实际应用中可以正常...

    JavaMail邮件发送源码 非常简单

    2. **获取Session对象**:使用`Properties`对象创建一个`Session`实例,它是邮件会话的容器,可以存储邮件发送的配置信息。 3. **创建Message对象**:通过`Session`对象创建一个`Message`实例,这代表了你要发送的...

    javamail邮件群发、单发_邮件发送

    以上就是使用 JavaMail 进行邮件发送的基本步骤。在实际应用中,可能还需要考虑错误处理、邮件附件、延迟发送等功能。记住,发送邮件时要遵循相关法规,尊重用户的隐私,避免被视为垃圾邮件。通过这个简单的示例,你...

    javamail包--自己用的

    JavaMail 是一个强大的开源库,专门用于在Java应用程序中处理电子...无论是简单的文本邮件还是复杂的HTML邮件,甚至包含附件,JavaMail都能轻松应对。通过熟悉其核心概念和API,开发者可以构建出满足需求的邮件系统。

    JavaEE5学习笔记04-JavaMail使用总结---3

    JavaMail API提供了一套标准的接口,允许Java应用程序发送和接收电子邮件。它不仅支持SMTP(简单邮件传输协议)用于发送邮件,还支持POP3(邮局协议)和IMAP(因特网消息访问协议)用于接收邮件。JavaMail的核心类...

    java javamail 邮件发送

    在`test.java`文件中,你可以看到这些步骤的实现,通过运行该文件进行邮件发送的测试。请注意,为了安全起见,实际应用中不应硬编码敏感信息如用户名和密码,而应使用环境变量或配置文件。 总的来说,JavaMail提供...

    javamail-1.5.3-src 配置1

    JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。在JavaMail-1.5.3-src 版本中,包含了源代码、API 文档和示例,可以帮助开发者深入了解其工作原理并进行定制化开发。这个版本支持最新的邮件协议,并...

    JavaMail jsp发送邮件

    在给定的示例中,通过 JSP 页面实现了基于 JavaMail 的电子邮件发送功能。以下是对关键部分的详细解释: ##### 1. JSP 页面设置 - **页面导入**:首先,该 JSP 页面通过 `&lt;%@ page import="... "%&gt;` 指令导入了...

Global site tag (gtag.js) - Google Analytics