gpt4 book ai didi

java - Apache Camel : save email to file (. eml) 使用路由

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

我正在轮询一个电子邮件帐户,效果很好。我还想将收到的消息作为文件(.eml)进行备份。我尝试过这样的事情:

from( mailurl+"?username="+username+"&password="+password+"&"+options)
.to( "file://backup?allowNullBody=false&forceWrites=true");

我得到的是每封收到的电子邮件的文件,其生成名称如所需目录中的ID-MACHINENAME-2443-1211718892437-1-0,但该文件是空的。我知道我可以使用处理器制作自己的 .eml 文件,但是,是否有更直接的方法来仅使用路由来完成此操作?为什么创建的文件是空的?

最佳答案

我发现将每封传入电子邮件的备份副本复制到 .eml 文件的解决方案是创建一个如下所示的处理器:

    public void process(Exchange ex) throws Exception {

javax.mail.Message mailMessage = ex.getIn(org.apache.camel.component.mail.MailMessage.class).getMessage();

File file = new File( "backupDirectory", "DesiredFileName.eml");
DataOutputStream os = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(file)));
mailMessage.writeTo(os);
os.close();
}

此解决方案复制整个邮件,包括所有 header 、正文和附件。

关于java - Apache Camel : save email to file (. eml) 使用路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56577633/

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