i need to send massive emails to various customers,
here 2 solutions i have think:
1-
customers = Customer.find(:all, :conditions => “newsletter = 1”)
customers.each do |c|
@email = c.email
Mailer.deliver_send_newsletter(@subject, @email, @notice_id)
end
2-
customers = Customer.find(:all, :conditions => “newsletter = 1”)
customers.each do |c|
addresses << c.email+", "
end
@emails=addresses.join.gsub(/(, )$/, ‘’)
Mailer.deliver_send_newsletter(@subject, @emails, @notice_id)
what is the right solution ?
On Aug 20, 2009, at 1:51 PM, Aldo I. wrote:
Mailer.deliver_send_newsletter(@subject, @email, @notice_id)
what is the right solution ?
Hard to say without knowing how many customers that query is going to
return… if it’s under a 100 it doesn’t matter. Under a 1000 it
probably doesn’t matter. If it’s 10,000 and it’s once a week, neither
is going to be very fun. Keep in mind that those queries will
instantiate however many objects that match… you could suck up a lot
of memory… at least use the new find/block stuff.
Might want to look into ar_mailer (ruby stuff), bulk_mailer (stand
alone) and if your volume is high one of the companies that does this
for a living so you don’t have to deal with ending up on aol/msn/
yahoo’s spam blacklists…
-philip
Hard to say without knowing how many customers that query is going to
return… if it’s under a 100 it doesn’t matter. Under a 1000 it
probably doesn’t matter.
i have under 500 customers
of memory… at least use the new find/block stuff.
what is it?
thanks
Hard to say without knowing how many customers that query is going to
return… if it’s under a 100 it doesn’t matter. Under a 1000 it
probably doesn’t matter.
i have under 500 customers
If it were me I’d email them each individually and customize the email
to include their full name in the to field, a “hello Aldo” in the
message, and a one-click unsubscribe url. Doesn’t matter how you send
them with only 500.
of memory… at least use the new find/block stuff.
what is it?
I can never remember the exact syntax… it’s a new method that lets
you issue a find and then iterate through it say 100 objects at a time
– so that you aren’t building an array of 10,000 objects. Google
around and you’ll find it.
-philip
On Aug 20, 2009, at 2:46 PM, James E. wrote:
I’ve googled a bit and I can’t seem to find it. Could you do me a
huge
favor and link me?!
find_each is what it’s called…
http://github.com/rails/rails/blob/106976df0911e423042ec4abc165fd561766a047/activerecord/lib/active_record/batches.rb#L47
-philip
On 10 December 2010 06:41, Samd O. [email protected] wrote:
Are desktop email address software products worth the money?
Are these messages supposed to be ironic?
I’ve googled a bit and I can’t seem to find it. Could you do me a huge
favor and link me?!