Sorry, in Lighthouse it seemed as though the ticket was going to merb core.
I'll be more careful next time.

..tony..

On Mon, Apr 26, 2010 at 2:48 PM, Pavel Kunc <[email protected]> wrote:

> Fixed in the master.
>
> Please don't add issues to the merb-more. We don't have merb-more for
> some time now and merb-mailer is part of the merb repository anyway.
>
> Any issues goes to the merb project please.
>
> Pavel
>
> On Apr 26, 7:35 pm, Tony Mann <[email protected]> wrote:
> > I created an issue:
> >
> > https://merb.lighthouseapp.com/projects/7435-merb-more/tickets/35-can...
> >
> > <https://merb.lighthouseapp.com/projects/7435-merb-more/tickets/35-can..
> .>I
> > also included a revised change that should (1) be compatible with Ruby
> 1.9
> > and (2) handle the case where @mail.to is a String.
> >
> > ..tony..
> >
> >
> >
> >
> >
> > On Sat, Apr 24, 2010 at 2:33 PM, Pavel Kunc <[email protected]>
> wrote:
> > > Being all that said, I actually think it deserves Lighthouse issue,
> > > please create one.
> >
> > > Pavel
> >
> > > On Apr 24, 10:25 pm, Pavel Kunc <[email protected]> wrote:
> > > > Hi Tony,
> >
> > > > Being the author of the change I explain my rationale behind it.
> >
> > > > The old Merb code is not correct either because it doesn't work in
> > > > Ruby 1.9.1. The behaviour of Array#to_s did change and so the old
> Merb
> > > > code didn't work at all.
> >
> > > > The @mail.to.to_s.split() is also unnecessary if the @mail.to array
> > > > would look like ['email', 'email'], than you can pass it directly to
> > > > the send_message(). However it seems that code is there to catch
> cases
> > > > like ['email, email', 'email'] to become and array of three elements.
> > > > Which actually seems like your case.
> >
> > > > Also the fact that the MailFactory does return only array might be
> > > > true but using merb_exceptions I found that the @mail.to can
> actually
> > > > be string in some circumstances. I don't remember, it's some time so
> > > > we can revisit this, if that is not true than we could actually make
> > > > all work on all Rubies with something like:
> >
> > > > @mail.to.join(',').split(/[,;]/)
> >
> > > > I have no problem resolving the issue to some state which will work
> on
> > > > 1.8.x and 1.9.x and for merb_exceptions :-)
> >
> > > > Pavel
> >
> > > > On Apr 14, 8:10 pm, Tony Mann <[email protected]> wrote:
> >
> > > > > Currently, merb-mailer 1.1 will not properly support a
> comma-separated
> > > list
> > > > > of addresses nor an array of addresses if you are using SMTP. Here
> is
> > > why:
> >
> > > > > MailFactory has a bug that prevents it from supporting an array of
> > > > > addresses. If you try to use an array, the addresses get smashed
> > > together.
> > > > > The problem is in their add_header method:
> >
> > > > > def add_header(header, value)
> > > > >     value = quoted_printable_with_instruction(value, @charset) if
> > > header ==
> > > > > 'subject'
> > > > >     value = quote_address_if_necessary(value, @charset) if %w[from
> to
> > > cc bcc
> > > > > reply-to].include?(header.downcase)
> > > > >     @headers << "#{header}: #{value}"
> > > > > end
> >
> > > > > The quote_address_if_necessary call handles an array, but then it
> gets
> > > > > converted into a string when added to @headers. Oops.
> >
> > > > > So, MailFactory requires that you pass in a comma-separate list.
> > > However,
> > > > > later on in merb-mailer, we have this code:
> >
> > > > > smtp.start(config[:domain], config[:user], config[:pass],
> > > config[:auth]) {
> > > > > |smtp|
> > > > >     to = @mail.to.is_a?(String) ? @mail.to.split(/[,;]/) : @
> mail.to
> > > > >     smtp.send_message(@mail.to_s, @mail.from.first, to)
> >
> > > > > }
> >
> > > > > Unfortunately, this will not work, because @mail.to is never a
> String!
> > > Why?
> > > > > Because MailFactory always returns an array with one item in it (to
> > > support
> > > > > multiple headers with the same tag). As mentioned above, the single
> > > item in
> > > > > that array is always a String. So the whole check is no good and
> > > > > unnecessary. The old merb-mailer code looked like this:
> >
> > > > > smtp.start(config[:domain], config[:user], config[:pass],
> > > config[:auth]) {
> > > > > |smtp|
> > > > >     smtp.send_message(@mail.to_s, @mail.from.first,
> > > > > @mail.to.to_s.split(/[,;]/))
> >
> > > > > }
> >
> > > > > This is correct code, and the 1.1 code should be reverted to this.
> >
> > > > > Now, I have not posted a Lighthouse ticket quite yet, because I am
> > > afraid I
> > > > > am missing something. Per above, merb-mailer 1.1 breaks sending
> mail
> > > via
> > > > > SMTP to multiple recipients, and I find it hard to believe no one
> else
> > > has
> > > > > encountered this issue yet. Can anyone enlighten me?
> >
> > > > > ..tony..
> >
> > > > --
> > > > You received this message because you are subscribed to the Google
> Groups
> > > "merb" group.
> > > > To post to this group, send email to [email protected].
> > > > To unsubscribe from this group, send email to
> > > [email protected]<merb%[email protected]><
> merb%[email protected]<merb%[email protected]>
> >.
> > > > For more options, visit this group athttp://
> > > groups.google.com/group/merb?hl=en.
> >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups
> > > "merb" group.
> > > To post to this group, send email to [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected]<merb%[email protected]><
> merb%[email protected]<merb%[email protected]>
> >.
> > > For more options, visit this group at
> > >http://groups.google.com/group/merb?hl=en.
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> "merb" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> [email protected] <merb%[email protected]>.
> > For more options, visit this group athttp://
> groups.google.com/group/merb?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "merb" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected] <merb%[email protected]>.
> For more options, visit this group at
> http://groups.google.com/group/merb?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"merb" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to [email protected].
For more options, visit this group at http://groups.google.com/group/merb?hl=en.

Reply via email to