`
sydxide2006
  • 浏览: 69852 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

javamail smtp 发送邮件

阅读更多
package com.util.mail;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Types;
import java.util.Date;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
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;




public class SendMail {
	//static Logger log=Logger.getLogger("SendMail.class");
	
	private String smtpServer = "";//smtp.sina.com
	private String smtpAuth = "";//true
	private String smtpUser = "";//xxxxxxxxxx
	private String smtpPassword = "";//xxxxxxxxxx
	private String From = "";//xxxxxxxxxx@sina.com
		public SendMail(){
			}
	
	 /** 
	  * 发送邮件的方法。
	  * @param mailTo 邮件接受人
	  * @param mailSubject 邮件的主题
	  * @param mailBody 邮件的内容
	  * @param filename 附件的名称 格式:附件名称1;附件名称2
	  * @param fileAddress 附件的地址 格式:附件地址1;附件地址2 (地址的个数必须和附件名称的个数相匹配)
	  * @return
	  */
	 public boolean sendMailFile(String mailTo,String mailSubject,String mailBody,String filename,String fileAddress){
		    //发送email
		    try {
		      String Subject = mailSubject;
		      String Text = mailBody;
		      Properties props = new Properties();
		      Session sendMailSession;
		      Transport transport;
		      props.put("mail.smtp.host", smtpServer);
		      props.put("mail.smtp.auth", smtpAuth);
		      if ("true".equals(smtpAuth)) {
		        //smtp服务器需要验证,用MyAuthertiactor来创建mail session
		    	MyAuthenticator myauth = new MyAuthenticator(smtpUser, smtpPassword);
		        sendMailSession = Session.getInstance(props, myauth);
		      }
		      else {
		        sendMailSession = Session.getInstance(props);
		      }
		      //Debug
		      sendMailSession.setDebug(true);
		      Message newMessage = new MimeMessage(sendMailSession);
		      newMessage.setFrom(new InternetAddress(From));
		      newMessage.setRecipient(Message.RecipientType.TO,
		                              new InternetAddress(mailTo));
		      newMessage.setSubject(Subject);
		      newMessage.setSentDate(new Date());
		    
		      
		      MimeBodyPart textBodyPart = new MimeBodyPart(); 
		      textBodyPart.setText(Text);
		      
		      Multipart container = new MimeMultipart();
		      container.addBodyPart(textBodyPart);
		      
		      if(filename!=null&&!"".equalsIgnoreCase(filename)){
			      String[] fileStr=filename.split(";");
			      for(int i=0;i<fileStr.length;i++){
			    	  
			     MimeBodyPart mbp = new MimeBodyPart();
			        //选择出每一个附件名
			        String file = fileStr[i];
			        
			        //得到数据源
			        FileDataSource fds = new FileDataSource(fileAddress.split(";")[i]);
			        //得到附件本身并至入BodyPart
			        mbp.setDataHandler(new DataHandler(fds));
			        //得到文件名同样至入BodyPart
			        //mbp.setFileName(file);
			        mbp.setFileName( new String(file.getBytes(), "ISO8859-1"));
			        container.addBodyPart(mbp);
			      }
		      }
		      
		      newMessage.setContent(container);
		      
		      newMessage.saveChanges();
		      transport = sendMailSession.getTransport("smtp");
		      transport.send(newMessage, newMessage.getAllRecipients());
		      transport.close();
		    }
		    catch (Exception mailEx) {
		      System.err.println("Send Mail Error:" + mailEx.getMessage());
		      mailEx.printStackTrace();
		      return false;
		    }
		    return true;
		  }
	 
	 
	 public static void main(String args[]) {
		 SendMail mail = new SendMail();
		mail.sendMailFile("zhengxiaowei@businessmatrix.com.cn", "邮件主题", "邮件内容","附件11;附件12","c:/accept.txt;c:/unaccept.txt");
			 }
}

 

分享到:
评论

相关推荐

    使用JAVAMail代发邮件

    使用 JavaMail 库可以轻松地在 Java 应用程序中发送电子邮件。JavaMail 是一个 Java API,用于在 Java 应用程序中发送和接收电子邮件。它提供了一个抽象层,允许开发者使用不同的电子邮件协议,例如 SMTP、POP3 和 ...

    使用javaMail发邮件及收取邮箱未读邮件并标记为已读

    这个库支持多种邮件协议,如 SMTP(简单邮件传输协议)用于发送邮件,POP3(邮局协议)和 IMAP(因特网消息访问协议)用于接收邮件。在这个资源中,我们将探讨如何使用 JavaMail 实现邮件的发送、接收、查看邮件数量...

    javaMail实现发送邮件的demo

    JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。它提供了一组 API,使得开发者可以方便地在 Java 应用程序中集成邮件功能。本示例将介绍如何使用 JavaMail 实现发送邮件的功能。 首先,我们需要...

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

    - JavaMail API提供了一系列接口和类,允许开发者通过SMTP(Simple Mail Transfer Protocol)协议发送邮件。 - 主要涉及的接口和类包括:`Session`(邮件会话)、`Message`(邮件对象)、`Transport`(传输服务)...

    使用JavaMail实现发送邮件

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

    java smtp发送邮件

    Java SMTP 发送邮件是Java开发中常见的功能,用于在应用程序中...总的来说,Java SMTP发送邮件涉及JavaMail API的使用,SMTP服务器的配置,以及邮件内容的构建。理解这些知识点,就能轻松地在Java项目中实现邮件功能。

    JavaMail发送邮件的例子

    JavaMail是一种在Java环境中发送和接收电子邮件的标准API,它提供了丰富的功能来处理复杂的邮件操作。在Struts2框架中集成JavaMail服务,可以方便地在Web应用中实现邮件的发送功能。下面我们将深入探讨JavaMail的...

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

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

    JavaMail 具备垃圾邮件过滤功能的邮箱

    JavaMail 是一个强大的Java库,它允许开发人员在Java应用程序中实现邮件的发送、接收以及管理功能。这个项目不仅提供了SMTP、POP3和IMAP协议的支持,还包含了丰富的API,可以方便地处理邮件的MIME编码、附件、HTML...

    如何用javamail定时发送邮件

    JavaMail 是一个强大的开源库,用于在 Java 应用程序中发送和接收电子邮件。要实现定时发送邮件,我们可以结合 JavaMail 和 Java 计时器框架(如文中提到的 Java Timer)。以下是一个详细的步骤来实现这个功能: 1....

    javamail 收发电子邮件

    JavaMail 是一个强大的开源库,专门用于在Java应用程序中实现电子邮件的发送和接收。它支持多种邮件协议,如SMTP(简单邮件传输协议)用于发送邮件,IMAP(因特网消息访问协议)和POP3(邮局协议)用于接收邮件。在...

    javaMail 发邮件

    JavaMail 是一个强大的开源库,专门用于在Java应用程序中发送和接收电子邮件。它提供了丰富的API,使得开发者可以方便地处理SMTP、POP3和IMAP等邮件协议。在JavaMail中,我们可以实现各种复杂的邮件功能,如添加附件...

    关于用javamail发送邮件时,由于邮件服务器要SSL,解决办法

    在IT行业中,发送电子邮件是一项常见的任务,而JavaMail是一个广泛使用的API,用于处理与电子邮件相关的各种操作。在尝试使用JavaMail发送邮件时,如果邮件服务器要求使用SSL(Secure Socket Layer)或TLS...

    JavaMail jsp发送邮件

    ### JavaMail JSP 发送邮件的关键知识点 #### 一、JavaMail 概述与应用场景 - **JavaMail API**:是 Java 平台上用于发送、接收、读取和管理电子邮件的标准 API。它允许应用程序发送和接收多种类型的邮件,包括纯...

    JavaMail(JAVA邮件服务器)API详解 chm.rar

    JavaMail是Java编程环境中用于处理电子邮件的一套API,它提供了丰富的功能,允许开发者发送、接收、存储和管理邮件。在JavaMail API详解的资源中,我们可以深入理解这一强大的工具。 首先,JavaMail API简介部分会...

    用javaMail发送邮件

    JavaMail 是一个强大的开源库,用于在Java应用程序中发送和接收电子邮件。这个功能通常涉及到SMTP(简单邮件传输协议)和其他相关的互联网邮件协议。在JavaMail中,`mail.jar` 和 `activation.jar` 是两个关键的库...

    javamail批量发送邮件

    JavaMail 是一个开源的 Java API,它允许开发者在 Java 应用程序中实现电子邮件的发送和接收。这个API遵循了互联网标准,如SMTP(简单邮件传输协议), POP3(邮局协议)以及 IMAP(因特网消息访问协议)。在JavaMail...

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

    本示例将重点介绍如何使用JavaMail库来实现163邮箱向腾讯邮件发送邮件的流程。 首先,确保你的项目中已经包含了JavaMail所需的依赖。通常,这可以通过在Maven或Gradle的构建文件中添加对应的依赖完成。例如,如果你...

    javamail实现发送邮件

    这个API 提供了丰富的类和接口,可以处理 SMTP、POP3 和 IMAP 协议,用于发送、接收和管理电子邮件。在本篇中,我们将深入探讨如何利用 JavaMail 实现发送邮件。 首先,要使用 JavaMail,我们需要引入必要的库。...

Global site tag (gtag.js) - Google Analytics