Hello, I have to send mail to multiple recipients. My table is named people and has first_name,last_name, email1 , email2, email3 for each person. i have put people in various mailinglist .For example first mailinglist where first_name is john or say the second mailing list contains people of british origin.etc the relation between mailinglist and people is many to many. params[:ml] gives me the id of the mailing list to which mail is to be sent. In the controller i have def sendmail @mailinglists=Mailinglist.find_all_by_id(params[:ml]) @mailinglists.each do |ml| @people Person.find(:all,:include=>:mailinglists,:conditions=>[''mailinglist_id=?'',"#{params[:ml]}"]) UserMailer.deliver_send_mail(@people) end end In the mailer model which i have named as user_mailer i have class UserMailer < ActionMailer::Base def send_mail(people) #---------------------------------------- recipients people.email1 # this generates error undefined method email1 #--------------------------------------------------- from "christoph.von.luttitz-22st+ISarquReoB3siuDrpaahg+LTQ92@public.gmane.org" subject "Thank you This is a test" body "This is a test" end end The recipients people.email1 generates an error undefined method email1 . If i use the same code for person instead of people i.e if i send mail to only one person and pass person as a parameter as def send_mail(person) recipients person.email1 ... ... then it works fine but i am able to send an email to only one person. Please tell me what am i doing wrong and how do i proceed. Thank you. Regards, Ank -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Am 29.12.2007 um 06:41 schrieb Ank Ag:> > Hello, > I have to send mail to multiple recipients. My table is named people > and has > first_name,last_name, email1 , email2, email3 for each person. i have > put people in various mailinglist .For example first mailinglist where > first_name is john or say the second mailing list contains people of > british origin.etc > > the relation between mailinglist and people is many to many. > params[:ml] gives me the id of the mailing list to which mail is to be > sent. > In the controller i have > > def sendmail > @mailinglists=Mailinglist.find_all_by_id(params[:ml]) > @mailinglists.each do |ml| > @people > Person > .find > (:all > ,:include > =>:mailinglists,:conditions=>[''mailinglist_id=?'',"#{params[:ml]}"]) > UserMailer.deliver_send_mail(@people)@people.each do |p| UserMailer.deliver_send_mail(p) end Perhaps this works.> > end > end > > In the mailer model which i have named as user_mailer i have > > class UserMailer < ActionMailer::Base > def send_mail(people) > #---------------------------------------- > recipients people.email1 > # this generates error undefined method email1 > #--------------------------------------------------- > > from "christoph.von.luttitz-22st+ISarquReoB3siuDrpaahg+LTQ92@public.gmane.org" > subject "Thank you This is a test" > body "This is a test" > end > end > > > > The recipients people.email1 generates an error undefined method > email1 > . > If i use the same code for person instead of people i.e if i send mail > to only one person and pass person as a parameter as > > def send_mail(person) > recipients person.email1 > ... > ... > then it works fine but i am able to send an email to only one person. > Please tell me what am i doing wrong and how do i proceed. > > Thank you. > Regards, > Ank > -- > Posted via http://www.ruby-forum.com/. > > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
If you have thousands of email addresses then you must use ar_mailer. It is asynchronous and will not impact the performance of your Rails app. Check out the Rails Way book for a good discussion on this issue. On Dec 28, 2007 9:41 PM, Ank Ag <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> > Hello, > I have to send mail to multiple recipients. My table is named people > and has > first_name,last_name, email1 , email2, email3 for each person. i have > put people in various mailinglist .For example first mailinglist where > first_name is john or say the second mailing list contains people of > british origin.etc > >-- http://www.rubyplus.org/ Free Ruby and Rails Screencasts --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Dec 28, 2007, at 11:41 PM, Ank Ag wrote:> > Hello, > I have to send mail to multiple recipients. My table is named > people > and has > first_name,last_name, email1 , email2, email3 for each person. i have > put people in various mailinglist .For example first mailinglist where > first_name is john or say the second mailing list contains people of > british origin.etc >Just a matter of opinion, but you might consider moving your email addresses to another table so you don''t have to limit your users to three. I like to use a construct called "contact number" which can be a phone number (landline or cell), fax, email, page, url, im, whatever. Then you can have as many as you want and iterate through them as a collection. But that''s just a matter of style and need.> the relation between mailinglist and people is many to many. > params[:ml] gives me the id of the mailing list to which mail is to be > sent. > In the controller i have > > def sendmail > @mailinglists=Mailinglist.find_all_by_id(params[:ml]) > @mailinglists.each do |ml| > @people > Person.find(:all,:include=>:mailinglists,:conditions=> > [''mailinglist_id=?'',"#{params[:ml]}"]) > UserMailer.deliver_send_mail(@people) > end > end > > In the mailer model which i have named as user_mailer i have > > class UserMailer < ActionMailer::Base > def send_mail(people) > #---------------------------------------- > recipients people.email1 > # this generates error undefined method email1 > #--------------------------------------------------- >recipients is an array, so you need to build all of the addresses as an array. The collection people does not have a method called "email1", that is an attribute of each person object. So you''d need to do something like this people.each do |person| # this is more personal than just the email address, but that would work too recipients << "#{person.first_name} #{person.last_name} <# {person.email1}>" end I don''t know about the performance of ActionMailer with thousands of recipients, so Bala''s advice might be your best bet. And I would not use Jochen''s advice (absolutely no offense intended, Jochen!) and put each delivery in a loop. In that case, you''d be sending a single message for every recipient instead of sending one message to your outbound server and letting it handle the multiple recipients. Oh, one other thing: use bcc instead of recipients. It''s generally considered bad etiquette to send out a mass email and put everyone''s address in the to line. Peace, Phillip --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Dec 29, 2007 12:41 AM, Ank Ag <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> In the mailer model which i have named as user_mailer i have > > class UserMailer < ActionMailer::Base > def send_mail(people) > #---------------------------------------- > recipients people.email1 > # this generates error undefined method email1 > #---------------------------------------------------> > The recipients people.email1 generates an error undefined method email1A little ruby should fix this. Instead of recipients people.email1 try recipients people.map {|person| person.email1} -- Rick DeNatale My blog on Ruby http://talklikeaduck.denhaven2.com/ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Jochen Kaechelin wrote:> Am 29.12.2007 um 06:41 schrieb Ank Ag: > >> params[:ml] gives me the id of the mailing list to which mail is to be >> ,:include >> =>:mailinglists,:conditions=>[''mailinglist_id=?'',"#{params[:ml]}"]) >> UserMailer.deliver_send_mail(@people) > > @people.each do |p| > UserMailer.deliver_send_mail(p) > end > > Perhaps this works.Hi thanks it works....Do you have a better idea so that I collect all the email address at once and call UserMailer.deliver only once with different address seperated by comma. Thank you. Regards, Anks -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Phillip Koebbe wrote:> On Dec 28, 2007, at 11:41 PM, Ank Ag wrote: > >> >> Hello, >> I have to send mail to multiple recipients. My table is named >> people >> and has >> first_name,last_name, email1 , email2, email3 for each person. i have >> put people in various mailinglist .For example first mailinglist where >> first_name is john or say the second mailing list contains people of >> british origin.etc >> > > Just a matter of opinion, but you might consider moving your email > addresses to another table so you don''t have to limit your users to > three. I like to use a construct called "contact number" which can > be a phone number (landline or cell), fax, email, page, url, im, > whatever. Then you can have as many as you want and iterate through > them as a collection. But that''s just a matter of style and need. > >> [''mailinglist_id=?'',"#{params[:ml]}"]) >> # this generates error undefined method email1 >> #--------------------------------------------------- >> > > recipients is an array, so you need to build all of the addresses as > an array. The collection people does not have a method called > "email1", that is an attribute of each person object. So you''d need > to do something like this > > people.each do |person| > # this is more personal than just the email address, but that would > work too > recipients << "#{person.first_name} #{person.last_name} <# > {person.email1}>" > end > > I don''t know about the performance of ActionMailer with thousands of > recipients, so Bala''s advice might be your best bet. And I would not > use Jochen''s advice (absolutely no offense intended, Jochen!) and put > each delivery in a loop. In that case, you''d be sending a single > message for every recipient instead of sending one message to your > outbound server and letting it handle the multiple recipients. > > Oh, one other thing: use bcc instead of recipients. It''s generally > considered bad etiquette to send out a mass email and put everyone''s > address in the to line. > > Peace, > PhillipThanks a ton Philip...One final question regarding mailing. The use wants to create templates and that will be in html format....The user will not know anything about HTML code so he will copy and paste the text from WORD to the textbox provided in the email interface of rails. Any suggestions how do I convert that code to html while pasting or it would be even better if it is possible to create a text box gmail style i.e. which has colors and fontsize options.... Sorry for so many questions. I am somewhat new to ruby and rails...and have a project to complete in rails. -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Dec 29, 2007, at 10:58 AM, Ank Ag wrote:> > Thanks a ton Philip...One final question regarding mailing. The use > wants to create templates and that will be in html format....The user > will not know anything about HTML code so he will copy and paste the > text from WORD to the textbox provided in the email interface of > rails. > Any suggestions how do I convert that code to html while pasting or it > would be even better if it is possible to create a text box gmail > style > i.e. which has colors and fontsize options.... Sorry for so many > questions. I am somewhat new to ruby and rails...and have a project to > complete in rails. >Sorry, I can''t be of much help here. I have not yet had a need such as this and therefore have no experience working it out. I''m sure that someone else on here will have some great ideas, though. Phillip --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
>hi there What I did was to use the fckeditor a js script editor which is easily integrated with rails. This editor has an option PASTE FROM WORD that keeps "some" of the formatting (tables and other stuff) it has worked wonderully for me> > > Thanks a ton Philip...One final question regarding mailing. The use > wants to create templates and that will be in html format....The user > will not know anything about HTML code so he will copy and paste the > text from WORD to the textbox provided in the email interface of > rails. > Any suggestions how do I convert that code to html while pasting or it > would be even better if it is possible to create a text box gmail > style > i.e. which has colors and fontsize options.... Sorry for so many > questions. I am somewhat new to ruby and rails...and have a project to > complete in rails. > -- > Posted via http://www.ruby-forum.com/. > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Jorge Mario G. Mazo wrote:>> > > hi there > What I did was to use the fckeditor a js script editor which is easily > integrated with rails. > This editor has an option PASTE FROM WORD that keeps "some" of the > formatting (tables and other > stuff) it has worked wonderully for meYes, Thx Its really good....... -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---