gpt4 book ai didi

java - 将 Outlook 电子邮件复制到文件夹或通过 javamail 阅读电子邮件?

转载 作者:行者123 更新时间:2023-12-01 15:21:19 28 4
gpt4 key购买 nike

我们正在处理来自客户的许多电子邮件。每封主题行带有案例编号的电子邮件都会上传到我们的 CRM。目前,我们的分析师正在执行此过程,即,他收到或发送的每封电子邮件都会将电子邮件复制到桌面,然后将该文件上传到相关案例。

这是非常乏味且耗时的。我的设计问题是这样的:

选项 1:通过 java 邮件阅读电子邮件,如果主题行有案例编号 - 只需获取内容和附件并将电子邮件上传到 crm。

或者

选项 2:将 Outlook 电子邮件复制到桌面,然后将电子邮件作为文件上传到 crm。

我不确定,但看起来选项 2 更好,因为电子邮件中的所有内容(附件、文档、图表、照片)都会上传,并且当分析引用 caseid 时,他将能够看到电子邮件“按原样”(就好像来自 Outlook)。

第一个选项让我省去了使用 Outlook 的麻烦,但我担心电子邮件将只是文本(不确定是否有办法上传整个电子邮件,就好像它是 Outlook 文件一样)

感谢您的指点

最佳答案

直接连接到邮件服务器的第一个选择实际上非常简单。

我们通过使用 JavaMail 登录到 Exchange 服务器来完成类似的事情:Java 应用程序定期连接到 Exchange 并处理它找到的任何邮件。一旦处理完电子邮件,它就会将其移动到另一个文件夹,这样就不会再次处理它。

我不太明白你的第二个选项是如何工作的,但是将 Java 代码连接到 Outlook 对我来说听起来更困难。

以下概述了如何使用 JavaMail 在 Exchange 服务器上处理电子邮件。它应该适用于任何支持 IMAP 的邮件服务器:

public void processMailExample() {
Store store = session.getStore(new javax.mail.URLName("imap://user:pass@mailserver..."));
store.connect();
Folder inputFolder = store.getFolder("INBOX");
Folder outputFolder = store.getFolder("INBOX/Processed");

inputFolder.open(Folder.READ_WRITE);

Message[] messages = inputFolder.getMessages();
for (Message message : messages) {

// Process message here

moveMessage(message, outputFolder);
}
}

public void moveMessage(Message m, Folder to) throws MessagingException
{
m.getFolder().copyMessages(new Message[] {m}, to);
m.setFlag(Flag.DELETED, true);
m.getFolder().expunge();
}

如果特定电子邮件有附件,那么它将是 javax.mail.internet.MimeMessage 的实例,而不仅仅是 MessageMimeMessage 类使您能够完全访问所有附件、HTML 等,因此您应该能够访问上传到 CRM 系统所需的所有内容。

关于java - 将 Outlook 电子邮件复制到文件夹或通过 javamail 阅读电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10875082/

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