資源簡介
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
- 上一篇:Google 推出的 Java 編碼規范
- 下一篇:java串口通訊源碼
評論
共有 條評論