邮件服务

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

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;
		
	}
}



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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值