Hi, I'm thinking implement something like WAHtmlEmailBody... the idea is generate a rich text email from a WAComponent... In this direction I need solve 4 principal Issues
1. Obtein "HTML" from the a component.. I can guess, i'll make something like WAEMailCanvas..for render the email 2. Obtein all resourses referenced by the HTML as Stream and attach it to email message.
3. Replace the reourses's src attribute into html body for attachment reference. 4. Parse the HMTL Code to obtein plain text to add this alternativa to email. Any Clue or Tip, will be welcome.
Best
_______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
diacritics and encoding apart, that would be true if html were something that email clients can actually display (not to mention obtain delivered by mail servers)
On Feb 24, 2011, at 11:38 AM, Diogenes Moreira wrote: > Hi, > > I'm thinking implement something like WAHtmlEmailBody... > the idea is generate a rich text email from a WAComponent... > > In this direction I need solve 4 principal Issues > > 1. Obtein "HTML" from the a component.. I can guess, i'll make something like WAEMailCanvas..for render the email > 2. Obtein all resourses referenced by the HTML as Stream and attach it to email message. > 3. Replace the reourses's src attribute into html body for attachment reference. > 4. Parse the HMTL Code to obtein plain text to add this alternativa to email. > > Any Clue or Tip, will be welcome. > > Best > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Diogenes Moreira
2011/2/24 Diogenes Moreira <[hidden email]>:
> Hi, > I'm thinking implement something like WAHtmlEmailBody... > the idea is generate a rich text email from a WAComponent... > In this direction I need solve 4 principal Issues > 1. Obtein "HTML" from the a component.. I can guess, i'll make something > like WAEMailCanvas..for render the email I don't know whether a WAComponent is really what you want. #call:, #answer:, #confirm: and friends all don't work. > 2. Obtein all resourses referenced by the HTML as Stream and attach it to > email message. Maybe only allowing #document: is easier. > 3. Replace the reourses's src attribute into html body for attachment > reference. > 4. Parse the HMTL Code to obtein plain text to add this alternativa to > email. Maybe it would be simpler to just write a second presenter for that. You'll probably want two new lines after a heading and one after a paragraph. Cheers Philippe _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
There may be some overlap here with http://code.google.com/p/pharo/issues/detail?id=3509 (Multi-part MIME messages for Pharo). I submitted these changes to support using multi-part messages in TF-Login (http://www.squeaksource.com/TFLogin.html).
There's an example of creating and sending multi-part MIME content buried here: http://www.tonyfleig.com/smallthoughts/tfloginguide/Tests/integrating
sendRegistrationConfirmationEmailTo: email confirmUrl: url timeoutMinutes: timo sendEmailTo: toAddress subject: subj text: textBody html: htmlBody On Fri, Feb 25, 2011 at 8:32 AM, Philippe Marschall <[hidden email]> wrote: 2011/2/24 Diogenes Moreira <[hidden email]>: _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Oops. I didn't mean to send so much code. Here is the relevant piece. Sorry to clutter up your email inboxes...
TF
sendEmailTo: toAddress subject: subj text: textBody html: htmlBody "Send multi-part MIME email message." On Fri, Feb 25, 2011 at 11:12 AM, Tony Fleig <[hidden email]> wrote: There may be some overlap here with http://code.google.com/p/pharo/issues/detail?id=3509 (Multi-part MIME messages for Pharo). I submitted these changes to support using multi-part messages in TF-Login (http://www.squeaksource.com/TFLogin.html). _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Hi, Tony
First... Thank you for you answare.
I knew it, in fact, I based the code sended in the previous email in the EMailMessage from Pharo 1.2.. but remember... the seaside code must be dialect independient.
Thank Again On Fri, Feb 25, 2011 at 7:17 AM, Tony Fleig <[hidden email]> wrote:
_______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
It doesn't necessarily *need* to be dialect independent. It's
perfectly reasonable to have add-on functionality available on individual platforms. I'm actually surprised how little that has happened so far... Julian On Fri, Feb 25, 2011 at 3:13 PM, Diogenes Moreira <[hidden email]> wrote: > Hi, Tony > First... Thank you for you answare. > I knew it, in fact, I based the code sended in the previous email in the > EMailMessage from Pharo 1.2.. but remember... the seaside code must be > dialect independient. > Thank Again > On Fri, Feb 25, 2011 at 7:17 AM, Tony Fleig <[hidden email]> wrote: >> >> Oops. I didn't mean to send so much code. Here is the relevant piece. >> Sorry to clutter up your email inboxes... >> >> TF >> >> sendEmailTo: toAddress subject: subj text: textBody html: htmlBody >> "Send multi-part MIME email message." >> >> >> >> >> | sem mm| >> mm := TLMailMessage empty. >> mm addAlternativePart: textBody contents contentType: 'text/plain'. >> mm addAlternativePart: htmlBody contents contentType: 'text/html'. >> sem := mm >> seasideMailMessageFrom: 'Registrar@' , self emailHost >> to: toAddress >> subject: subj. >> [sem send] on: Exception do: [ :ex | ^ false ]. >> ^ true >> >> On Fri, Feb 25, 2011 at 11:12 AM, Tony Fleig <[hidden email]> wrote: >>> >>> There may be some overlap here >>> with http://code.google.com/p/pharo/issues/detail?id=3509 (Multi-part MIME >>> messages for Pharo). I submitted these changes to support using multi-part >>> messages in TF-Login (http://www.squeaksource.com/TFLogin.html). >>> There's an example of creating and sending multi-part MIME content buried >>> here: http://www.tonyfleig.com/smallthoughts/tfloginguide/Tests/integrating >>> >>> >>> sendRegistrationConfirmationEmailTo: email confirmUrl: url >>> timeoutMinutes: timo >>> >>> >>> >>> >>> "Compose and send email. Answer true on success, false on failure." >>> >>> >>> >>> >>> >>> | textBody htmlBody emailOk appName | >>> >>> >>> >>> >>> >>> appName := 'Login Test App'. >>> >>> >>> >>> >>> >>> "Compose a pain text message." >>> >>> >>> >>> >>> textBody := (WriteStream on: String new) >>> >>> >>> >>> >>> << 'This email is in response to your request to register at '; >>> << appName; >>> >>> >>> >>> >>> << '.'; crlf;crlf; >>> >>> >>> >>> >>> << 'Direct your browser to the following URL within ';<< timo >>> asString; >>> >>> >>> >>> >>> << ' minutes to confirm your registration.'; crlf;crlf; >>> >>> >>> >>> >>> << ' '; << url; crlf;crlf; >>> >>> >>> >>> >>> << 'If you did not attempt to register for a'; << appName; >>> >>> >>> >>> >>> << ' account then this message was sent in error and should be >>> ignored.'. >>> >>> >>> >>> >>> >>> "Compose a nice HTML message." >>> >>> >>> >>> >>> htmlBody := WAHtmlCanvas builder fullDocument: true; render: [ :html >>> | >>> >>> >>> >>> >>> html div >>> >>> >>> >>> >>> style: 'font-size:11pt;'; >>> >>> >>> >>> >>> with: [ >>> >>> >>> >>> >>> html div >>> >>> >>> >>> >>> style: 'margin-bottom: 10px;'; >>> >>> >>> >>> >>> with: 'This email is in response to your request to >>> register at ', appName, '.'. >>> >>> >>> >>> >>> html text: 'Click on the link below within ', timo >>> asString, >>> >>> >>> >>> >>> ' minutes to confirm your registration.'. >>> >>> >>> >>> >>> html div >>> >>> >>> >>> >>> style: >>> 'margin-left:20pt;margin-top:10px;margin-bottom:10px;'; >>> >>> >>> >>> >>> with: [ >>> >>> >>> >>> >>> html anchor >>> >>> >>> >>> >>> url: url; >>> >>> >>> >>> >>> with: 'Confirm registration']. >>> >>> >>> >>> >>> html text: 'If the link above is unresponsive, copy and >>> paste the URL', >>> >>> >>> >>> >>> 'below into your browser''s address field to confirm >>> your registration.'. >>> >>> >>> >>> >>> html div >>> >>> >>> >>> >>> style: >>> 'margin-left:20pt;margin-top:10px;margin-bottom:10px;'; >>> >>> >>> >>> >>> with: url. >>> >>> >>> >>> >>> html text: 'If you did not attempt to register for a', >>> appName, >>> >>> >>> >>> >>> ' account then this message was sent in error and >>> should be ignored.']]. >>> >>> >>> >>> >>> >>> "Send the message." >>> >>> >>> >>> >>> (emailOk := self >>> >>> >>> >>> >>> sendEmailTo: email >>> >>> >>> >>> >>> subject: appName, ' Registration - action required' >>> >>> >>> >>> >>> text: textBody html: htmlBody) >>> >>> >>> >>> >>> ifFalse: [ Transcript cr; show: url ]. >>> >>> >>> >>> >>> >>> ^ emailOk >>> >>> ________________________________ >>> >>> sendEmailTo: toAddress subject: subj text: textBody html: htmlBody >>> >>> >>> >>> >>> "Send multi-part MIME email message." >>> >>> >>> >>> >>> >>> | sem mm| >>> >>> >>> >>> >>> mm := TLMailMessage empty. >>> >>> >>> >>> >>> mm addAlternativePart: textBody contents contentType: 'text/plain'. >>> >>> >>> >>> >>> mm addAlternativePart: htmlBody contents contentType: 'text/html'. >>> >>> >>> >>> >>> sem := mm >>> >>> >>> >>> >>> seasideMailMessageFrom: 'Registrar@' , self emailHost >>> >>> >>> >>> >>> to: toAddress >>> >>> >>> >>> >>> subject: subj. >>> >>> >>> >>> >>> [sem send] on: Exception do: [ :ex | ^ false ]. >>> >>> >>> >>> >>> ^ true >>> >>> >>> On Fri, Feb 25, 2011 at 8:32 AM, Philippe Marschall >>> <[hidden email]> wrote: >>>> >>>> 2011/2/24 Diogenes Moreira <[hidden email]>: >>>> > Hi, >>>> > I'm thinking implement something like WAHtmlEmailBody... >>>> > the idea is generate a rich text email from a WAComponent... >>>> > In this direction I need solve 4 principal Issues >>>> > 1. Obtein "HTML" from the a component.. I can guess, i'll make >>>> > something >>>> > like WAEMailCanvas..for render the email >>>> >>>> I don't know whether a WAComponent is really what you want. #call:, >>>> #answer:, #confirm: and friends all don't work. >>>> >>>> > 2. Obtein all resourses referenced by the HTML as Stream and attach >>>> > it to >>>> > email message. >>>> >>>> Maybe only allowing #document: is easier. >>>> >>>> > 3. Replace the reourses's src attribute into html body for attachment >>>> > reference. >>>> > 4. Parse the HMTL Code to obtein plain text to add this alternativa to >>>> > email. >>>> >>>> Maybe it would be simpler to just write a second presenter for that. >>>> You'll probably want two new lines after a heading and one after a >>>> paragraph. >>>> >>>> Cheers >>>> Philippe >>>> _______________________________________________ >>>> seaside mailing list >>>> [hidden email] >>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >>> >> >> >> _______________________________________________ >> seaside mailing list >> [hidden email] >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >> > > > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Julian,
I'm not surprised at all, actually. We use Seaside quite heavily for our applications and that'll only increase as we look at plans to migrate all of our back-office application onto the same platform that we used to build our online client portal. The effort required to extract an internal improvement/add-on and make it useful for others is significant for all but the most trivial of things, and those don't get published because, well, they are trivial... -Boris -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Julian Fitzell Sent: Friday, February 25, 2011 10:39 AM To: Seaside - general discussion Subject: Re: [Seaside] WAEMailMessage, next step It doesn't necessarily *need* to be dialect independent. It's perfectly reasonable to have add-on functionality available on individual platforms. I'm actually surprised how little that has happened so far... Julian On Fri, Feb 25, 2011 at 3:13 PM, Diogenes Moreira <[hidden email]> wrote: > Hi, Tony > First... Thank you for you answare. > I knew it, in fact, I based the code sended in the previous email in > the EMailMessage from Pharo 1.2.. but remember... the seaside code > must be dialect independient. > Thank Again > On Fri, Feb 25, 2011 at 7:17 AM, Tony Fleig <[hidden email]> wrote: >> >> Oops. I didn't mean to send so much code. Here is the relevant piece. >> Sorry to clutter up your email inboxes... >> >> TF >> >> sendEmailTo: toAddress subject: subj text: textBody html: htmlBody >> "Send multi-part MIME email message." >> >> >> >> >> | sem mm| >> mm := TLMailMessage empty. >> mm addAlternativePart: textBody contents contentType: 'text/plain'. >> mm addAlternativePart: htmlBody contents contentType: 'text/html'. >> sem := mm >> seasideMailMessageFrom: 'Registrar@' , self emailHost >> to: toAddress >> subject: subj. >> [sem send] on: Exception do: [ :ex | ^ false ]. >> ^ true >> >> On Fri, Feb 25, 2011 at 11:12 AM, Tony Fleig <[hidden email]> wrote: >>> >>> There may be some overlap here >>> with http://code.google.com/p/pharo/issues/detail?id=3509 >>> (Multi-part MIME messages for Pharo). I submitted these changes to >>> support using multi-part messages in TF-Login (http://www.squeaksource.com/TFLogin.html). >>> There's an example of creating and sending multi-part MIME content >>> buried >>> here: >>> http://www.tonyfleig.com/smallthoughts/tfloginguide/Tests/integratin >>> g >>> >>> >>> sendRegistrationConfirmationEmailTo: email confirmUrl: url >>> timeoutMinutes: timo >>> >>> >>> >>> >>> "Compose and send email. Answer true on success, false on failure." >>> >>> >>> >>> >>> >>> | textBody htmlBody emailOk appName | >>> >>> >>> >>> >>> >>> appName := 'Login Test App'. >>> >>> >>> >>> >>> >>> "Compose a pain text message." >>> >>> >>> >>> >>> textBody := (WriteStream on: String new) >>> >>> >>> >>> >>> << 'This email is in response to your request to register at >>> '; << appName; >>> >>> >>> >>> >>> << '.'; crlf;crlf; >>> >>> >>> >>> >>> << 'Direct your browser to the following URL within ';<< >>> timo asString; >>> >>> >>> >>> >>> << ' minutes to confirm your registration.'; crlf;crlf; >>> >>> >>> >>> >>> << ' '; << url; crlf;crlf; >>> >>> >>> >>> >>> << 'If you did not attempt to register for a'; << appName; >>> >>> >>> >>> >>> << ' account then this message was sent in error and should be >>> ignored.'. >>> >>> >>> >>> >>> >>> "Compose a nice HTML message." >>> >>> >>> >>> >>> htmlBody := WAHtmlCanvas builder fullDocument: true; render: [ >>> :html >>> | >>> >>> >>> >>> >>> html div >>> >>> >>> >>> >>> style: 'font-size:11pt;'; >>> >>> >>> >>> >>> with: [ >>> >>> >>> >>> >>> html div >>> >>> >>> >>> >>> style: 'margin-bottom: 10px;'; >>> >>> >>> >>> >>> with: 'This email is in response to your request >>> to register at ', appName, '.'. >>> >>> >>> >>> >>> html text: 'Click on the link below within ', timo >>> asString, >>> >>> >>> >>> >>> ' minutes to confirm your registration.'. >>> >>> >>> >>> >>> html div >>> >>> >>> >>> >>> style: >>> 'margin-left:20pt;margin-top:10px;margin-bottom:10px;'; >>> >>> >>> >>> >>> with: [ >>> >>> >>> >>> >>> html anchor >>> >>> >>> >>> >>> url: url; >>> >>> >>> >>> >>> with: 'Confirm registration']. >>> >>> >>> >>> >>> html text: 'If the link above is unresponsive, copy >>> and paste the URL', >>> >>> >>> >>> >>> 'below into your browser''s address field to >>> confirm your registration.'. >>> >>> >>> >>> >>> html div >>> >>> >>> >>> >>> style: >>> 'margin-left:20pt;margin-top:10px;margin-bottom:10px;'; >>> >>> >>> >>> >>> with: url. >>> >>> >>> >>> >>> html text: 'If you did not attempt to register for >>> a', appName, >>> >>> >>> >>> >>> ' account then this message was sent in error >>> and should be ignored.']]. >>> >>> >>> >>> >>> >>> "Send the message." >>> >>> >>> >>> >>> (emailOk := self >>> >>> >>> >>> >>> sendEmailTo: email >>> >>> >>> >>> >>> subject: appName, ' Registration - action required' >>> >>> >>> >>> >>> text: textBody html: htmlBody) >>> >>> >>> >>> >>> ifFalse: [ Transcript cr; show: url ]. >>> >>> >>> >>> >>> >>> ^ emailOk >>> >>> ________________________________ >>> >>> sendEmailTo: toAddress subject: subj text: textBody html: htmlBody >>> >>> >>> >>> >>> "Send multi-part MIME email message." >>> >>> >>> >>> >>> >>> | sem mm| >>> >>> >>> >>> >>> mm := TLMailMessage empty. >>> >>> >>> >>> >>> mm addAlternativePart: textBody contents contentType: 'text/plain'. >>> >>> >>> >>> >>> mm addAlternativePart: htmlBody contents contentType: 'text/html'. >>> >>> >>> >>> >>> sem := mm >>> >>> >>> >>> >>> seasideMailMessageFrom: 'Registrar@' , self emailHost >>> >>> >>> >>> >>> to: toAddress >>> >>> >>> >>> >>> subject: subj. >>> >>> >>> >>> >>> [sem send] on: Exception do: [ :ex | ^ false ]. >>> >>> >>> >>> >>> ^ true >>> >>> >>> On Fri, Feb 25, 2011 at 8:32 AM, Philippe Marschall >>> <[hidden email]> wrote: >>>> >>>> 2011/2/24 Diogenes Moreira <[hidden email]>: >>>> > Hi, >>>> > I'm thinking implement something like WAHtmlEmailBody... >>>> > the idea is generate a rich text email from a WAComponent... >>>> > In this direction I need solve 4 principal Issues 1. Obtein >>>> > "HTML" from the a component.. I can guess, i'll make something >>>> > like WAEMailCanvas..for render the email >>>> >>>> I don't know whether a WAComponent is really what you want. #call:, >>>> #answer:, #confirm: and friends all don't work. >>>> >>>> > 2. Obtein all resourses referenced by the HTML as Stream and >>>> > attach it to email message. >>>> >>>> Maybe only allowing #document: is easier. >>>> >>>> > 3. Replace the reourses's src attribute into html body for >>>> > attachment reference. >>>> > 4. Parse the HMTL Code to obtein plain text to add this >>>> > alternativa to email. >>>> >>>> Maybe it would be simpler to just write a second presenter for that. >>>> You'll probably want two new lines after a heading and one after a >>>> paragraph. >>>> >>>> Cheers >>>> Philippe >>>> _______________________________________________ >>>> seaside mailing list >>>> [hidden email] >>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >>> >> >> >> _______________________________________________ >> seaside mailing list >> [hidden email] >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >> > > > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Well, I'm not surprised by *that*, really. But I guess I always
expected the vendors would provide more add-on value for their individual platforms... <shrug> Julian On Fri, Feb 25, 2011 at 3:51 PM, Boris Popov, DeepCove Labs <[hidden email]> wrote: > Julian, > > I'm not surprised at all, actually. We use Seaside quite heavily for our applications and that'll only increase as we look at plans to migrate all of our back-office application onto the same platform that we used to build our online client portal. The effort required to extract an internal improvement/add-on and make it useful for others is significant for all but the most trivial of things, and those don't get published because, well, they are trivial... > > -Boris > > -----Original Message----- > From: [hidden email] [mailto:[hidden email]] On Behalf Of Julian Fitzell > Sent: Friday, February 25, 2011 10:39 AM > To: Seaside - general discussion > Subject: Re: [Seaside] WAEMailMessage, next step > > It doesn't necessarily *need* to be dialect independent. It's perfectly reasonable to have add-on functionality available on individual platforms. I'm actually surprised how little that has happened so far... > > Julian > > On Fri, Feb 25, 2011 at 3:13 PM, Diogenes Moreira <[hidden email]> wrote: >> Hi, Tony >> First... Thank you for you answare. >> I knew it, in fact, I based the code sended in the previous email in >> the EMailMessage from Pharo 1.2.. but remember... the seaside code >> must be dialect independient. >> Thank Again >> On Fri, Feb 25, 2011 at 7:17 AM, Tony Fleig <[hidden email]> wrote: >>> >>> Oops. I didn't mean to send so much code. Here is the relevant piece. >>> Sorry to clutter up your email inboxes... >>> >>> TF >>> >>> sendEmailTo: toAddress subject: subj text: textBody html: htmlBody >>> "Send multi-part MIME email message." >>> >>> >>> >>> >>> | sem mm| >>> mm := TLMailMessage empty. >>> mm addAlternativePart: textBody contents contentType: 'text/plain'. >>> mm addAlternativePart: htmlBody contents contentType: 'text/html'. >>> sem := mm >>> seasideMailMessageFrom: 'Registrar@' , self emailHost >>> to: toAddress >>> subject: subj. >>> [sem send] on: Exception do: [ :ex | ^ false ]. >>> ^ true >>> >>> On Fri, Feb 25, 2011 at 11:12 AM, Tony Fleig <[hidden email]> wrote: >>>> >>>> There may be some overlap here >>>> with http://code.google.com/p/pharo/issues/detail?id=3509 >>>> (Multi-part MIME messages for Pharo). I submitted these changes to >>>> support using multi-part messages in TF-Login (http://www.squeaksource.com/TFLogin.html). >>>> There's an example of creating and sending multi-part MIME content >>>> buried >>>> here: >>>> http://www.tonyfleig.com/smallthoughts/tfloginguide/Tests/integratin >>>> g >>>> >>>> >>>> sendRegistrationConfirmationEmailTo: email confirmUrl: url >>>> timeoutMinutes: timo >>>> >>>> >>>> >>>> >>>> "Compose and send email. Answer true on success, false on failure." >>>> >>>> >>>> >>>> >>>> >>>> | textBody htmlBody emailOk appName | >>>> >>>> >>>> >>>> >>>> >>>> appName := 'Login Test App'. >>>> >>>> >>>> >>>> >>>> >>>> "Compose a pain text message." >>>> >>>> >>>> >>>> >>>> textBody := (WriteStream on: String new) >>>> >>>> >>>> >>>> >>>> << 'This email is in response to your request to register at >>>> '; << appName; >>>> >>>> >>>> >>>> >>>> << '.'; crlf;crlf; >>>> >>>> >>>> >>>> >>>> << 'Direct your browser to the following URL within ';<< >>>> timo asString; >>>> >>>> >>>> >>>> >>>> << ' minutes to confirm your registration.'; crlf;crlf; >>>> >>>> >>>> >>>> >>>> << ' '; << url; crlf;crlf; >>>> >>>> >>>> >>>> >>>> << 'If you did not attempt to register for a'; << appName; >>>> >>>> >>>> >>>> >>>> << ' account then this message was sent in error and should be >>>> ignored.'. >>>> >>>> >>>> >>>> >>>> >>>> "Compose a nice HTML message." >>>> >>>> >>>> >>>> >>>> htmlBody := WAHtmlCanvas builder fullDocument: true; render: [ >>>> :html >>>> | >>>> >>>> >>>> >>>> >>>> html div >>>> >>>> >>>> >>>> >>>> style: 'font-size:11pt;'; >>>> >>>> >>>> >>>> >>>> with: [ >>>> >>>> >>>> >>>> >>>> html div >>>> >>>> >>>> >>>> >>>> style: 'margin-bottom: 10px;'; >>>> >>>> >>>> >>>> >>>> with: 'This email is in response to your request >>>> to register at ', appName, '.'. >>>> >>>> >>>> >>>> >>>> html text: 'Click on the link below within ', timo >>>> asString, >>>> >>>> >>>> >>>> >>>> ' minutes to confirm your registration.'. >>>> >>>> >>>> >>>> >>>> html div >>>> >>>> >>>> >>>> >>>> style: >>>> 'margin-left:20pt;margin-top:10px;margin-bottom:10px;'; >>>> >>>> >>>> >>>> >>>> with: [ >>>> >>>> >>>> >>>> >>>> html anchor >>>> >>>> >>>> >>>> >>>> url: url; >>>> >>>> >>>> >>>> >>>> with: 'Confirm registration']. >>>> >>>> >>>> >>>> >>>> html text: 'If the link above is unresponsive, copy >>>> and paste the URL', >>>> >>>> >>>> >>>> >>>> 'below into your browser''s address field to >>>> confirm your registration.'. >>>> >>>> >>>> >>>> >>>> html div >>>> >>>> >>>> >>>> >>>> style: >>>> 'margin-left:20pt;margin-top:10px;margin-bottom:10px;'; >>>> >>>> >>>> >>>> >>>> with: url. >>>> >>>> >>>> >>>> >>>> html text: 'If you did not attempt to register for >>>> a', appName, >>>> >>>> >>>> >>>> >>>> ' account then this message was sent in error >>>> and should be ignored.']]. >>>> >>>> >>>> >>>> >>>> >>>> "Send the message." >>>> >>>> >>>> >>>> >>>> (emailOk := self >>>> >>>> >>>> >>>> >>>> sendEmailTo: email >>>> >>>> >>>> >>>> >>>> subject: appName, ' Registration - action required' >>>> >>>> >>>> >>>> >>>> text: textBody html: htmlBody) >>>> >>>> >>>> >>>> >>>> ifFalse: [ Transcript cr; show: url ]. >>>> >>>> >>>> >>>> >>>> >>>> ^ emailOk >>>> >>>> ________________________________ >>>> >>>> sendEmailTo: toAddress subject: subj text: textBody html: htmlBody >>>> >>>> >>>> >>>> >>>> "Send multi-part MIME email message." >>>> >>>> >>>> >>>> >>>> >>>> | sem mm| >>>> >>>> >>>> >>>> >>>> mm := TLMailMessage empty. >>>> >>>> >>>> >>>> >>>> mm addAlternativePart: textBody contents contentType: 'text/plain'. >>>> >>>> >>>> >>>> >>>> mm addAlternativePart: htmlBody contents contentType: 'text/html'. >>>> >>>> >>>> >>>> >>>> sem := mm >>>> >>>> >>>> >>>> >>>> seasideMailMessageFrom: 'Registrar@' , self emailHost >>>> >>>> >>>> >>>> >>>> to: toAddress >>>> >>>> >>>> >>>> >>>> subject: subj. >>>> >>>> >>>> >>>> >>>> [sem send] on: Exception do: [ :ex | ^ false ]. >>>> >>>> >>>> >>>> >>>> ^ true >>>> >>>> >>>> On Fri, Feb 25, 2011 at 8:32 AM, Philippe Marschall >>>> <[hidden email]> wrote: >>>>> >>>>> 2011/2/24 Diogenes Moreira <[hidden email]>: >>>>> > Hi, >>>>> > I'm thinking implement something like WAHtmlEmailBody... >>>>> > the idea is generate a rich text email from a WAComponent... >>>>> > In this direction I need solve 4 principal Issues 1. Obtein >>>>> > "HTML" from the a component.. I can guess, i'll make something >>>>> > like WAEMailCanvas..for render the email >>>>> >>>>> I don't know whether a WAComponent is really what you want. #call:, >>>>> #answer:, #confirm: and friends all don't work. >>>>> >>>>> > 2. Obtein all resourses referenced by the HTML as Stream and >>>>> > attach it to email message. >>>>> >>>>> Maybe only allowing #document: is easier. >>>>> >>>>> > 3. Replace the reourses's src attribute into html body for >>>>> > attachment reference. >>>>> > 4. Parse the HMTL Code to obtein plain text to add this >>>>> > alternativa to email. >>>>> >>>>> Maybe it would be simpler to just write a second presenter for that. >>>>> You'll probably want two new lines after a heading and one after a >>>>> paragraph. >>>>> >>>>> Cheers >>>>> Philippe >>>>> _______________________________________________ >>>>> seaside mailing list >>>>> [hidden email] >>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >>>> >>> >>> >>> _______________________________________________ >>> seaside mailing list >>> [hidden email] >>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >>> >> >> >> _______________________________________________ >> seaside mailing list >> [hidden email] >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >> >> > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
I'm thankful enough that they provide basic port and tools to stay up-to-day, everything else would be gravy. It seems that the market for vendors is decided by much bigger factors than value-add for common frameworks,
- you want free? Squeak/Pharo - you want free persistency? GemStone - you want commercial support and large toolset? VisualWorks - you already use VA? VA :-p -Boris -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Julian Fitzell Sent: Friday, February 25, 2011 4:41 PM To: Seaside - general discussion Subject: Re: [Seaside] WAEMailMessage, next step Well, I'm not surprised by *that*, really. But I guess I always expected the vendors would provide more add-on value for their individual platforms... <shrug> Julian On Fri, Feb 25, 2011 at 3:51 PM, Boris Popov, DeepCove Labs <[hidden email]> wrote: > Julian, > > I'm not surprised at all, actually. We use Seaside quite heavily for our applications and that'll only increase as we look at plans to migrate all of our back-office application onto the same platform that we used to build our online client portal. The effort required to extract an internal improvement/add-on and make it useful for others is significant for all but the most trivial of things, and those don't get published because, well, they are trivial... > > -Boris > > -----Original Message----- > From: [hidden email] > [mailto:[hidden email]] On Behalf Of > Julian Fitzell > Sent: Friday, February 25, 2011 10:39 AM > To: Seaside - general discussion > Subject: Re: [Seaside] WAEMailMessage, next step > > It doesn't necessarily *need* to be dialect independent. It's perfectly reasonable to have add-on functionality available on individual platforms. I'm actually surprised how little that has happened so far... > > Julian > > On Fri, Feb 25, 2011 at 3:13 PM, Diogenes Moreira <[hidden email]> wrote: >> Hi, Tony >> First... Thank you for you answare. >> I knew it, in fact, I based the code sended in the previous email in >> the EMailMessage from Pharo 1.2.. but remember... the seaside code >> must be dialect independient. >> Thank Again >> On Fri, Feb 25, 2011 at 7:17 AM, Tony Fleig <[hidden email]> wrote: >>> >>> Oops. I didn't mean to send so much code. Here is the relevant piece. >>> Sorry to clutter up your email inboxes... >>> >>> TF >>> >>> sendEmailTo: toAddress subject: subj text: textBody html: htmlBody >>> "Send multi-part MIME email message." >>> >>> >>> >>> >>> | sem mm| >>> mm := TLMailMessage empty. >>> mm addAlternativePart: textBody contents contentType: 'text/plain'. >>> mm addAlternativePart: htmlBody contents contentType: 'text/html'. >>> sem := mm >>> seasideMailMessageFrom: 'Registrar@' , self emailHost >>> to: toAddress >>> subject: subj. >>> [sem send] on: Exception do: [ :ex | ^ false ]. >>> ^ true >>> >>> On Fri, Feb 25, 2011 at 11:12 AM, Tony Fleig <[hidden email]> wrote: >>>> >>>> There may be some overlap here >>>> with http://code.google.com/p/pharo/issues/detail?id=3509 >>>> (Multi-part MIME messages for Pharo). I submitted these changes to >>>> support using multi-part messages in TF-Login (http://www.squeaksource.com/TFLogin.html). >>>> There's an example of creating and sending multi-part MIME content >>>> buried >>>> here: >>>> http://www.tonyfleig.com/smallthoughts/tfloginguide/Tests/integrati >>>> n >>>> g >>>> >>>> >>>> sendRegistrationConfirmationEmailTo: email confirmUrl: url >>>> timeoutMinutes: timo >>>> >>>> >>>> >>>> >>>> "Compose and send email. Answer true on success, false on failure." >>>> >>>> >>>> >>>> >>>> >>>> | textBody htmlBody emailOk appName | >>>> >>>> >>>> >>>> >>>> >>>> appName := 'Login Test App'. >>>> >>>> >>>> >>>> >>>> >>>> "Compose a pain text message." >>>> >>>> >>>> >>>> >>>> textBody := (WriteStream on: String new) >>>> >>>> >>>> >>>> >>>> << 'This email is in response to your request to register >>>> at '; << appName; >>>> >>>> >>>> >>>> >>>> << '.'; crlf;crlf; >>>> >>>> >>>> >>>> >>>> << 'Direct your browser to the following URL within ';<< >>>> timo asString; >>>> >>>> >>>> >>>> >>>> << ' minutes to confirm your registration.'; crlf;crlf; >>>> >>>> >>>> >>>> >>>> << ' '; << url; crlf;crlf; >>>> >>>> >>>> >>>> >>>> << 'If you did not attempt to register for a'; << appName; >>>> >>>> >>>> >>>> >>>> << ' account then this message was sent in error and should >>>> be ignored.'. >>>> >>>> >>>> >>>> >>>> >>>> "Compose a nice HTML message." >>>> >>>> >>>> >>>> >>>> htmlBody := WAHtmlCanvas builder fullDocument: true; render: [ >>>> :html >>>> | >>>> >>>> >>>> >>>> >>>> html div >>>> >>>> >>>> >>>> >>>> style: 'font-size:11pt;'; >>>> >>>> >>>> >>>> >>>> with: [ >>>> >>>> >>>> >>>> >>>> html div >>>> >>>> >>>> >>>> >>>> style: 'margin-bottom: 10px;'; >>>> >>>> >>>> >>>> >>>> with: 'This email is in response to your >>>> request to register at ', appName, '.'. >>>> >>>> >>>> >>>> >>>> html text: 'Click on the link below within ', timo >>>> asString, >>>> >>>> >>>> >>>> >>>> ' minutes to confirm your registration.'. >>>> >>>> >>>> >>>> >>>> html div >>>> >>>> >>>> >>>> >>>> style: >>>> 'margin-left:20pt;margin-top:10px;margin-bottom:10px;'; >>>> >>>> >>>> >>>> >>>> with: [ >>>> >>>> >>>> >>>> >>>> html anchor >>>> >>>> >>>> >>>> >>>> url: url; >>>> >>>> >>>> >>>> >>>> with: 'Confirm registration']. >>>> >>>> >>>> >>>> >>>> html text: 'If the link above is unresponsive, copy >>>> and paste the URL', >>>> >>>> >>>> >>>> >>>> 'below into your browser''s address field to >>>> confirm your registration.'. >>>> >>>> >>>> >>>> >>>> html div >>>> >>>> >>>> >>>> >>>> style: >>>> 'margin-left:20pt;margin-top:10px;margin-bottom:10px;'; >>>> >>>> >>>> >>>> >>>> with: url. >>>> >>>> >>>> >>>> >>>> html text: 'If you did not attempt to register for >>>> a', appName, >>>> >>>> >>>> >>>> >>>> ' account then this message was sent in error >>>> and should be ignored.']]. >>>> >>>> >>>> >>>> >>>> >>>> "Send the message." >>>> >>>> >>>> >>>> >>>> (emailOk := self >>>> >>>> >>>> >>>> >>>> sendEmailTo: email >>>> >>>> >>>> >>>> >>>> subject: appName, ' Registration - action required' >>>> >>>> >>>> >>>> >>>> text: textBody html: htmlBody) >>>> >>>> >>>> >>>> >>>> ifFalse: [ Transcript cr; show: url ]. >>>> >>>> >>>> >>>> >>>> >>>> ^ emailOk >>>> >>>> ________________________________ >>>> >>>> sendEmailTo: toAddress subject: subj text: textBody html: htmlBody >>>> >>>> >>>> >>>> >>>> "Send multi-part MIME email message." >>>> >>>> >>>> >>>> >>>> >>>> | sem mm| >>>> >>>> >>>> >>>> >>>> mm := TLMailMessage empty. >>>> >>>> >>>> >>>> >>>> mm addAlternativePart: textBody contents contentType: 'text/plain'. >>>> >>>> >>>> >>>> >>>> mm addAlternativePart: htmlBody contents contentType: 'text/html'. >>>> >>>> >>>> >>>> >>>> sem := mm >>>> >>>> >>>> >>>> >>>> seasideMailMessageFrom: 'Registrar@' , self emailHost >>>> >>>> >>>> >>>> >>>> to: toAddress >>>> >>>> >>>> >>>> >>>> subject: subj. >>>> >>>> >>>> >>>> >>>> [sem send] on: Exception do: [ :ex | ^ false ]. >>>> >>>> >>>> >>>> >>>> ^ true >>>> >>>> >>>> On Fri, Feb 25, 2011 at 8:32 AM, Philippe Marschall >>>> <[hidden email]> wrote: >>>>> >>>>> 2011/2/24 Diogenes Moreira <[hidden email]>: >>>>> > Hi, >>>>> > I'm thinking implement something like WAHtmlEmailBody... >>>>> > the idea is generate a rich text email from a WAComponent... >>>>> > In this direction I need solve 4 principal Issues 1. Obtein >>>>> > "HTML" from the a component.. I can guess, i'll make something >>>>> > like WAEMailCanvas..for render the email >>>>> >>>>> I don't know whether a WAComponent is really what you want. >>>>> #call:, #answer:, #confirm: and friends all don't work. >>>>> >>>>> > 2. Obtein all resourses referenced by the HTML as Stream and >>>>> > attach it to email message. >>>>> >>>>> Maybe only allowing #document: is easier. >>>>> >>>>> > 3. Replace the reourses's src attribute into html body for >>>>> > attachment reference. >>>>> > 4. Parse the HMTL Code to obtein plain text to add this >>>>> > alternativa to email. >>>>> >>>>> Maybe it would be simpler to just write a second presenter for that. >>>>> You'll probably want two new lines after a heading and one after a >>>>> paragraph. >>>>> >>>>> Cheers >>>>> Philippe >>>>> _______________________________________________ >>>>> seaside mailing list >>>>> [hidden email] >>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >>>> >>> >>> >>> _______________________________________________ >>> seaside mailing list >>> [hidden email] >>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >>> >> >> >> _______________________________________________ >> seaside mailing list >> [hidden email] >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >> >> > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Free forum by Nabble | Edit this page |