, , Ageax. , CFIMAP, , . . fetch /* */, . , - . - , , .
<cfscript>
function fecthImap()
{
var local = {};
local.settings = {};
local.settings.server = "outlook.office365.com";
local.settings.port = "993";
local.settings.username = "xxxx";
local.settings.password = "xxxx";
local.settings.action = "";
local.settings.folder = "INBOX";
local.settings.timeout = 5000;
local.settings.tick = GetTickCount();
local.settings.x = 1;
local.java = {};
local.java.properties = createObject("Java","java.util.Properties");
local.java.properties.init();
local.java.properties.put("mail.store.protocol","imap");
local.java.properties.put("mail.from", local.settings.username);
local.java.properties.put("mail.imap.port", local.settings.port);
local.java.properties.put("mail.imap.connectiontimeout",local.settings.timeout);
local.java.properties.put("mail.imap.timeout",local.settings.timeout);
local.java.session = createObject("Java","javax.mail.Session");
local.java.session = local.java.session.getInstance(local.java.properties);
local.java.store = createObject("Java","javax.mail.Store");
local.java.store = local.java.session.getStore("imaps");
local.java.store.connect(local.settings.server, local.settings.username, local.settings.password);
local.java.folder = local.java.store.getFolder("#local.settings.folder#");
local.java.folder.open( local.java.folder.READ_ONLY );
local.java.mailFlags = createObject("java", "javax.mail.Flags$Flag");
local.java.mailFlagsSeen = createObject("java", "javax.mail.Flags").init(local.java.mailFlags.SEEN);
local.java.mailFlagTerm = createObject("java", "javax.mail.search.FlagTerm").init(local.java.mailFlagsSeen, false);
local.java.messages = local.java.folder.search(local.java.mailFlagTerm);
/*This part could realy speed thinks up, but it does not work as expected*/
/****************************
local.java.profile = createObject("Java","javax.mail.FetchProfile");
local.java.profileItem = createObject("Java","javax.mail.FetchProfile$Item");
local.java.profile.add(local.java.profileItem.ENVELOPE);
local.java.folder.fetch(local.java.messages, local.java.profile);
****************************/
for(local.settings.x=1;local.settings.x<=arraylen(local.java.messages);local.settings.x=local.settings.x+1)
{
local.java.message = local.java.messages[local.settings.x];
WriteOutput(local.settings.x & ':' & GetTickCount()-local.settings.tick & ':' & local.java.message.getSubject() & '<br>');
}
local.java.folder.close(true);
}
fecthImap();
</cfscript>