Ruby 1.8.7 + Rails 2.3.2 + TLS = Where's the documentation?


#1

After spending a few hours reading dozens of blogs and tutorials I am
still stumped. Numerous sites mention ruby 1.8.7 and rails 2.3
supporting TLS out of the box. However, I can not find any documentation
on setting this up to send emails correctly. Furthermore, after
attempting to send emails using Gmail and TLS i get the following error:

530 5.7.0 Must issue a STARTTLS command first. i6sm501424tid.20

/usr/local/lib/ruby/1.8/net/smtp.rb:942:in check_auth_response' /usr/local/lib/ruby/1.8/net/smtp.rb:733:inauth_plain’
/usr/local/lib/ruby/1.8/net/smtp.rb:725:in send' /usr/local/lib/ruby/1.8/net/smtp.rb:725:inauthenticate’
/usr/local/lib/ruby/1.8/net/smtp.rb:566:in do_start' /usr/local/lib/ruby/1.8/net/smtp.rb:525:instart’

Can anyone point me in the right direction?!

Thanks in advance!

I have the following configuration in my
config/environments/development.rb:

Don’t care if the mailer can’t send

config.action_mailer.raise_delivery_errors = true

set delivery method to :smtp, :sendmail or :test

config.action_mailer.delivery_method = :smtp

these options are only needed if you choose smtp delivery

config.action_mailer.smtp_settings = {
:address => ‘smtp.gmail.com’,
:enable_starttls_auto => true,
:port => 587,
:domain => ‘…’,
:authentication => :login,
:user_name => ‘…’,
:password => ‘secret’
}


#2

Looks like you have a :user_name misspecified, this is meant to be the
gmail user account that will be used to send the email and must be a
valid gmail account.

Here’s what I use as: config/initializers/action_mailer.rb:

ActionMailer::Base.delivery_method = :smtp

ActionMailer::Base.smtp_settings = {
:enable_starttls_auto => true,
:address => “smtp.gmail.com”,
:port => “587”,
:domain => “engine.local”,
:authentication => :plain,
:user_name => “bultaco.rick”,
:password => “*************”
}

I’ve tried your method - config… in config/environments/
development.rb works as well.

ActionMailer::Base in actionmailer-2.3.2/rdoc has a section on
configuration options.
On Apr 13, 4:01 am, obiwan chinobi removed_email_address@domain.invalid


#3

Rick wrote:

Looks like you have a :user_name misspecified, this is meant to be the
gmail user account that will be used to send the email and must be a
valid gmail account.

Very strange… Now I am getting the error:
Net::SMTPAuthenticationError (535-5.7.1 Username and Password not
accepted

I have tried changing the value of :user_name to ‘info’ as well, same
error…


#4

I’m not sure what you mean by “changing the value of :user_name to
‘info’…” but here’s the deal.

Whatever you use as the value associated with :user_name I should be
able to sent it mail at gmail. For instance, if you say…

:user_name => “monkeylips”

I should be able to send an email (with attached banana) to
removed_email_address@domain.invalid

Got it?

On Apr 13, 11:10 am, obiwan chinobi removed_email_address@domain.invalid


#5

I’m not sure what you mean by “changing the value of :user_name to
‘info’…” but here’s the deal.

Whatever you use as the value associated with :user_name I should be
able to sent it mail at gmail. For instance, if you say…

:user_name => “monkeylips”

I should be able to send an email (with attached banana) to
removed_email_address@domain.invalid

Got it?

On Apr 13, 11:10 am, obiwan chinobi removed_email_address@domain.invalid


#6

these options are only needed if you choose smtp delivery

config.action_mailer.smtp_settings = {
:address => ‘smtp.gmail.com’,
:enable_starttls_auto => true,
:port => 587,
:domain => ‘…’,
:authentication => :login,
:user_name => ‘…’,
:password => ‘secret’
}

Correct configuration to get this working is:
config.action_mailer.smtp_settings = {
:enable_starttls_auto => true,
:address => ‘smtp.gmail.com’,
:port => 587,
:domain => ‘your.domain.com’,
:authentication => :plain,
:user_name => ‘removed_email_address@domain.invalid’,
:password => ‘password’
}