gpt4 book ai didi

java - 如何在发送邮件时转储整个文件内容?

转载 作者:行者123 更新时间:2023-12-02 07:56:25 25 4
gpt4 key购买 nike

我有一个接受 xml 文件的应用程序,在上传无效的 xml 文件后,它会发送一封包含有关该文件的简要信息的邮件。我还需要包含整个文件内容更新(附件),这应该是执行此操作的理想方法。

这是我尝试过的(测试代码)

InputStream input = new BufferedInputStream(new FileInputStream("C:\\Simon\\csmclientbenz.xml"))
byte[] buffer = new byte[8192]

try {
for (int length = 0; (length = input.read(buffer)) != -1;) {
System.out.write(buffer, 0, length)
}
} finally {
input.close()
}

但目前它只打印文件的一部分。 xml 文件最大可达到 6MB。我缺少什么?谢谢

更新

发送邮件代码

public void sendMail(mailProp,mailData)
{
logger.debug("sendMail method")

Properties properties = System.getProperties()
properties.setProperty("mail.smtp.host", mailProp.host)
Session session = Session.getDefaultInstance(properties)

try{

MimeMessage message = new MimeMessage(session)
message.setFrom(new InternetAddress(mailProp.from))
message.addRecipient(Message.RecipientType.TO,new InternetAddress(mailProp.to))
message.setSubject("Configuration failed to upload for simon@abc.com")
message.setContent(createMessage(mailData), "text/html")
Transport.send(message)
System.out.println("Sent message successfully....")
}catch (MessagingException mex) {
mex.printStackTrace()
}
}

最佳答案

由于 xml 文件可能高达 6 MB,因此在电子邮件消息中发送整个文件内容并不是一个好主意,最好作为电子邮件附件发送。您可以引用http://www.roseindia.net/javamail/SendAttachment.shtml检查如何在发送电子邮件时发送附件。

更好的是,您可以在将其作为附件发送之前压缩此 xml 文件,以使用 java 的 zip 实用程序减少附件大小(引用: http://docs.oracle.com/javase/1.4.2/docs/api/java/util/zip/package-summary.html )

关于java - 如何在发送邮件时转储整个文件内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9562136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com