Java 使用log4j.smtpAppender发送电子邮件附件
我可以使用log4j.smtpAppender触发带有附件(日志文件)的电子邮件吗 我目前正在使用这个appender来触发错误和致命级别异常的电子邮件。我可以将日志文件添加到与附件相同的电子邮件中吗Java 使用log4j.smtpAppender发送电子邮件附件,java,log4j,Java,Log4j,我可以使用log4j.smtpAppender触发带有附件(日志文件)的电子邮件吗 我目前正在使用这个appender来触发错误和致命级别异常的电子邮件。我可以将日志文件添加到与附件相同的电子邮件中吗 log4j.appender.email=org.apache.log4j.net.SMTPAppender 我认为你不能在同一封电子邮件中发送日志文件。当然,您可以配置几个appender来记录您的数据:例如一个发送电子邮件(SMTPAppender),另一个打印到stdout(Console
log4j.appender.email=org.apache.log4j.net.SMTPAppender
我认为你不能在同一封电子邮件中发送日志文件。当然,您可以配置几个appender来记录您的数据:例如一个发送电子邮件(SMTPAppender),另一个打印到stdout(ConsoleAppender),等等 此外,我认为在同一封电子邮件中附加日志文件不是一个好主意:每次发送新电子邮件时,日志文件都会不断增长,假设您的日志长度约为5MB……那么日志记录将消耗您大量的处理能力
public static void emailAttachment
throws AddressException, MessagingException{
String host = mail.company.com;
String from = user@company.com;
String to = user2@company.com;
String cc = user3@company.com;
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
Session session = Session.getInstance(props, null);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.addRecipient(Message.RecipientType.CC, new InternetAddress(cc));
message.setSubject("Email Notification");
MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText("email Body");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
messageBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(fileAttachment);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName("attachment.pdf");
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);
Transport.send( message );
}
来源:不完全是日志文件。但是另一个文件是100KB。我发现javaMail是满足我需求的更好的解决方案