邮件服务

项目中经常用到发送邮件的功能,用来提示客户任务情况。
一下代码是关于项目中用到的一些关于发送邮件的代码。

package com.cnooc.filenet.services;

import java.text.SimpleDateFormat;
import java.util.Date;

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;
import javax.mail.internet.MimeUtility;

import org.springframework.stereotype.Service;


import filenet.vw.api.VWException;
import filenet.vw.api.VWSession;
/**
 * @ClassName: MailService
 * @Description: 邮件发送服务
 */
@Service
public class MailService {
	
	public void sendMail(VWSession mailVWSession, String from, String to, String cc, String subject, String body) {
		try {
			if(to == null || "".equalsIgnoreCase(to)){
				System.out.println("The email address of to must be a valid value");
				throw new VWException("MailService.sendMail", "The email address of to must be a valid value");
			}
			Session mailSession = mailVWSession.createMailSession();
			MimeMessage msg = new MimeMessage(mailSession);
			msg.setFrom(new InternetAddress(from, MimeUtility.encodeText("系统邮件", "gb2312", "b")));
			
			if(cc != null && (cc.length() > 0)) {
				msg.setRecipients(Message.RecipientType.CC, InternetAddress.parse(cc));
			}
			msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
			msg.setSubject(subject, "UTF-8");
			msg.setSentDate(new Date());
			Multipart multipart = new MimeMultipart();
			MimeBodyPart mimeBodyPart = new MimeBodyPart();
			
			mimeBodyPart.setText(body, "UTF-8");
			mimeBodyPart.setHeader("Content-Type", "text/html;charset=UTF-8");
			try {
				multipart.addBodyPart(mimeBodyPart);
				msg.setContent(multipart);
				Transport.send(msg);
			} catch (Exception e) {
				e.printStackTrace();
				System.out.println("send mail failed. " + e.getMessage());
			}
			System.out.println("send mail succussfully");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	

下面是邮件的内容部分,这部分是自己拼写的,根据自己的项目情况来确定

	public String getMailBody(String to, String content, String link){
		
		String mailBody = "";
		mailBody += to;
		mailBody += ",您好";
		mailBody += "<br/>";
		mailBody += "    XX系统,您有任务:" + content;
		mailBody += ",请登录系统查看。";
		mailBody += "<br/>";
		mailBody += "<br/>";
		mailBody += "<a href='" + link + "'>点此进入系统</a>";
		mailBody += "<br/>";
		mailBody += "<br/>";
		mailBody += "XX办公平台系统";
		mailBody += "<br/>";
		mailBody += new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
		return mailBody;
		
	}
}



当初自己不会写关于邮件这部分的东西,知道项目中有该需求,而且功能已经实现自己就兴奋的找到代码。并查阅了一些资料自己了解了一下。这是之前的总结的一些内容,好久没遇到关于邮件的需求了,今天把这些写下来也简单的回忆一下。

你可能感兴趣的:(邮件服务)