资源简介

javaMail 用附件路径,文件流 byte[] 或 base64 字符串 实现发送附件功能

资源截图

代码片段和文件信息


import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
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 javax.mail.util.ByteArrayDataSource;

import sun.misc.base64Decoder;




public class EMail extends AbstractService implements IEMailNoticeService

{
/**
 * 发送邮件以及通过文件路径发送邮件附件
 * @param       Notice
 * @return      void
 */
public void sendEmailByFilePath(Notice notice) throws Exception
{
boolean sessionDebug = false;
InternetAddress[] address = null;
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss“);
try {

SiteConfig  config = new SiteConfig();                     //配置信息
String mailServer = config.getSendEmailSmtp();              //服务器地址
String mailAuth = config.getMailSmtpAuth();                 //验证
String mailAddress = config.getSendEmailAddress();          //邮箱
String mailUser = config.getSendEmailAddress();             //用户名
String mailPassword = config.getSendEmailPassword();        //密码
String mailSmtpPort = config.getMailSmtpPort();             //端口

Properties props = System.getProperties();
props.put(“mail.smtp.host“ mailServer);
props.put(“mail.smtp.auth“ mailAuth);

Session mailSession = Session.getDefaultInstance(props null);
mailSession.setDebug(sessionDebug);

Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress(mailAddress));
if (notice.getToAddress() != null && !““.equals(notice.getToAddress())) {
address = InternetAddress.parse(notice.getToAddress() false);
for (InternetAddress addr:address) {
if (this.isEmail(addr.getAddress()) == false) {
log.info(sdf.format(new Date() + notice.getScene() + addr.getAddress() + “地址格式不正确。“));
}
}
msg.setRecipients(Message.RecipientType.TO address);
}
if (notice.getCcAddress() != null && !““.equals(notice.getCcAddress())) {
address = InternetAddress.parse(notice.getCcAddress() false);
for (InternetAddress addr:address) {
if (this.isEmail(addr.getAddress()) == false) {
log.info(sdf.format(new Date() + notice.getScene() + addr.getAddress() + “地址格式不正确。“));
}
}
msg.setRecipients(Message.RecipientType.CC address);
}
if (notice.getBccAddress() != null && !““.equals(notice.getBccAddress())) {
address = InternetAddress.parse(notice.getBccAddress() false);
for (Inte

评论

共有 条评论