`

javaEmail发送Email邮件

阅读更多

发送邮件调用类,详情请见附件!

package com.siit.service;

import java.util.ArrayList;
import java.util.List;
import java.util.TimerTask;

import org.apache.log4j.Logger;

import com.siit.dao.TInvoiceSapMailDAO;
import com.siit.pojo.invoiceSapMail.TInvoiceSapMail;
import com.siit.util.AttributeNames;
import com.siit.util.ConfigInfoUtil;
import com.siit.util.sendEmail.MailSender;
import com.siit.util.sendEmail.MailSenderInfo;


/**
 * @TODO:[系统定时向发票经办人发送提醒邮件]
 */
public class SysInvoiceSapMailBean extends TimerTask{
	
	private static Logger logger = Logger.getLogger(SysInvoiceSapMailBean.class.getName());
	
	@SuppressWarnings("unchecked")
	public void run() 
	{
		logger.info("The system automatically send invoice agent reminded mail,Auto Begin-----");
		System.out.println("The system automatically send invoice agent reminded mail,Auto Begin-----");
		ConfigInfoUtil util = new ConfigInfoUtil();
		if(util.isFalgMd5("IsSendInvoiceSapMailInfoFlag")){  // 开关,是否发送邮件
			logger.info("【Start sending mail】");
			System.out.println("【Start sending mail】");
			/** 设置邮件发送服务器 **/
			MailSenderInfo mailInfo = new MailSenderInfo();  				// 这个类主要是设置邮件
			mailInfo.setMailServerHost(AttributeNames.MAIL_SERVER_HOST);  	// 发送邮件的服务器的IP
			mailInfo.setMailServerPort(AttributeNames.MAIL_SERVER_POST);    // 发送邮件的服务器的端口
			mailInfo.setValidate(AttributeNames.MAIL_SERVER_VALIDATE);  	// 是否需要身份验证
			mailInfo.setUserName(AttributeNames.MAIL_USERNAME); 			// 登陆邮件发送服务器的用户名
			mailInfo.setPassword(AttributeNames.MAIL_PASSWORD);				// 登陆邮件发送服务器的密码
			mailInfo.setFromAddress(AttributeNames.MAIL_FORM_ADDRESS); 		// 邮件发送者的地址
			
			TInvoiceSapMailDAO daoObj = new TInvoiceSapMailDAO();
			List mailList = daoObj.getInvoiceSapMailInfo();
			List invoiceIdList = new ArrayList(); 	// 存放发送数据的id
			TInvoiceSapMail vo = null;
			for (int i = 0; i < mailList.size(); i++) {
				vo = new TInvoiceSapMail();
				vo = (TInvoiceSapMail)mailList.get(i);
				if(vo.getEmail()!=null && !"".equals(vo.getEmail())){
					mailInfo.setToAddress(vo.getEmail().trim());   // 邮件接收者的地址
					//mailInfo.setToAddress("2283280062@qq.com");   // TEST
					//mailInfo.setToAddress("18520839907@163.com");   // TEST
					mailInfo.setSubject("通过制证的发票单据号:"+checkNull(vo.getInvoiceNumber()));	// 设置邮箱标题
					StringBuffer buffer = new StringBuffer("");
					buffer.append("<html><head>");
					buffer.append("<style type='text/css'>" +
							".STYLE1 {font-size: 13px; font-weight: bold;  bgcolor='#FFFFFF'}" +
							".STYLE3 {color: #707070; font-size: 12px; }" +
							"body {margin-top: 0px;margin-bottom: 0px;}</style></head>");
					buffer.append("<body>");
					buffer.append("<table width='100%' border='0' cellpadding='0' cellspacing='1' bgcolor='#c9c9c9'>" +
						     "<tr>" +
						        "<td height='30' colspan='2' class='STYLE1'>邮件内容</td>" +
							"</tr>" +
							"<tr>" +
						        "<td height='22' bgcolor='#FFFFFF' class='STYLE1' align='left'>发票单据号</td>" +
								"<td height='22' bgcolor='#FFFFFF' class='STYLE3' align='left'>"+checkNull(vo.getInvoiceNumber())+"</td>" +
							"</tr>" +
							"<tr>" +
						        "<td height='22' bgcolor='#FFFFFF' class='STYLE1' align='left'>供应商名称</td>" +
								"<td height='22' bgcolor='#FFFFFF' class='STYLE3' align='left'>"+checkNull(vo.getSupplierName())+"</td>" +
							"</tr>" +
							"<tr>" +
						        "<td height='22' bgcolor='#FFFFFF' class='STYLE1' align='left'>供应商编码</td>" +
								"<td height='22' bgcolor='#FFFFFF' class='STYLE3' align='left'>"+checkNull(vo.getSupplierCode())+"</td>" +
							"</tr>" +
							"<tr>" +
						        "<td height='22' bgcolor='#FFFFFF' class='STYLE1' align='left'>发票金额</td>" +
								"<td height='22' bgcolor='#FFFFFF' class='STYLE3' align='left'>"+checkNull(vo.getInvoiceMoney())+"</td>" +
						     "</tr>" +
						      "<tr>" +
						        "<td height='22' bgcolor='#FFFFFF' class='STYLE1' align='left'>合同号</td>" +
								"<td height='22' bgcolor='#FFFFFF' class='STYLE3' align='left'>"+checkNull(vo.getContractCode())+"</td>" +
						     "</tr>" +
							 "<tr>" +
						        "<td height='22' bgcolor='#FFFFFF' class='STYLE1' align='left'>发票校验的主体</td>" +
								"<td height='22' bgcolor='#FFFFFF' class='STYLE3' align='left'>"+checkNull(vo.getCompanyNo())+"</td>" +
						     "</tr>" +
							 "<tr>" +
						        "<td height='22' bgcolor='#FFFFFF' class='STYLE1' align='left'>凭证号</td>" +
								"<td height='22' bgcolor='#FFFFFF' class='STYLE3' align='left'>"+checkNull(vo.getSapCode())+"</td>" +
						     "</tr>" +
							 "<tr>" +
						        "<td height='22' bgcolor='#FFFFFF' class='STYLE1' align='left'>制证的会计</td>" +
								"<td height='22' bgcolor='#FFFFFF' class='STYLE3' align='left'>"+checkNull(vo.getOperatorAccountUser())+"</td>" +
						     "</tr>" +
							 "<tr>" +
								"<td height='60' bgcolor='#FFFFFF' colspan='2' align='right' class='STYLE3'>【XX系统】发送的提醒邮件,请勿回复!</td>" +
						     "</tr>" +
						    "</table>");
					buffer.append("</body>");
					buffer.append("</html>");
					//以文本信息形式发送
					/*buffer.append("邮件内容:").append("\n");
					buffer.append("发票单据号:").append(vo.getInvoiceNumber()).append("\n");
					buffer.append("供应商名称:").append(vo.getSupplierName()).append("\n");
					buffer.append("供应商编码:").append(vo.getSupplierCode()).append("\n");
					buffer.append("发票金额:").append(vo.getInvoiceMoney()).append("\n");
					buffer.append("合同号:").append(vo.getContractCode()).append("\n");
					buffer.append("发票校验的主体:").append(vo.getCompanyNo()).append("\n");
					buffer.append("凭证号:").append(vo.getSapCode()).append("\n");
					buffer.append("制证的会计:").append(vo.getOperatorAccountUser()).append("\n");*/
					//mailInfo.setContent(buffer.toString());	 // 设置邮箱内容
					//boolean flag = MailSender.sendTextMail(mailInfo);	// 发送文体格式
					
					mailInfo.setContent(buffer.toString());	 // 设置邮箱内容
					boolean flag = MailSender.sendHtmlMail(mailInfo);	// 发送html格式
					
					logger.info("【Mail delivery is successful】Flag="+flag);
					System.out.println("【Mail delivery is successful】Flag:"+flag);
					if(flag){ //发送成功
						invoiceIdList.add(vo.getId());
					}
				}
			}
			logger.info("【End of the email】successfully:"+invoiceIdList.size());
			System.out.println("【End of the email】successfully:"+invoiceIdList.size());
			
			/**修改 “发票制证邮件提醒表” 中已发送信息的发送状态*/
			daoObj.updateSendStatus(invoiceIdList);
		}
	}
	
	/**
	* @TODO:[空对象处理]
	* @date:2013-8-21
	* @param obj
	* @return String
	*/
	public static String checkNull(Object obj) {
		if ((null == obj) || ("null".equals(obj)) || ("".equals(obj))) {
			return "";
		} else {
			return obj.toString();
		}
	}
	
	public static void main(String args[]){
		SysInvoiceSapMailBean beanObj = new SysInvoiceSapMailBean();
		beanObj.run();
	}
}

 

分享到:
评论

相关推荐

    javaemail发送邮件(带附件)

    "javaemail发送邮件(带附件)" javaemail发送邮件(带附件)是使用Java技术实现的邮件发送功能,支持带附件的发送。下面是该功能的知识点总结: 1. 使用JavaMailSenderImpl类来发送邮件,需要设置SMTP服务器、用户名...

    java发送email邮件.

    demo介绍:http://blog.csdn.net/love_xiolan/article/details/56016576 java发送email邮件 1.发送普通email邮件 2.发送带附件的email邮件 3.邮件抄送和密送 4.发送html邮件 5.发送模板文件

    java发邮件 java发email

    Java发送电子邮件是一个常见的任务,尤其在自动化通知、报表发送或者用户验证等场景中。下面将详细解释如何使用Java来发送邮件,并提供相关的知识点。 首先,Java通过JavaMail API提供了发送邮件的功能。JavaMail ...

    Java邮件发送.zip

    首先,Java中用于发送邮件的主要API是JavaMail API,它是一个开源库,提供了一组接口和类,允许开发者通过SMTP(简单邮件传输协议)等协议发送邮件。JavaMail API的核心包有`javax.mail`和`javax.mail.internet`,...

    java email 发送文档

    在这个"java email 发送文档"的事例中,我们将深入探讨如何使用Java Mail API来发送电子邮件。 首先,你需要在项目中引入Java Mail API的相关依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```...

    Java邮件Email发送的jar包

    这个"Java邮件Email发送的jar包"包含了JavaMail API的核心库,即`javax.mail.jar`。 JavaMail API是一个开源的Java库,它提供了标准的Java API来处理SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息...

    JavaEmail发送邮件

    总的来说,JavaMail API提供了一套全面的工具,使Java开发者能够轻松地与SMTP服务器交互,实现邮件的发送。通过配置SMTP服务器参数,创建和设置邮件内容,以及使用`Transport`类发送邮件,我们可以构建出一个功能...

    用java开发Email工具之发送邮件

    ### 使用Java开发Email工具之发送邮件 在Java中开发电子邮件工具时,主要依赖于JavaMail API,这是一个功能强大的库,可以实现多种类型的邮件发送、接收等功能。本文将详细介绍如何使用JavaMail API来发送邮件,...

    java email和email附件发送

    在Java编程中,发送电子邮件是一项常见的任务,尤其在系统集成、通知服务或自动化流程中。本文将详细讲解如何使用Java的JavaMail API来发送带有附件的电子邮件,以"163邮箱"为例进行演示。 首先,JavaMail API是...

    java邮件发送例子 apache email demo

    Apache Commons Email库是Java中一个强大的工具,它简化了构建和发送电子邮件的过程。在这个例子中,我们将深入探讨如何使用Apache Commons Email库在Java中实现邮件发送。 首先,你需要在项目中引入Apache Commons...

    简单Java邮件发送 Java实现邮件发送

    Java邮件发送是一个常见的任务,尤其在自动化通知、订阅服务或者数据报告等场景中。本教程将详细介绍如何使用Java实现邮件发送功能,同时提供了一个Jar包和demo源码供参考。 首先,我们需要理解JavaMail API,这是...

    java email邮件发送所需mail相关jar包

    "java email邮件发送所需mail相关jar包"就是这样一个集合,它包含了执行邮件发送所需的类和方法。 邮件发送主要依赖于JavaMail API,这是一个开源的Java库,它提供了与邮件服务器交互的标准API。JavaMail API包括多...

    java email 发送邮件

    JavaMail 是一个强大的开源库,用于在Java应用程序中发送和接收电子邮件。这个库提供了一组API,使得开发者能够轻松地处理SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)等邮件服务。在...

    java邮件发送组件

    在实际开发中,除了直接使用Java Mail API,还可以选择一些成熟的Java邮件发送库,例如Apache Commons Email、Spring Framework的MailSender接口等,它们提供了更友好的API和额外的特性,可以帮助开发者快速实现邮件...

    javaEmail邮件发送资源包

    总结来说,"javaEmail邮件发送资源包"包含了实现Java邮件发送所需的组件和工具类。`JavaEmailUtil.java`提供了发送邮件的实用方法,而`mail.jar`和`activation.jar`则是JavaMail和JAF的核心库,它们支持创建复杂的...

    java email邮件发送

    Java邮件发送是一个常见的任务,尤其在企业级应用中,用于发送通知、验证码或者报告等。在Java中,我们可以使用JavaMail API来实现这个功能。JavaMail API是一个开源库,提供了丰富的接口和类来处理电子邮件的发送和...

    基于Java的邮件发送模板

    使用Apache Commons Email发送带附件的HTML邮件如下: ```java import org.apache.commons.mail.*; Email email = new HtmlEmail(); email.setHostName("smtp.example.com"); email.setSmtpPort(587); email....

    使用java发送邮件的方法

    使用java发送邮件的方法,直接可以拿来用,最近找了个例子,稍微整理了一下

    java 发送附件mail

    在实际开发中,还可以使用第三方库如Apache Commons Email或JavaMailSender Interface(Spring框架的一部分)来简化邮件发送的过程,它们提供了更友好的API来处理邮件。 总结一下,Java发送带有附件的邮件涉及到...

Global site tag (gtag.js) - Google Analytics