Mail Portlet.. some screenshots : )

Here are some screenshots for the new mail portlet.  You can check out jerry's post on how to install the mail portlet. It is as simple as clicking around in the plugins installer.  The mail portlet that I am using is running on the latest 5.1.x branch so you may notice some slight ui changes in the portal, but the mail portlet is the same.


Splash Screen:

 

For now, the initial screen is very simple.  It gives you the options to either check your mail or configure your email accounts.

 


Account Configuration Screen:

 

This is the configuration window.  You can customize pre-configured accounts.  You can add and remove whatever accounts you want.  If you want to add remove the pre-configured Gmail account, add others and modify whatever from the portlet.properties file inside the portlet.

Note: after you add your account, you may have to wait a few minutes before your first page of emails is retrieved.  Some technical details behind the process is.. It will grab a list of the folders, then grab the first page of each folder, then go back for the second page of each folder.. etc. 

 


 Viewing your mail folders:

Notice at the top left, there is a drop down list.  That list contains all your configured mail accounts.  You can switch between accounts by selecting a different account from the list.

 


Reading a message:

You can view your email in plaintext or html, whichever is provided by the sender.

 

Note: This email is an add from alienware (and windows vista).  im not a fan of either.. and i dont own any alienware stuff and neither do i run vista.. but the email looked cool.. so im using it for the screenshot : )  In case you are curious.. at Liferay we have all kinds of machines going.. apple, dell, hp.. no alienware : )  at least not that i know of.

 


Replying to a message:

When replying to a message, you are provided with a full wysiwig editor.  The editor used in this screenshot is "tinymcesimple" which can be configured from portal.properties.  The mail portlet will currently use the default editor from the properties file.

 

Hope that gets you to want to give the mail portlet a try.  suggestions, code fixes and improvements are totally welcome : )

 

Blogs
5.1.1版mail-portlet确实很强,可以添加多个邮件,很实用。我安装后发现在发送邮件时,主体部分是乱码,并且在ie6下出现网页错误而不能修改邮件帐户。
希望越来越强。
Scott, great job! I have been using your changes as they evolved from the trunk. I have just a couple of questions:

1. There does not seem to be anyway to create / maintain / manage folders within the portlet. The actions do not have a move to folder option, etc..

2. I noticed that all of the user account info is stored in a json in the servers repository files, but the password is not hashed or encrypted. Is it possible to protect the password information?

Thanks again,

Brian
thanks brian, both of the items you mentioned (folder management and password encryption) are features that im itching to add, but ive been pulled to other projects. if anyone is willing to sponsor the development (send an email to our professional services).. id be more than happy to add these features.

off the top of my head.. some other things that i wanted to add are.. drafts, autosaving drafts, multiple attachments with progress bar and auto-complete of recipient email addresses. i hope they let me add some polish to this portlet : )
Very naive question: is it possible to take sources of this mail plugin? The main thing I need to do there - switch using mail service (smtp, pop) to database.
Thanks in advance.
you can get the latest source here:

svn://svn.liferay.com/repos/public/plugins/incubation/portlets/mail-portlet

in that code, there is a 'private message' type mailbox already implemented which stores all messages in the database (instead of going to imap or pop). that sounds like the effect that you want.

this version also has tons of improvements over the version in trunk. but is currently compatible with 5.2.x, not the latest and greatest 6 that is coming out soon.

[update]

There is now a private messaging portlet:
svn://svn.liferay.com/repos/public/plugins/trunk/portlets/private-messaging-portlet
5.2.8 source zip: http://dl.dropbox.com/u/361643/Liferay/private-messaging-portlet/private-messaging-portlet.zip
5.2.8 war: http://dl.dropbox.com/u/361643/Liferay/private-messaging-portlet/private-messaging-portlet-5.2.8.1.war
When using this portlet with both Gmail and a Microsoft Exchange server the sync seems to take a very long time. The initial download of email is fine, but when a new email is received or an email is deleted through another client, the emails are not changed on the portlet for hours sometimes.

Is there some kind of timer for when it syncs up or how does this work?

Everything else I've done with it works great.
An improved version is actually in the works and these issues will be addressed (now it just downloads the headers.. which is much much faster). Ill let you guys know when its ready.

To directly answer your question, in the current/old version of the mail portlet, the synch's were done by polling the server every minute or so (this is configurable in the portlet.properties file). However, if there is already a synch happening, then the new request for a synch will be discarded. This prevents simultaneous (and thus duplicate) synch's happening on the same email address. The problem is that these synch's take a long time.. and so if you want to get your new mail, you may have to wait until the current synch finishes.
Scott, from digging into the code some for this portlet, it seems that the messages are being stored on the server at a location specified in the portlet.properties file.

What are your thoughts on this becoming an issue with possibly 100's or even 1000's of users?

If you are using this portlet for an email account that is on a mail server you are running also this seems like it may be redundant. Otherwise, I could see how it would make sense to do this.

From you last post it looks like you are in the process of changing the mail portlet so that it only pulls the headers, rather than the whole message. Could this speed improvement be enough to not even have to worry about saving the messages (or anything for that matter) on the server?

Impressive work thus far, can't wait to see what changes you have in store.
Messages are stored in the database (note that message attachments are left on the mail server). Currently, I still feel that the interaction between the mail server is not fast enough to create a cacheless mail portlet that still runs smoothly. Though downloading headers is very fast, it still takes a relatively long time to recurse through an email's parts and extract the content, flags and attachment info. There are also some features which are only possible with caching (ie. sorting columns).

If speed is not as important as storage space, the back-end for the mail portlet is actually designed to be easily extended. The appropriate interfaces in place so that you can also write a "cacheless IMAP" mail account if you wanted.
Hi Scott,
I don't know if it's the good place to post but like it's linked to the mail portlet...
I have to install and modify (realize the interface in extjs) a mail portlet inside my liferay version 5.2.3.
I saw you did some work on it: inside the SVN (incubation) you commit a mail-portlet-5.2.x and mail-viewer-portlet-5.2.x. I think they are the same? I checked out the last version (the one based on 6.0 version) and previous release too, but they are not compatible with LR5.2.3!
So can you tell me which version is the better to use with my LR.
I don't want to start my development on a version what doesn't include DB message storage for example or others good improvment made this portlet.
I hope my question is ok and thank you for the help and answers you can give me.
Igor
the mail-viewer portlet is a heavily stripped down version of the mail portlet. it will only display the 25 most recent unread messages (configurable).

if you want to essentially backport the mail portlet from trunk/6 to 5.2.x.. ive actually been working on that too : ).. but im not done yet. you can take a look here:

http://tinyurl.com/mail-528-source-20101218
http://tinyurl.com/mail-528-war-20101218

Or since you are rewriting the front end anyway.. you can just backport the 6.0 version, but feel free to look at those links for reference.

Not sure when I will finish this, but hopefully soon.

Scott