Hi all,

I would be happy to work on the mailSender plugin.
I propose to make it a component and add it a few functionalities. Namely,
I was thinking about adding an API like:
public int sendMultiContentMessage  (String from, String to, String cc,
String bcc, String subject, String[] contents, List<Attachment>
attachments)  (1)
where contents would be a string array containing all the contents to be
embed in the mail (text, html but also a vCalendar for example) along with
their MIME type.
So for example, if you want to send a mail containing some html part and a
vCalendar, "contents" would look something like :
contents = ['text/html', Your Html code, 'text/calendar', Your vCalendar] .

Another way to achieve this would be to use a single String "body" instead
of "contents", with a specific syntax indicating each part MIME type, thus
allowing us to parse it. For example we could imagine having something like
:
public int sendMultiContentMessage  (String from, String to, String cc,
String bcc, String subject, String body, List<Attachment> attachments) with
body = "{{html}}HTML code{{/html}} {{calendar}}Calendar code{{/calendar}}"
(2) or even
body = "{{mailPart type='text/html'}}HTML code{{/mailPart}} {{mailPart
type="text/calendar"}}Calendar code{{/mailPart}}" (3).
This would be easier to use ((2) most of all), but probably trickier,
slower and for (2), less flexible.

WDYT ? And of course, if there is anything else you would like to change in
the mailSender, let me know !

Thomas

On Wed, Nov 28, 2012 at 3:01 PM, Ludovic Dubost <[email protected]> wrote:

> Hi Jeremie and all,
>
> Note that currently mailsender is used quite a lot by standard XWiki
> Enterprise features like "send page by email", "invitation",
> "registration".
> I agree that the mailsender code could be merged with your own component
> that currently handles reading emails.
>
> Any other opinion on the mail I sent before. I'd like to publish the code
> that generates vcalendar invitations because it could be used in many areas
> but without the mailsender modifications it cannot work and rewriting a
> mail code that handles vcalendar is tough:
>
> So what would be the approach to add a vcalendar part in emails sent by the
> current mailsender ? Can I propose my patches that add the following API:
>
> public int sendHtmlMessage(String from, String to, String cc, String bcc,
> String subject, String body,
>         String alternative, String calendar, List<Attachment> attachments)
>
> which is derived from
>
> public int sendHtmlMessage(String from, String to, String cc, String bcc,
> String subject, String body,
>         String alternative,  List<Attachment> attachments)
>
> Note that this API should actually be:
>
> public int sendHtmlMessage(String from, String to, String cc, String bcc,
> String subject, String html,
>         String alternativeText, List<Attachment> attachments)
>
> As this is the way the fields are used since there is no way to change the
> content type of the emails from these APIs
>
> Ludovic
>
>
>
>
>
> 2012/11/23 Jeremie BOUSQUET <[email protected]>
>
> > Hi Ludovic,
> >
> > If I may invite myself in the discussion, I have the same questions
> > concerning the mail archive app I'm writing, in which I plan to add a
> > "reply" feature on one side, and on the other side add management of
> > vcalendar parts in incoming emails. Naturally, it would then be nice to
> be
> > able to send vcalendar as an email part (or any type of part).
> >
> > For now there's no "reply" feature so of course I do not use the
> mailsender
> > plugin. But there's the beginning of a "mail" component, for now
> dedicated
> > to the mail archive app, and obviously aiming at hiding javamail api
> > behind, and providing facilities to parse emails headers and parts, and
> why
> > not send emails. For now it "knows" how to read and compute most emails
> > content (text, html, headers, attachments, attached emails), though has
> > same limitation (including vcalendar).
> >
> > Currently the api is like that, but is quite draft and unstable (mostly
> the
> > update/create*Page that are not even implemented, and IMO should be
> > removed):
> >
> >
> https://github.com/xwiki-contrib/xwiki-application-mailarchive/blob/master/xwiki-contrib-mail/src/main/java/org/xwiki/contrib/mail/IMailComponent.java
> > What's available from parsed mail body is:
> >
> >
> https://github.com/xwiki-contrib/xwiki-application-mailarchive/blob/master/xwiki-contrib-mail/src/main/java/org/xwiki/contrib/mail/MailContent.java
> >
> > Obviously, when all that reaches a final state, it would be nice for a
> > "mail" and/or "mailsender" component to be shared for xwiki and the mail
> > archive app (and whoever wants to bother with mails) needs,
> >
> > That was for your information,
> >
> > BR,
> > Jeremie
> >
> >
> >
> > 2012/11/23 Ludovic Dubost <[email protected]>
> >
> > > Hi,
> > >
> > > I wanted to discuss about the future of the mailsender plugin ?
> > >
> > > I've been working on a small tool to be able to send a Calendar
> > Invitation
> > > by email from a Meeting Notes AppWithinMinutes application and I found
> > some
> > > limitation in the mailsender plugin, namely you cannot add multipart
> > > alternative email parts in addition to the text and html parts already
> > > supported by the plugin.
> > >
> > > I was able to hack the mailsender plugin to add a vcalendar part but it
> > > does not really sound right to do that since we should support any part
> > of
> > > any content type, but this is a bigger refactoring.
> > >
> > > I was wondering what the future is for the mailsender plugin. Do we
> plan
> > to
> > > make it a component and keep the same functionality ? Is there a plan
> for
> > > an alternative component ?
> > >
> > > And what would be the approach to add a vcalendar part in emails sent
> by
> > > the current mailsender ? This would be needed to support the feature of
> > > sending invitation emails which would be very powerfull.
> > >
> > > Ludovic
> > >
> > > --
> > > Ludovic Dubost
> > > Founder and CEO
> > > Blog: http://blog.ludovic.org/
> > > XWiki: http://www.xwiki.com
> > > Skype: ldubost GTalk: ldubost
> > > _______________________________________________
> > > devs mailing list
> > > [email protected]
> > > http://lists.xwiki.org/mailman/listinfo/devs
> > >
> > _______________________________________________
> > devs mailing list
> > [email protected]
> > http://lists.xwiki.org/mailman/listinfo/devs
> >
>
>
>
> --
> Ludovic Dubost
> Founder and CEO
> Blog: http://blog.ludovic.org/
> XWiki: http://www.xwiki.com
> Skype: ldubost GTalk: ldubost
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to