IMAP Class or Plugin?

Is there a ready-made class or plugin that anyone has for handling IMAP?

I have an (internal) project that requires being able to connect to an IMAP email account, download a list of subjects, be able to download message contents (potentially including headers) and delete messages. I really don’t need anything more than that.

I have been investigating using MBS and CURL to handle this, but it seems to be getting much more complicated than I anticipated. I’ve worked on this now for two days and still don’t have a working prototype.

I am willing to pay for a pre-built class (although, since I would be paying out of personal funds and not company funds, I will have to consider price carefully). I’m just looking for as close to plug-and-play as I can get. I need to spend my time with everything else this project requires, not spend all my time on the IMAP part (which is just a minor part of the overall project).

I’m hopeful something exists out there that I just haven’t managed to find yet.

Thank you!

chilkat plugin does imap.
https://www.chilkatsoft.com/xojo.asp

Did you built on your own or modified the CURLS imap examples?

The Chilkat plugin is a professional plugin. It’s working very very well. The documentation is good and the examples work fine.

IMAP looks simple, but the devil is in the details. Some IMAP servers set the deleted flag. Some don’t. Which means that you don’t always can identify the trash mailbox. And getting the mails in the trash also is not 100% clear. And don’t get me started on Gmail.

I was trying to modify the examples, but I think I’m getting lost in some of the details.

[quote=305279:@Beatrix Willius]The Chilkat plugin is a professional plugin. It’s working very very well. The documentation is good and the examples work fine.

IMAP looks simple, but the devil is in the details. Some IMAP servers set the deleted flag. Some don’t. Which means that you don’t always can identify the trash mailbox. And getting the mails in the trash also is not 100% clear. And don’t get me started on Gmail.[/quote]

The IMAP server is controlled by my company and will be the only server that will be connected to, so it only needs to work in this limited use case, at least right now.

I’ve seen the Chilkat plugin in my search. Fairly expensive for just this limited use. I’m not saying it’s not worth it, and I may end up going this route, but again I’d have to pay out of personal funds so it’s a pretty steep price for only one small part of the entire plugin’s functionality.

I wouldn’t presume to suggest whether $199 (the cost of Chilkat IMAP) was a lot of money to someone or not, each to their own. But if you’ve spent 2 days on this already and you’re now spending more time investigating, at some point you have to ask how much your time is worth when you have a quality solution waiting.

I’m not sure of a ready made solution, but I think there was some RB code somewhere for basic IMAP. For a limited use case like you describe, I don’t think it would be that difficult to work something up. If you need more than basic functionality and you wanted it to work across all the major servers then it would indeed be a big project.

Just checked the old forum and the class I was thinking of was called EasyIMAP. I don’t think it’s sold anymore.

http://forums.realsoftware.com/viewtopic.php?f=11&t=16030
?

Bains stopped selling and supporting his IMap class a few years ago… I had purchased it and used it for a while but ran into bugs… Initially he told me he could not fix the problems since he did not remember the encryption key… but eventually was able to provide the source… but in the meantime I switched to MBS CURL which has been working well…

I understand what you are saying. The two days I’ve already spent were on company time. I was getting paid for that work. The company is fine with that. However, they won’t pay for the plugin since we already have MBS. Strange, I know. But, it’s the reality of my situation.

I will try again to see if they can spring for the Chilkat plugin. If not, I’ll probably just work more with the MBS CURL examples to see if I can get any further.

Thank you for the replies all! I really do appreciate it!

I’ve created an IMAP socket. It was used in a commercial email program and I’m in the process of open-sourcing it. It’s a full-fledged IMAP socket that handles almost the entire IMAP spec, certainly far more functionality than what you need.

PM me and I’ll send you a copy.

Hi Everyone,

Seems there’s more interest in the IMAP classes than I anticipated. I’m setting up a GitHub repository for it and will post the link in as soon as I have it uploaded (probably tomorrow).

Thanks,
Matt

Hi Everyone,

Here’s the GitHub repository. I’m still working on the Readme, but if you’ve worked with the built-in POP3 socket you shouldn’t have too much problems. In the meantime, feel free to let me know if you need any help or have any questions.

https://github.com/mattmilano/indieIMAP.git

Have fun!

1 Like

if it’s like the pop3 socket, you should really make a deal with Xojo inc to include it in the xojo distribution …

The contents of the IMAPSocket folder are missing in Github.

@Jean-Yves: no, don’t think about this. The IMAP protocol is tricky. It looks simple but the implementations aren’t.

Sorry about that everyone. The initial commit didn’t upload everything. It’s fixed and the IMAPSocket folder now has the correct contents.

did you plan to make a small example project to go with it ?
thanks.

I ended up setting this project aside for a bit as I got put on a different project, so I really haven’t made any more progress (and, for whatever reason, I wasn’t getting notifications of updates to this thread—sorry about that, I wasn’t trying to abandon it).

@Matt Milano : I have downloaded and looked at your class. It looks promising, especially for the limited use case that I need something for. Thank you for this! Is there any documentation or an example project I could take a look at? I’m going to plug away at this over the next few days to see what I can get it to do.