Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Looking for a perl webmail

by matija (Priest)
on Oct 12, 2004 at 11:58 UTC ( #398454=perlquestion: print w/ replies, xml ) Need Help??
matija has asked for the wisdom of the Perl Monks concerning the following question:

Background: the organization I work for has some years ago deployed a webmail client (developed by an outside person who is no longer available).

With time, people have demanded more features, and while I argued that they could be added to the original client, others on the team have argued that other clients, already "out there" are much sleeker and more featurefull, so why not use them?

One of my cow-orkers made a web search, and found several webmails that he thought would look good. The leading candidate turned out to be IMP (php/horde). To implement the custom authentication we use, I'd need to patch PHP's IMAP code. Not a pretty task. Also, PHP may still have security vulnerabilities quite apart from those that come with the webmail itself.

OK, given that any webmail that is going to replace what we run at present will have to be substantialy modified to communicate with other backend features we have already in place (like spam white/blacklists implemented on a group of completely separate servers) I'd prefer if the webmail was written in Perl (rather than PHP or JSP as most of the candidates are) because I like Perl better than those other languages.

It needs to have a source licence (so that I can legaly modify it), and it would be very, very nice if it had templates for webpages/language packs, so that we can easily translate it to the local language.

I figure the monks here will know what Perl based webmails are out there if anybody does.

Comment on Looking for a perl webmail
Re: Looking for a perl webmail
by gellyfish (Monsignor) on Oct 12, 2004 at 12:12 UTC

    There may be more but you might want to check out AcmeMail to see if that is suitable.

    /J\

      I use AcmeMail, but I don't really like it - too many missing features (eg can't create folders, can't order by anything other than date received, no automatic saving of sent messages , etc)

      The script itself isn't that friendly to install either. On the other hand, "Perl only" alternatives are hard to find - the only other one I found was called Wing, but depended on non-CPAN modules.

      rdfield

        If you like Wing, take a look at Prayer. It has all the features I need, and is very VERY fast. It's a stand-alone server written in C, and is GPLed.

        I find it better to do all the fancy stuff like filtering "in the server" (using procmail and spamassassin, which isn't strictly in the SMTP server I know) rather than in the client.

        Providing a webby interface to the user's .procmailrc (using perl/apache) shouldn't be hard, and neither should shimming a link to it into Prayer's pages.

Re: Looking for a perl webmail
by Yendor (Pilgrim) on Oct 12, 2004 at 12:22 UTC

    Based on your question, it sounds to me like you are looking for a couple of different pieces of functionality.

    First, you want to take your current implementation of a web-based email program, scrap it, and replace it with something new.

    At its most basic level, this is something that is rather easily handled by the Mail::Sendmail package. A simple front-end UI is easy enough to toss together for it, and the docs for the package cover its basic functionality quite well.

    Secondly, you're looking for something with white/blacklists, as well as spam monitoring. For this, you could do much worse than Mail::SpamAssassin. I use this package on my personal Linux systems to catch and classify my spam. One of the features I like best about it is the fact that it includes a Bayesian spam filter (note: both of the above links are good reads for those interested in the theory behind Bayesian spam filtering.)

      At its most basic level, this is something that is rather easily handled by the Mail::Sendmail package. A simple front-end UI is easy enough to toss together for it, and the docs for the package cover its basic functionality quite well.

      Ummm - no. A webmail (even a basic webmail) is much more than that. Not only does it need to send the mail (something Mail::Sendmail does well) it needs to be able to unpack MIME, make attachements available for download, display what can be displayed, allow the user to delete, forward and refile mail between folders, maintain addressbooks, etc, etc, etc.

      Secondly, you're looking for something with white/blacklists, as well as spam monitoring. You misunderstand. We have spam assassin running on several servers (coordinated with clamd), we just need a way to let the users SET the black/white lists that are used by that setup.

      Please understand: what we already have is a fairly sophisticated setup, it's just that the PHBs want something prettier/more powerfull and cheaper (i.e. they don't want to pay someone to add a bit to what we already have - they are convinced there must be something "almost right" already out there).

      If I can find a prettier Perl solution, great. Otherwise, I may be stuck with hacking what we need into IMP/horde :-(.

Re: Looking for a perl webmail
by jacques (Priest) on Oct 12, 2004 at 13:38 UTC
    the organization I work for has some years ago deployed a webmail client (developed by an outside person who is no longer available).

    Big mistake.

    I'd prefer if the webmail was written in Perl (rather than PHP or JSP as most of the candidates are) because I like Perl better than those other languages.

    Why does the language matter, if you want a solution that works well? SquirrelMail works. So does IMP. You don't need to be a PHP expert to install either of them.

    I'd need to patch PHP's IMAP code. Not a pretty task.

    And all this time, I thought PHP was too easy. The training wheels without the bike, etc, etc.

    Also, PHP may still have security vulnerabilities quite apart from those that come with the webmail itself.

    And Perl is unreadable and not object-oriented. Not to mention that you cannot mix Perl code with HTML. (Have I forgotten any other false stereotypes?)

      Before claiming that a stereotype is false, please be sure that it is. Looking on secunia, PHP 4.3.x has had 4 security advisories this year, of which one is still unpatched. (A remote information exposure bug.) Last year they had 5 advisories of which one is still unpatched. (You can locally hijack port 80.) All of these bugs affected all operating systems that PHP is on.

      In that time Perl 5.x has had one security hole, which is now patched. That was a buffer overflow bug in the Windows version of stat.

      From that I'd say that PHP really does have a security track record that could legitimately cause concern.

      You don't understand: I would need to change PHP! In other words, I would need to edit the C code which implements PHP's IMAP support. I can do it (I know C), but first of all the code is ugly (personal opinion) and second of all, I would have to repatch that every time a new version of PHP came out (if I had to install it do get a security fix). This is not code that would interest anybody else (since the authentication method is specific to us), so open source and/or sending patches upstream don't help.
        FWIW: I believe Squirrelmail implements its imap protocol handling component in php instead of relying on php's built-in imap support.
Re: Looking for a perl webmail
by skx (Parson) on Oct 12, 2004 at 13:42 UTC

    I've always much preferred the appearance and funcionality of Squirrelmail to IMP.

    Although this doesn't help you directly as this is a PHP based solution there are numerous plugins available for it, and the code is nice and simple to hack.

    I've always been a little disappointed that there are no decent perl based webmail clients, but I guess not enough to do anything about it!.

    Steve
    ---
    steve.org.uk
Re: Looking for a perl webmail
by SpanishInquisition (Pilgrim) on Oct 12, 2004 at 16:36 UTC
    I used OpenWebmail in the past, and liked it -- but stopped using it becauses of fears of setuid-ness.

    My configuration was a simple server hooked up to fetchmail and exim4, no IMAP. Positives include ease of configuration and it being very very shiny. Negatives include not being IMAP, using mailbox instead of maildir, etc. Potential negatives include home directory access as a side feature, and there not being a clear way to turn that off. Anyhow, I ultimately stopped running it because of (first) fears of setuid, and (2) gmail. I've seen some universities run this though, so it can't be all bad. If you want IMAP, I'd probably look at Squirrelmail instead. Polished php programs don't scare me at all -- unpolished ones do (as with perl cgi apps!).

Re: Looking for a perl webmail
by ryantate (Friar) on Oct 12, 2004 at 17:33 UTC

    You might have a look at Mail::Box and the Mail::Box-Overview. Apparently this collection of modules can deal with both local mail as well as mail over a network, although I have no idea if IMAP support is included in this. You might have a look at the Mail::Box website.

    This is a level or three below a turnkey webmail solution, but does seem to provide an extensive object interface to folders, individual messages and attachments. See Simon Cozen's Perl.com article The Evolution of Perl Email Handling for more on Mail::Box.

Re: Looking for a perl webmail
by synistar (Pilgrim) on Oct 12, 2004 at 17:33 UTC
      Hy! perl webmail - doesn't support imap CaMail - slick but stalled for more than a year (LU: 02/09/2003) WING: Last Update: August 23, 2001 Kind regards, D.
Re: Looking for a perl webmail
by diakonos (Hermit) on Oct 13, 2004 at 12:47 UTC
    We were faced with creating a web client that was "fully featured". The problem we had was "fully featured" meant that it was a web based Outlook clone that would attach to an Exchange 5.5 server.

    You really must know what features that the user(s) want and see if it is feasable. With the above scenario that was more work than it was worth.

    If you are looking for a Perl based webclient that runs on a webserver I have had much success with a NeoMail client (fully Perl) on some other webservers I maintain. You can even upload your address book from popular email clients. Now this may not be as fully featured as having a commercial email client running on the local PC but it seems to meet many needs. If you are looking for spam control then I strongly encourage you to go the route of spamassassin (which is also Perl based) as mentioned earlier. If configured correctly it is the best on the market.

    Writing your own will take some time, especially if you are trying to "tackle" all of the features.

    It is only worth 2 cents - Doug

    Good Luck..

      Neomail pales in comparison to Openwebmail. Openwebmail runs setuid - true. However, you can wrap the setuid with C and it is perfectly safe. As a matter of fact, the FreeBSD port does this automatically on install.

      Openwebmail does not support IMAP or maildir. Not sure if this is an issue.

      It is fast and has a very nice interface. Everything is configurable very easily. You can turn off the webdisk for all users or on a per user basis. You have the same control over almost all features. The forum and development is active and helpful and the changelogs are current. Setup is as easy.

      I've used OWM for 3 years very happily. It has very good MIME support and also allows composing HTML messages via HTMLArea, built in. It has many many features that are very nice. I highly recommend reading the features link and checking it out. Tons of language support.

      Take notice that the screenshots on the site are old. The program looks much different than that currently.

      Also, vCard support and a full featured addressbook are coming soon according to the forum...

      blahblah (yes, I'm biased)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://398454]
Approved by Arunbear
Front-paged by grinder
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (7)
As of 2014-08-30 06:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (291 votes), past polls