Thank you for the useful replies. Ok, creating a reference to the mailboxmanager using @Resource is a lot better. So that's nice.
Regarding the hostname, I was looking for a way to detect wether this session is a user-session (i.e. an actual user that reads a message in his IMAP-inbox) or a system-session (our sync-program that marks a message as read, because a message was marked as read in our CRM). When I create that IMAP-session and mark the message as read, it's a user-session, so I can't distinguish that. On Mon, Jan 30, 2012 at 1:39 PM, Eric Charles <e...@apache.org> wrote: > I don't know much from spring integration, but it will probably not fit > our existing event system. > > > On 30/01/12 10:14, Dhrubo wrote: > >> Can we use something like an integration pack for example Spring >> integration which has spring imap support? But offcourse event is >> required. >> >> On Mon, Jan 30, 2012 at 2:08 PM, >> lclhst<l0c4lh0st.dump@gmail.**com<l0c4lh0st.d...@gmail.com>> >> wrote: >> >> Does anybody have any input to this? >>> >>> I'm now creating my CustomMailboxListener with a 1 parameter >>> constructor, which is the MailboxManager, so I can access the >>> mailboxes. >>> >>> Not sure on the questions I asked before yet, though. >>> >>> On Fri, Jan 27, 2012 at 6:05 PM, >>> lclhst<l0c4lh0st.dump@gmail.**com<l0c4lh0st.d...@gmail.com>> >>> wrote: >>> >>>> Ok, I have been playing around a bit with this. >>>> >>>> I added the listener through the Spring XML files and now I receive >>>> the events in my listener. It's working great. >>>> >>>> When event.getSession().getType().**equals(SessionType.System), the >>>> e-mail is being handled/received/modified through SMTP, right? >>>> Otherwise it's user, which is the user doing some actions himself, >>>> right? >>>> >>>> So this way I could check if a user is dragging an e-mail inside his >>>> INBOX, or it's a message received by SMTP. >>>> >>>> Because when a user is dragging an e-mail inside his INBOX, I need to >>>> sync this back to our CRM, so I can make the message there, too. >>>> >>>> Also, I was wondering what would be the best way to query the mailbox. >>>> For example, when I receive a message in the listener, could I use the >>>> event.getSession().**getAttributes().get("**MESSAGEMAPPER") safely? >>>> It's >>>> mentioned this class isn't thread safe. But I need to be able to fetch >>>> the full message including headers and everything, so I can sync it to >>>> our CRM. >>>> >>>> Also, I was wondering what would be the best way to do the status >>>> updates from our CRM. Because when I make an IMAP session and mark a >>>> message read, the listener receives it and syncs it back to our CRM. >>>> That way I'm doing double syncing, which isn't what we want of course. >>>> >>>> Could I check for example the host name inside the public void >>>> event(Event event)? I cannot seem to find any methods or properties >>>> that would give me a context containing these details. >>>> >>>> I also saw a createSystemSession()-method on the MailboxManager. I'm >>>> not sure how to access this MailboxManager though. I could register it >>>> to some class using the spring beans (or even my listener class), but >>>> I don't think that would be a good idea. I could set up something >>>> using JMS messaging so a class inside JAMES would be receiving >>>> messages through JMS and then update the mailbox. Though I think there >>>> must be a better way, but I cannot seem to find it yet. >>>> >>>> I hope you guys could give me a bit more insight on how to do this. >>>> Not asking for complete solutions. :) I just don't know where to look >>>> yet. :) >>>> >>>> Thanks for the help so far, much appreciated. >>>> >>>> On Thu, Jan 26, 2012 at 4:56 PM, Norman Maurer >>>> <norman.mau...@googlemail.com> wrote: >>>> >>>>> Hi there, >>>>> >>>>> you can register a MailboxListener in the MailboxManager instance and >>>>> so get notifications about mailbox events. This should do the job. >>>>> >>>>> Have a look here: >>>>> >>>>> >>>>> http://svn.apache.org/viewvc/**james/mailbox/trunk/api/src/** >>> main/java/org/apache/james/**mailbox/MailboxManager.java?**view=markup<http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MailboxManager.java?view=markup> >>> >>>> >>>>> http://svn.apache.org/viewvc/**james/mailbox/trunk/api/src/** >>> main/java/org/apache/james/**mailbox/**MailboxListenerSupport.java?** >>> view=markup<http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MailboxListenerSupport.java?view=markup> >>> >>>> >>>>> http://svn.apache.org/viewvc/**james/mailbox/trunk/api/src/** >>> main/java/org/apache/james/**mailbox/MailboxListener.java?**view=markup<http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MailboxListener.java?view=markup> >>> >>>> >>>>> Let me know if you need more info.. >>>>> >>>>> Bye, >>>>> Norman >>>>> >>>>> >>>>> 2012/1/26 l0c4l h0st<l0c4lh0st.d...@gmail.com>**: >>>>> >>>>>> Hello, >>>>>> >>>>>> What I'm trying to do is capture events that the IMAP-server should >>>>>> (or is supposed to) raise. >>>>>> >>>>>> Whenever a message gets marked as read, I want to get a notification >>>>>> of this event. >>>>>> Whenever a message gets marked as unread, I want to get a notification >>>>>> of this event. >>>>>> Whenever a message gets flagged, I want to get a notification of this >>>>>> >>>>> event. >>> >>>> Etc. etc. >>>>>> >>>>>> Whenever a user moves a message to a different IMAP folder, I want to >>>>>> get a notification of this event. >>>>>> Whenever a user deletes a message to a different IMAP folder, I want >>>>>> to get a notification of this event. >>>>>> Whenever a user copies a message to a different IMAP folder, I want to >>>>>> get a notification of this event. >>>>>> >>>>>> Right now, I don't see any way of doing this. I thought this would be >>>>>> possible with the Matchers and Mailets, but I don't see how this would >>>>>> be possible. >>>>>> >>>>>> I can define a custom mailet, that matches on ALL, when I add this >>>>>> mailet in the root- and transport-processors, I get notifications only >>>>>> of mail that arrives through SMTP and mail that is sent through SMTP. >>>>>> >>>>>> Am I missing the IMAP way of doing this? Or is there currently no way >>>>>> of doing this with IMAP? >>>>>> >>>>>> I've tried searching through the code, but I don't see any event >>>>>> listeners or anything that would be triggered. I did find >>>>>> ImapStateAwareMailboxListener, but I cannot find how to subscribe to >>>>>> this event or anything. >>>>>> >>>>>> Also, I found the UpdatedFlags class, but there is no notification >>>>>> sent anywhere. >>>>>> >>>>>> SO: >>>>>> How can I get a notification of every single change that is made to a >>>>>> message in IMAP? IMAP is currently most important for us. >>>>>> >>>>>> The reason I want to do this is we have a custom CRM tool that has a >>>>>> custom mail database and we want to slowly migrate to a real >>>>>> mailserver, we thought of using Apache JAMES to do synchronisation, >>>>>> because at this time we cannot yet realize a full migration. We want >>>>>> to do this in steps. >>>>>> >>>>>> My ultimate goal, regarding synchronisation, is to receive all events >>>>>> that are occurring in the IMAP part of JAMES, so we can update the >>>>>> status of the messages in our CRM-tool. My goal is also to synchronize >>>>>> changes in the CRM-tool back to IMAP-JAMES. But this can easily be >>>>>> done through an IMAP-session. That shouldn't be a problem. >>>>>> >>>>>> I hope anyone can help me out on this, because I find a lack of >>>>>> documentation regarding this subject. >>>>>> >>>>>> Right now, the only way of doing this seems to me creating database >>>>>> triggers (we're using this with PostgreSQL). >>>>>> >>>>>> Thank you in advance. >>>>>> >>>>>> ------------------------------**------------------------------** >>>>>> --------- >>>>>> To unsubscribe, e-mail: >>>>>> server-dev-unsubscribe@james.**apache.org<server-dev-unsubscr...@james.apache.org> >>>>>> For additional commands, e-mail: >>>>>> server-dev-help@james.apache.**org<server-dev-h...@james.apache.org> >>>>>> >>>>>> >>>>> ------------------------------**------------------------------** >>>>> --------- >>>>> To unsubscribe, e-mail: >>>>> server-dev-unsubscribe@james.**apache.org<server-dev-unsubscr...@james.apache.org> >>>>> For additional commands, e-mail: >>>>> server-dev-help@james.apache.**org<server-dev-h...@james.apache.org> >>>>> >>>>> >>> ------------------------------**------------------------------** >>> --------- >>> To unsubscribe, e-mail: >>> server-dev-unsubscribe@james.**apache.org<server-dev-unsubscr...@james.apache.org> >>> For additional commands, e-mail: >>> server-dev-help@james.apache.**org<server-dev-h...@james.apache.org> >>> >>> >>> >> >> > -- > eric | http://about.echarles.net | @echarles > > > ------------------------------**------------------------------**--------- > To unsubscribe, e-mail: > server-dev-unsubscribe@james.**apache.org<server-dev-unsubscr...@james.apache.org> > For additional commands, e-mail: > server-dev-help@james.apache.**org<server-dev-h...@james.apache.org> > >