ar_mailer 1.4.0

drbrain | Wed, 24 Jun 2009 22:53:06 GMT

Posted in ,

ar_mailer is a two-phase delivery agent for ActionMailer. Even delivering
email to the local machine may take too long when you have to send hundreds
of messages. ar_mailer allows you to store messages into the database for
later delivery by a separate process, ar_sendmail.

Changes:

  • 1.8.7 and 1.9 STARTTLS compatibility, now uses smtp_tls gem for STARTTLS on
    1.8.6
  • Fix 1.9 warnings
comments

Comments RSS FEED

Hi Eric,

I use this gem in my applications. It works fine but this process takes 100 % of CPU every time I launch it. How can I fix that (on a debian server)

Thanks for your help

Phil

Philippe said 1 day later

If you run ar_sendmail in foreground mode `ar_sendmail -v` what does it output?

Does it work okay with —once?

If you edit ActionMailer::ARSendmail#run to not rescue SignalException can you get a backtrace when you hit ^C?

Eric Hodel said 2 days later

I’m having trouble making this work in both the production and development environments. I’m trying to send emails with gmail, and currently it works in production, which is on a machine running ruby 1.8.7. However, in development, which runs ruby 1.8.6, I get the following error:

> ar_sendmail -ov

expired 0 emails from the queue
found 1 emails to send
authentication error, retrying: 530 5.7.0 Must issue a STARTTLS command first. 5sm12476417qwh.31

Both machines are running rails 2.3.2. Can anyone help? It sounds like ar_mailer 1.4.0 is supposed to address this exact issue, but I can’t figure out how. Thanks.

AC said 11 days later

How are you connecting to your SMTP server, can you give the connection options?

Eric Hodel said 13 days later

smtp_tls 1.0.3 now has a script you can use to help debug your problem. If you can’t figure it out, output from the script will help.

Eric Hodel said 14 days later

I am connecting to gmail with the following in environment.rb:

config.action_mailer.smtp_settings = { :address => “smtp.gmail.com”, :port => “587”, :domain => DOMAIN, :authentication => :plain, :enable_starttls_auto => true, :user_name => USERNAME, :password => PASSWORD }

Again, this works on ruby 1.8.7 but not for 1.8.6. Thanks for the help

AC said 18 days later

Comments are disabled