`
Mybeautiful
  • 浏览: 298979 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JavaMail发送html格式的邮件

阅读更多

  之前分享过一个发邮件的类,今天再分享一个收邮件的类,

 

package zhang.stony.mail;

import java.util.Date;
import java.util.Properties;

import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
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;
/**
 * @author Stony Zhang  (Mybeautiful)
 * @Createdate 2010-8-12
 * @Emal:stonyz@live.com
 * @QQ:55279427
 */
public class MailSender {
	private MailSetting mSetting;

	private Session session;

	public MailSender(MailSetting mSetting) {
		this.mSetting = mSetting;

		final String username = mSetting.getUser();
		final String password = mSetting.getPassword();
		Properties props = new Properties();
		props.put("mail.smtp.host", mSetting.getSmtpHost());
		props.put("mail.smtp.auth", "true");
		session = Session.getInstance(props, new Authenticator() {
			public PasswordAuthentication getPasswordAuthentication() {
				return new PasswordAuthentication(username, password);
			}
		});
	}

	public void sentMessage(String titile, String msg, String[] to)
			throws MessagingException {
		this.sentMessage(titile, msg, to, null);
	}

	public void sentMessage(String titile, String msg, String[] to, String[] cc)
			throws MessagingException {
		Message mailMessage = new MimeMessage(session);
		Address from = new InternetAddress(mSetting.getUser());
		mailMessage.setFrom(from);
		// Address to = new InternetAddress(mSetting.getUser());

		Address[] tos = new Address[to.length];
		for (int i = 0; i < to.length; i++) {
			tos[i] = new InternetAddress(to[i]);
		}
		mailMessage.setRecipients(Message.RecipientType.TO, tos);

		if (cc != null && cc.length > 0) {
			Address[] ccs = new Address[cc.length];
			for (int i = 0; i < cc.length; i++) {
				ccs[i] = new InternetAddress(cc[i]);
			}
			mailMessage.setRecipients(Message.RecipientType.CC, ccs);
		}

		mailMessage.setSubject(titile);
		mailMessage.setSentDate(new Date());
//		mailMessage.setText(msg);
		
		   BodyPart mdp = new MimeBodyPart(); 
		    mdp.setContent(msg, "text/html;charset=gb2312"); 
		    Multipart mm = new MimeMultipart(); 
		    mm.addBodyPart(mdp); 
		    mailMessage.setContent(mm); 
		    mailMessage.saveChanges(); 
		
		
		Transport.send(mailMessage);
	}
}

 

 

     其中用到了一个MailSetting的类,其内容请参阅   分享一个收邮件的类,使用相当简单

 

     关于Javamail,几年间已经用了N多次了,其间也碰到了一些问题,也都一一解决了,比如发送附件,乱码等等,如果各位有兴趣就相关问题进行探讨,欢迎留言。 

 

0
0
分享到:
评论
7 楼 Mybeautiful 2016-04-22  
袁光平 写道
您好我设置了html格式,但是邮件中的超链接还是不能正常显示为什么呢,求帮助!

到网页上看看邮件源码,检查链接是不是对的。 比如Chrome中,审查元素,看下超链接的内容是不是你发的
6 楼 袁光平 2016-03-02  
您好我设置了html格式,但是邮件中的超链接还是不能正常显示为什么呢,求帮助!
5 楼 Mybeautiful 2011-11-24  
chenyuxiaoxiao 写道
您好 最近在用javamail 在做邮件系统 当文件稍大就出现了下面的出错 请帮忙解决
com.sun.mail.smtp.SMTPSendFailedException: [EOF]

是不是附件大小超过你的邮箱支持大小? 换个其他的邮箱试试。
Error code 多少?
4 楼 chenyuxiaoxiao 2011-11-23  
chenyuxiaoxiao 写道
您好 最近在用javamail 在做邮件系统 当文件稍大就出现了下面的出错 请帮忙解决
com.sun.mail.smtp.SMTPSendFailedException: [EOF]

谢谢
3 楼 chenyuxiaoxiao 2011-11-23  
您好 最近在用javamail 在做邮件系统 当文件稍大就出现了下面的出错 请帮忙解决
com.sun.mail.smtp.SMTPSendFailedException: [EOF]
2 楼 Mybeautiful 2011-03-22  
vincent_com 写道
最近 在做一个相关的邮件系统..其中遇到不少问题.而且搭建postfix服务器也没成功..您有好点子么?

能不能把问题具体列出来看看?
1 楼 vincent_com 2011-03-15  
最近 在做一个相关的邮件系统..其中遇到不少问题.而且搭建postfix服务器也没成功..您有好点子么?

相关推荐

    javamail发送html邮件

    ### JavaMail 发送 HTML 格式邮件的知识点详解 #### 一、JavaMail 概述 JavaMail API 是一个用于发送、接收电子邮件的标准接口集合,它支持多种协议(如 SMTP、IMAP 和 POP3),使得 Java 应用程序能够轻松地发送和...

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

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

    javamail发送邮件实例

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

    发送HTML格式邮件

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

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

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

    用javaMail发送邮件

    在实际开发中,可能还需要处理更多复杂情况,如SSL/TLS加密、HTML邮件、多部分消息等。JavaMail API提供了丰富的功能来应对这些需求,让开发者能够灵活地构建邮件系统。 博客链接中提到的ITEYE博客...

    javamail发送邮件.zip

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

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

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

    javaMail实现发送邮件的demo

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

    使用javaMail发送邮件

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

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

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

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

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

    利用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=...

    常规JavaMail 邮件发送实用类

    2. `sendHtmlEmail(String from, String to, String subject, String htmlBody)`: 发送HTML格式的邮件,htmlBody参数包含HTML格式的邮件内容,可以包含样式和图片等元素。 3. `addAttachment(String filePath, ...

    javamail发送邮件小程序,类以及写好,只要放包,下载一个就可以

    JavaMail 是一个开源的 Java 库,用于在 Java 应用程序中实现电子邮件的发送和接收。这个小程序可能包含了一套完整的类,可以帮助开发者快速构建邮件发送功能,无需从头开始编写所有必需的代码。 JavaMail 提供了对...

    JavaMail发送和接受邮件的一个小例子

    JavaMail是Java编程语言中用于处理电子邮件的API,它提供了丰富的功能,包括发送、接收邮件以及处理复杂的邮件格式,如文本、图片和附件。在这个小例子中,我们将深入探讨如何利用JavaMail API来实现这些功能。 ...

    javamail发送html邮件.doc.zip

    发送HTML邮件的基本步骤如下: 1. 创建Properties对象,设置SMTP服务器的相关属性: ```java Properties props = new Properties(); props.put("mail.smtp.host", "smtp.example.com"); props.put("mail.smtp.port...

    Javamail发送邮件类库

    如果需要发送HTML格式的邮件或添加附件,可以使用`MimeBodyPart`和`Multipart`: ```java MimeBodyPart textPart = new MimeBodyPart(); textPart.setText("这是HTML邮件内容"); MimeBodyPart attachmentPart = ...

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

    ### JavaMail 发送支持带有图片的 HTML 格式和普通文本格式邮件 #### 概述 JavaMail API 是一个广泛使用的 Java 库,用于发送和接收电子邮件。它提供了丰富的功能来处理不同类型的邮件内容,包括纯文本、HTML 格式...

Global site tag (gtag.js) - Google Analytics