簡體   English   中英

將CSV內容附加到郵件中

[英]Attachment of CSV content into a mail

我的一個servlet在String變量中創建CSV內容。

我想像附件一樣發送這個CSV,但每個人都知道GAE的局限性:創建文件是不可能的。 所以,我決定找另一個解決方案。

我的意思是附加CSV字符串:

String csv = "";
Message msg = new MimeMessage(session);
msg.setDataHandler(new DataHandler(new ByteArrayDataSource(csv.getBytes(),"text/csv")));
msg.setFileName("data.csv");

我收到郵件但沒有附件。 CSV字符串已集成到郵件的正文部分。

如何將CSV文件中的CSV字符串附加到郵件中?

謝謝

您需要MimeMultipart消息並將其作為MimeBodyPart附加:

Message msg = new MimeMessage(session);
MimeBodyPart attachFilePart = new MimeBodyPart();
attachFilePart.setDataHandler(new DataHandler(new ByteArrayDataSource(csv.getBytes(),"text/csv")))
attachFilePart.setFileName("data.csv");
msg.addBodyPart(attachFilePart);
    javax.mail.Multipart multipart = new MimeMultipart();

    javax.mail.internet.MimeBodyPart messageBodyPart =   new  javax.mail.internet.MimeBodyPart();

    multipart.addBodyPart(messageBodyPart);

    javax.activation.DataSource source = new FileDataSource("C:\\Notes\\data.csv");

    messageBodyPart.setDataHandler( new DataHandler(source));
    messageBodyPart.setFileName("data.csv");

    multipart.addBodyPart(messageBodyPart);
    msg.setContent(multipart);

    MimeBodyPart part = new MimeBodyPart();
    part.setText(text);

    multipart.addBodyPart(part);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM