Email Util

package com.ebao.lisig.integration.agpi;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.MultiPartEmail;

import com.ebao.foundation.common.config.Env;
import com.ebao.lisig.integration.agpi.data.EmailInfoDTO;
import com.ebao.lisig.integration.agpi.data.MailAttach;

public class EmailUtil {				
	private static Log log = LogFactory.getLog(EmailUtil.class);			

	public static Map SendMail(EmailInfoDTO emailDTO) {			
		Map result = new HashMap();		
		MultiPartEmail email = new MultiPartEmail();		
		try {		
			email.setCharset("UTF-8");	
			email.setHostName(Env.getValue("MAIL.HOST"));	
			if ("true".equals(Env.getValue("MAIL.SMTP.AUTH")))	
				email.setAuthentication(Env.getValue("SERVER.USERNAME"), Env.getValue("SERVER.PASSWORD"));
			email.setFrom(Env.getValue("ARGO_EMAIL_SENDER"), "");	

			email.setSubject(emailDTO.getSubject());	
			if (null != emailDTO.getContent() && !"".equals(emailDTO.getContent()))	
				email.setMsg(emailDTO.getContent());	
			if (null != emailDTO.getTo() && !"".equals(emailDTO.getTo())) {		
				String[] toArray = emailDTO.getTo().split(";");	
				for (String to : toArray) {	
					email.addTo(to);
				}	
			}		
			if (null != emailDTO.getCc() && !"".equals(emailDTO.getCc())) {		
				String[] ccArray = emailDTO.getCc().split(";");	
				for (String cc : ccArray) {	
					email.addCc(cc);
				}	
			}		

			List<MailAttach> attachs = emailDTO.getAttachmentData();		
			if (null != attachs) {		
				for (MailAttach attach : attachs) {	
					EmailAttachment attachment = new EmailAttachment();
					attachment.setName(attach.getName());
					attachment.setPath(attach.getPath());
					attachment.setDisposition(EmailAttachment.ATTACHMENT);
					email.attach(attachment);
				}	
			}		
			email.send();		
		} catch (EmailException e) {			
			log.error("Email sent failed" + e.getLocalizedMessage());		
			result.put("status", Boolean.FALSE);		
			result.put("exception", e.getLocalizedMessage());		
			return result;		
		}			
		result.put("status", Boolean.TRUE);			
		return result;
	}	
}


转载于:https://my.oschina.net/u/1244691/blog/198923

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
/* * JCatalog Project */ package com.hexiang.utils; import java.util.List; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.Properties; import javax.mail.Session; import javax.mail.Transport; import javax.mail.Message; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.hexiang.exception.CatalogException; /** * Utility class to send email. * * @author <a href="380595305@qq.com">hexiang</a> */ public class EmailUtil { //the logger for this class private static Log logger = LogFactory.getLog("com.hexiang.util.EmailUtil"); /** * Send email to a single recipient. * * @param smtpHost the SMTP email server address * @param senderAddress the sender email address * @param senderName the sender name * @param receiverAddress the recipient email address * @param sub the subject of the email * @param msg the message content of the email */ public static void sendEmail(String smtpHost, String senderAddress, String senderName, String receiverAddress, String sub, String msg) throws CatalogException { List<String> recipients = new ArrayList<String>(); recipients.add(receiverAddress); sendEmail(smtpHost, senderAddress, senderName, recipients, sub, msg); } /** * Send email to a list of recipients. * * @param smtpHost the SMTP email server address * @param senderAddress the sender email address * @param senderName the sender name * @param recipients a list of receipients email addresses * @param sub the subject of the email * @param msg the message content of the email */ public static void sendEmail(String smtpHost, String senderAddress, String senderName, List<String> recipients, String sub, String msg) throws CatalogException { if (smtpHost == null) { String errMsg = "Could not send email: smtp host address is null"; logger.error(errMsg); throw new CatalogException(errMsg); } try { Properties props = System.getProperties(); props.put("mail.smtp.host", smtpHost); Session session = Session.getDefaultInstance(props, null ); MimeMessage message = new MimeMessage( session ); message.addHeader("Content-type", "text/plain"); message.setSubject(sub); message.setFrom(new InternetAddress(senderAddress, senderName)); for (Iterator<String> it = recipients.iterator(); it.hasNext();) { String email = (String)it.next(); message.addRecipients(Message.RecipientType.TO, email); } message.setText(msg); message.setSentDate( new Date() ); Transport.send(message); } catch (Exception e) { String errorMsg = "Could not send email"; logger.error(errorMsg, e); throw new CatalogException("errorMsg", e); } } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值