我可以使用log4j.smtpAppender触发带附件(日志文件)的电子邮件。
我目前正在使用此附加程序来触发错误和致命级别异常的电子邮件。我可以在与附件
相同的电子邮件中添加日志文件log4j.appender.email=org.apache.log4j.net.SMTPAppender
答案 0 :(得分:1)
我认为您无法在同一封电子邮件中发送日志文件。您当然可以配置多个appender来记录您的数据:例如,发送电子邮件(SMTPAppender),其他打印到stdout(ConsoleAppender)等。
此外,我认为将日志文件附加到同一封电子邮件不是一个好主意:每次发送新电子邮件时日志文件都会不断增长,并假设您的日志长度约为5MB ...然后伐木会给你带来很大的处理能力。
答案 1 :(得分:1)
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 );
}
来源:jGuru.com