I am working on a Ruby (1.8.6) on Rails (2.3.5) application in which I am currently using Gmail to deliver email messages. I want to switch to sending the messages with Delayed Jobs.
I have delayed jobs sending messages on my development environment but when I deploy to my production server and try the messages get rejected and an error shows up in my delayed_jobs table: 530 5.7.0 Must issue a STARTTLS command first. i25sm12946175anh.17. I’ve seen this error before (when I don’t have TLS enabled in my config). But it was working before I started using delayed_jobs. Here is my mail config:
ActionMailer::Base.smtp_settings = {
:enable_starttls_auto => true,
:address => 'smtp.gmail.com',
:port => 587,
:domain => 'example.com',
:authentication => :plain,
:user_name => 'user@example.com',
:password => 'password'
}
Any help with this issue is greatly appreciated.
Update: The application is actually running on REE ruby 1.8.7. So maybe delayed jobs is somehow using the regular ruby interpreter installed on the server (1.8.6). But, how do I get delayed jobs to use my REE install? And how do I tell what things are using what version of Ruby.
The
script/delayed_jobcommand uses the system Ruby. So “which ruby” should point to the REE installation. If not, you can force it by using the Ruby executable. Lets say, your REE is installed at/opt/ruby-enterprise-1.8.7-2010.01. Then:Or if you use the rake command to start, like:
Then
which rakeshould point to your REE installation. If its not, then you can make it use REE by: