`
ln1058
  • 浏览: 92557 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java mail 发送HTML 附件,Google 邮箱Gmail作为服务端

阅读更多
package com.luke.mail;

import java.io.File;
import java.io.IOException;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.util.ByteArrayDataSource;

public class MailHandler {
	private String username = "test@dfengg.com";
	private String password = "";
	private String displayName = "PITA";
	private String host = "imap.gmail.com";
	private String port = "587";
	private Properties props;
	
	public MailHandler(String username, String password, String displayName, String host, String port) {
		this.username = username;
		this.password = password;
		this.displayName = displayName;
		this.host = host;
		this.port = port;
		initProperties();
	}

	public MailHandler(){
		initProperties();
	}
	
	private void initProperties(){
		props = System.getProperties();
		props.put("mail.smtp.starttls.enable", "true"); 
		props.put("mail.smtp.host", host);
		props.put("mail.smtp.user", username);
		props.put("mail.smtp.password", password);
		props.put("mail.smtp.port", port);
		props.put("mail.smtp.auth", "true");
	}
	public void sendEmail(String[]receivers, String title, String htmlContent, File[]attchments) {
		Transport transport = null;
		try {
			Session session = Session.getDefaultInstance(props, null);
			MimeMessage message = new MimeMessage(session);
			message.setFrom(new InternetAddress(username, displayName));
	
			int len = receivers.length;
			InternetAddress[]address = new InternetAddress[len];
			for(int i=0;i<len;i++){
				address[i] = new InternetAddress(receivers[i]);
			}
			message.setRecipients(Message.RecipientType.TO,address);
	
		    message.setSubject(title);
	//	    message.setText("Hello \n welcome!");
//		    message.setDataHandler(new DataHandler(new ByteArrayDataSource(htmlContent, "text/html")));
		    Multipart multipart = new MimeMultipart();
		    MimeBodyPart htmlBodyPart = new MimeBodyPart();
		    htmlBodyPart.setContent(htmlContent, "text/html;charset=UTF-8");
		    multipart.addBodyPart(htmlBodyPart);
		    if(attchments!=null&&attchments.length>0){
		    	
		    	for(int i=0;i<attchments.length;i++){
		    		 FileDataSource dataSource = new FileDataSource(attchments[i]);
		    		 MimeBodyPart bodyPart = new MimeBodyPart();
		    		 bodyPart.setDataHandler(new DataHandler(dataSource));
		    		 bodyPart.setFileName(attchments[i].getName());
		    		 multipart.addBodyPart(bodyPart);
		    	}
		    	
		    }
		    message.setContent(multipart);
			transport = session.getTransport("smtp");
			transport.connect(host, username, password);
			transport.sendMessage(message, message.getAllRecipients());
			
		}catch(Exception e){
			e.printStackTrace();
		}finally {
			try {
				transport.close();
			} catch (MessagingException e) {
				e.printStackTrace();
			}
		}
	}
//	public void sendEmail(String receiver, String title, String htmlContent) throws AddressException, MessagingException, IOException{
//
//		Session session = Session.getDefaultInstance(props, null);
//		MimeMessage message = new MimeMessage(session);
//		message.setFrom(new InternetAddress(username));
//
//	    message.addRecipient(Message.RecipientType.TO, new InternetAddress(receiver));
//
//	    message.setSubject(title);
////	    message.setText("Hello \n welcome!");
//	    message.setDataHandler(new DataHandler(     
//                new ByteArrayDataSource(htmlContent, "text/html")));
//	    
//		Transport transport = session.getTransport("smtp");
//		transport.connect(host, username, password);
//		transport.sendMessage(message, message.getAllRecipients());
//		transport.close();
//	}
	/**
	 * @param args
	 * @throws MessagingException 
	 * @throws AddressException 
	 * @throws IOException 
	 */
	public static void main(String[] args) throws AddressException, MessagingException, IOException {
		String receiver = "test@dfengg.com";
		String[]receivers = {receiver};
		String content = "Hello "+receiver+"<p> How are you!</p><p>Just for test!</p><p>thanks</p><p>Luke</p>";
		String title = "PITA AUTOMATION EMAIL";
		MailHandler handler = new MailHandler();
//		handler.sendEmail(receiver, title, content);
		File[]files = {new File("D:/pita/1029/output/DFLink_Summary_d3dxsapi_3.0.21.0_D3One.2012-10-15.sandbox.zip_20130131193710.html"),
				new File("D:/pita/1029/output/DFLink_Report_20130131193710.html")};
		handler.sendEmail(receivers, title, content, files);
		
	}

}

 

分享到:
评论

相关推荐

    Gmail邮件通过JavaMail发送(不带附件与带一个附件)

    本教程将详细讲解如何使用JavaMail API在Gmail上发送邮件,包括不带附件和带有一个附件的情况。 首先,JavaMail是一个开源的Java库,它提供了用于处理邮件的标准API。在使用JavaMail发送邮件前,你需要在项目中引入...

    java邮箱发送

    这个“java邮箱发送”项目提供了一个演示(demo)来展示如何使用Java发送邮件,无论是批量发送还是单独发送。现在,我们将深入探讨相关的Java邮件发送知识点。 首先,我们需要了解JavaMail API。JavaMail是一个开放...

    java发送邮箱及附件成功案例

    以下是一个简单的示例代码(Pemail.java),演示如何发送带有附件的电子邮件: ```java import javax.mail.*; import javax.mail.internet.*; import java.util.Properties; public class Pemail { public ...

    java邮件发送(含附件发送)源码

    Java邮件发送技术是Java开发中一个实用且常见的功能,它允许开发者通过编程方式发送电子邮件,包括文本、HTML格式的正文以及附件。在本教程中,我们将深入探讨如何使用JavaMail API来实现邮件发送,特别是含附件的...

    JAVA MAIL发送邮件带附件和图片

    在Java编程中,发送带有附件和图片的电子邮件是一项常见的任务,尤其在自动化通知、报告分发等场景下。本文将详细讲解如何使用Java Mail API来实现这一功能,同时参考提供的`TemplateMailMessage.java`和`...

    使用 java mail 发送邮件

    在Android平台上,尽管原生的Android SDK提供了简单的Email Intent来发送邮件,但当需要更复杂的邮件功能,如附件、HTML内容或自动化邮件时,Java Mail API就显得尤为重要。 Java Mail API包括了多个组件,主要的有...

    java实现发送带有附件的邮件

    在Java编程语言中,发送带有附件的邮件是一个常见的任务,特别是在企业级应用或者自动化脚本中。这个场景通常涉及到SMTP(Simple Mail Transfer Protocol)服务,JavaMail API以及MIME(Multipurpose Internet Mail ...

    Java实现发送邮件内容+附件

    要实现“Java实现发送邮件内容+附件”,我们需要理解SMTP(Simple Mail Transfer Protocol)协议,并使用JavaMail API来创建和发送电子邮件。以下是一份详细的步骤和知识点解释: 1. **JavaMail API**:JavaMail ...

    java mail 邮件发送

    在Java应用中实现邮件发送功能,Java Mail 提供了全面的支持,包括发送文本邮件、HTML邮件以及带有附件的邮件。 ### 基本概念 1. **Mail Server Host**:邮件服务器的主机名或IP地址,如 `smtp.gmail.com` 或 `...

    javaMail_JAVA发送邮箱示例_

    这个库提供了丰富的功能,包括发送、接收邮件以及操作邮件附件等。在JavaMail中,我们主要使用 javax.mail 和 javax.mail.internet 包中的类来实现邮件的发送。 发送邮件的基本步骤如下: 1. **设置属性**:首先,...

    java 发送邮件 spring发送邮件Mail

    Java发送邮件是软件开发中常见的需求,特别是在企业级应用中,用于发送通知、报表或验证用户的电子邮件地址。Spring框架提供了一种优雅的方式来处理这个任务,它整合了JavaMailSender接口和JavaMail API,使得在Java...

    发送邮件及邮件附件java代码实例(支持多附件,群发送).pdf

    【Java 发送邮件及邮件附件】 在Java编程中,发送邮件及附加文件是一项常见的任务,这通常涉及到SMTP(Simple Mail Transfer Protocol)协议。这里我们分析的`Mail.java`类提供了一个实现此功能的示例,它使用了...

    php实现一个发送邮件类 gmail邮箱

    在PHP中实现一个用于发送邮件的类,特别是与Gmail邮箱集成,是常见的需求,尤其在网站通知、用户注册验证或客户服务中。本教程将详细讲解如何构建这样的类,并使用PHPMailer库,这是一个广泛使用的开源PHP邮件处理库...

    java邮件发送源码

    Java邮件发送是一个常见的任务,尤其在自动化通知、订阅服务或者数据传输等方面有着广泛的应用。JavaMail API是Java平台上的标准库,用于处理电子邮件的发送和接收。本篇将详细讲解如何利用JavaMail API进行邮件发送...

    Java发送带模版的邮件示例

    在Java编程中,发送带有模板的邮件是一项常见的任务,尤其对于企业级应用来说,通过电子邮件进行通知、报告或客户服务是必不可少的。JavaMail API提供了一种标准的方式来处理邮件的发送,而结合模板技术,我们可以...

    申请和配置Google Apps邮件服务器,附带JAVA MAIL邮件发送系统

    标题中的“申请和配置Google Apps邮件服务器”涉及的是如何注册并设置Google提供的企业级应用套件,即Google Workspace(以前称为Google Apps),用于管理和发送电子邮件。Google Workspace提供了专业的电子邮件服务...

    java 发送邮件 小工具类+ mail.jar

    这个"java 发送邮件 小工具类+ mail.jar"提供了一个便捷的解决方案。它包含了一个Java类,该类封装了发送电子邮件的过程,以及一个名为`mail.jar`的库,这个库可能包含了JavaMail API,是发送邮件所必需的。 ...

    java发邮件完整以及各个邮箱的设置

    JavaMail是Java编程语言中用于发送和接收电子邮件的标准API,它是通过JavaMail API来实现的。这个API提供了与SMTP(简单邮件传输协议)服务器交互的能力,使得开发者可以在应用程序中轻松地发送邮件。在这个主题中,...

    java实现发送邮件,注册邮件激活账户

    这里以Gmail为例,如果你使用的是其他邮箱服务商,如QQ邮箱或网易163邮箱,相应的SMTP服务器和端口可能会有所不同,需要查阅对应邮箱服务商的文档。 然后,我们需要一个`Session`对象,它会使用我们之前设置的属性...

Global site tag (gtag.js) - Google Analytics