Mailing do wielu osób - najlepsza metoda

Witam,

przyszło mi w aplikacji napisać fragment kodu odpowiadający za mailing do dużej ilości osób (od kilkudziesięciu do kilkuset tysięcy osób). W swojej codziennej pracy na pewno spotkaliście się z takimi sytuacjami. Moje pytanie jest następujące: czy istnieje jakiś sposób (gem) na dosyć szybkie wysłanie takiego mailingu?

Próbowałem:

... users.each do |u| # wyslanie maila end
Próbowałem też tak:

mail(:to => User.where(:is_activated => 1, :newsletter => 1).map(&:email) ...)

Oby dwa sposoby działają w podobnym tempie ale bardzo wolno a testowałem na 4 adresach. Wdzięczny bym był za jakieś wskazówki.

Z góry dziękuję

  1. find_each zamiast each.
  2. background job (resque?)
  3. skorzystać z usług zewnętrzego serwisu (zaćmienie, nie pamiętam nazw)

Dzięki za pomoc

[quote=sevos]1. find_each zamiast each.
2. background job (resque?)
3. skorzystać z usług zewnętrzego serwisu (zaćmienie, nie pamiętam nazw)[/quote]
Mysle ze tutaj lepiej sprawdzi sie delayed_job bo odpadnie potrzeba instalowania redisa


…i jeszcze kilka innych.

Kilkadziesiat - kilkaset tysiecy odbiorców to dość dużo już. IMO nie ma sensu wysyłać tego samemu. Polecam http://www.getresponse.pl/email-marketing/cennik

Jeśli tylko do wysyłania to raczej Amazon SES.

Tylko w Amazon SES nie masz dostępnych od początku wysokich limitów, zaczyna się chyba od 1000 dziennie + 1mail na sekundę, więc dopóki nie dobijesz do wyższych limitów, to i tak trzeba korzystać z czegoś innego

Ponadto - SES nie pozwala na przesyłanie załączników.

Jest na to parcie komuny i obiecują, że to kwestia kilku miesięcy, czyli pewnie do 2012 będzie. Jak by nie było 3zł za 10_000 maili to nokaut.

Sendgrid w najtańszym planie też ma takie ceny.

Najsz!! Jak to mawia Sean Connery :slight_smile: