coldfusion - 将java代码转换为coldfusion代码(CFIMAP)

标签 coldfusion

我正在尝试设置与 Office365 邮箱的连接。此函数基于 java 示例(请参阅 https://stackoverflow.com/a/28689722/2482184 )。我快完成了,但我不知道如何转换原始 java 示例中的以下代码行:

Message[] messages = inbox.search(new FlagTerm(new Flags(Flags.Flag.SEEN), false));

完整功能如下:

<cfscript>
    mailSettings = {};
    mailSettings.server = "outlook.office365.com";
    mailSettings.port = "993";
    mailSettings.username = "xxxx";
    mailSettings.password = "xxxx";
    mailSettings.action = "";
    mailSettings.folder = "INBOX";
    mailSettings.timeout = 5000;

    properties = createObject("Java","java.util.Properties");
    jsession = createObject("Java","javax.mail.Session");
    store = createObject("Java","javax.mail.Store");
    message = CreateObject("Java", "javax.mail.Message");

    properties.init();
    properties.put("mail.store.protocol","imap");
    properties.put("mail.from", mailSettings.username);
    properties.put("mail.imap.port", mailSettings.port);
    properties.put("mail.imap.connectiontimeout",mailSettings.timeout);
    properties.put("mail.imap.timeout",mailSettings.timeout);
    jsession = jsession.getInstance(properties);

    store = jsession.getStore("imaps");
    store.connect(mailSettings.server, mailSettings.username, mailSettings.password);

    inbox  = store.getFolder("#mailSettings.folder#");
    inbox.open( inbox.READ_ONLY );

    /**********
    NEED HELP TO CONVERT THIS LINE BELOW TO COLDFUSION SYNTAX
    ---------
    Message[] messages = inbox.search(new FlagTerm(new Flags(Flags.Flag.SEEN), false));
    ---------
    END NEED HELP
    **********/

    inbox.close(true);

</cfscript>

我知道有一个 cfimap 标签。我正在尝试寻找一种更快的方法来下载电子邮件。

最佳答案

获取 Flag.SEEN 的引用

Flags.Flag - This inner class represents an individual system flag.

然后用它来构建其他对象(Flags 和 FlagTerm):

Flag = createObject("java", "javax.mail.Flags$Flag");
Seen = createObject("java", "javax.mail.Flags").init(Flag.SEEN);
Term = createObject("java", "javax.mail.search.FlagTerm").init(Seen, false);
// do search ...
messages = inbox.search(Term);

关于coldfusion - 将java代码转换为coldfusion代码(CFIMAP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48770219/

相关文章:

sql - 如何替换 DB varchar(6000) 中的 CHAR(13)?

list - Coldfusion:listContains 和 listFind

web-services - 使用 ColdFusion 创建安全的 Web 服务

coldfusion - 将 PDF 缩放到单页

apache - Centos 7 上的 Coldfusion 2018 无法设置 Apache 连接器

coldfusion - 使用 Coldfusion cfspreadsheet 格式化电子表格页面属性

coldfusion - 我怎样才能总是四舍五入到最接近的 10 个整数?

javascript - 当在 Coldfusion 中通过 AJAX 传递时,表单提交在 IE 浏览器中给出空表单

coldfusion - 如何获取应用服务器的 IP 地址

IIS 7.5 = 嵌套的 web.config 不会覆盖应用程序级别 web.config 中设置的自定义错误处理