Spory mailing

Hej,
może nie jest to pytnanie do końca związane z Rails, ale mam nadzieję, że ktoś mi pomoże. Otóż muszę wysłać 5000 listów, i na pewno ok 500 z nich będzie szło na gmail. Słyszałem opinie, że google i inni dostawcy poczty mogą banować (uznać z spam), za dużą liczbę listów wysłanych w podobnym czasie z jednego adresu i warto poczekać ok 1 minuty. Mógłby ktoś podzielić się swoimi obserwacjami?

Sławosz

no to zrob to w petli co minute i zostaw na noc ;] A co do mass mailingu kilka razy wysylalem po kilkaset maili na raz i nigdy ban nie bylo, no ale nie kojarze ile z nich szlo na gmail. Moze sie zmiescielm pod kresa jeszcze.

Znalazłem przydatną informację o Gmail:
https://mail.google.com/support/bin/answer.py?answer=81126

Akurat GMail i jego filtry antyspamowe zawsze (w praktyce) okazywały się najmniej restrykcyjne w temacie odrzucania masowych i wysyłanych “przez aplikacje” maili :slight_smile:

Podepnę się do tematu. Uzytkownik będzie wpisywał czy importował adresy email, od jednego do … dużo :slight_smile: Najepiej żeby zostały wysłane w tle od razu, czy to rozwiązanie będzie ok http://railscasts.com/episodes/171-delayed-job czy macie coś lepszego?

Dragomir wspominał w innym temacie: http://github.com/defunkt/resque

W README jest porównanie do Delayed Job bardzo dobre, warto przeczytać i wtedy będziesz wiedział którego potrzebujesz a nie które jest lepsze :wink:

Dzięki, wygląda na to że Delayed Job będzie prostsze na początek

Dodałem Delayed Job do obsługi wysyłania zaproszeń. Mam pytanko, jak przekazać dynamicznie nazwę hosta, który będzie w linku znajdującym się w treści adresu email.

[code=ruby]class Notifier < ActionMailer::Base

def survey_invitation(invitation)
subject I18n.translate(“notifier.invitation_title”)
from “Mojserwis noreply@mojserwis.pl
recipients invitation.recepient_email
sent_on Time.now
body :invitation_url => complete_invitation_url(invitation.survey_id, invitation.token), :survey => invitation.survey, :sender => invitation.sender
end[/code]
Gdy wysyłał maile normalnie używam następującego kodu w ApplicationController, niestety dla maili wysyłanych z delayed_job to nie robi

[code=ruby] before_filter :mailer_set_url_options, :set_locale_from_url

def mailer_set_url_options
ActionMailer::Base.default_url_options[:host] = request.host_with_port
end[/code]
Bład po uruchomieniu workera
* [JOB] host:artur-desktop pid:9134 failed with RuntimeError: Missing host to link to! Please provide :host parameter or set default_url_options[:host] - 0 failed attempts

Tak przy okazji, czy pojedyńcze maile np potwierdzenie rejestracji czy przypomnienie hasła też powinny być wysyłane w tle ?

Delayed job nie jest wywoływany przez request http więc “nie wie” pod jakim hostem działa aplikacja.
Ustaw sobie w configu stałą z URLem pod jakim będzie uruchomiona aplikacja, i później na jej podstawie ActionMailer::Base.default_url_options[:host]
Nie wiem czy jest to najlepsze rozwiązanie ale zadziała, jeśli zrobisz tak jak napisałem to ustawienie ActionMailer::Base.default_url_options[:host] możesz przenieść do np. config/initializers/mailing_etc.rb

jest jakiś spób żeby obrazki w mailu w htmlu miały pełną ścieżkę korzystając z tego ActionMailer::Base.default_url_options[:host], czy poprostu napisac sobie swoją metode typu image_tag_for_email i korzystac z tej zmiennej ?

Można też spróbować zintegrować się z czymś podobnym: http://www.mailchimp.com/
Za darmo 500 adresów i 3000 maili miesięcznie. Zawsze coś :slight_smile:
Sam serwis - poezja…

Jest jeszcze takie coś jak ar_mailer

I jeszcze takie coś Remail.