Forum: Ruby on Rails Help to send email required

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
"Tommy Pollák" <> (Guest)
on 2013-03-24 10:12
(Received via mailing list)
From a Rails application containing email addresses I want to send
Therefore I am testing sending emails.

It does not work though I have read a lot about how to do it. I guess my
.../config/initializers/mail.rb is wrong.

I have based the settings on the answers here but I do not understand

File content:

ActionMailer::Base.smtp_settings = {
  address:        "smtp.x.y",
  port:               465,
  domain:         "x.y"
  user_name:  "me",
  password:     "my",
  authentication: :login,
  enable_starttls_auto: true

This is based on my settings in Thunderbird for outgoing server:

Server Name  smtp.x.y
Port                  465
User name      me
Authentication method  Normal password
Connection Security      SSL/TLS

The error is reported as

Completed 500 Internal Server Error in 60254ms

Timeout::Error (Timeout::Error):
  app/controllers/mail_messages_controller.rb:56:in `block in create'
  app/controllers/mail_messages_controller.rb:54:in `create'

OS Ubuntu 12.04
Ruby 1.9.3
Rails 3.2.9
unknown (Guest)
on 2013-03-24 13:44
(Received via mailing list)
    class UserMailer < ActionMailer::Base
      default from: "youremailaddress"

      # Subject can be set in your I18n file at config/locales/en.yml
      # with the following lookup:
      # en.user_mailer.password_reset.subject
      def password_reset(user)
        @user = user
        mail :to =>, :subject => "Password Reset"

  # Expands the lines which load the assets
  config.assets.debug = true
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.perform_deliveries = true
  config.action_mailer.default_url_options = { :host => "localhost:3001"
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
      :tls                  => true,
      :openssl_verify_mode  => OpenSSL::SSL::VERIFY_NONE,
      :address              => "",
      :domain               => "yourwebsite",
      :port                 => 465,
      :name            => 'youremailaddress',
      :password             => 'accountpassword',
      :authentication       => :login,
      :enable_starttls_auto => false  }

Lubuntu 12.0.4
Ruby 1.9.3
Rails 3.2.11

Works for me.
"Tommy Pollák" <> (Guest)
on 2013-03-24 15:36
(Received via mailing list)
Hmmm, You really repeat one of the points that make confused -
:domain               => "yourwebsite",

I am running on my client, localhost, and do not have any own web
so what should domain be set to?
unknown (Guest)
on 2013-03-24 15:51
(Received via mailing list)
Hi, Sorry I do not know.  This also confused me. Try using a name
associated with your email service provider.  It should not have
to do with where your app server is running from.

"Tommy Pollák" <> (Guest)
on 2013-03-24 16:50
(Received via mailing list)
I tried to set up a different mail account I have. The response was
different "Connection refused - connect(2)". This is OK, I believe,
my ISP does not allow mail relay.

So obviously I get in touch with my ISP but am unable to login. Any
"Tommy Pollák" <> (Guest)
on 2013-03-24 21:59
(Received via mailing list)
Problem solved!

Careful inspection of the Thunderbird outgoing server settings revealed
that my mailer smtp.x.y
required the following settings in .../config/initializers/mail.rb:

ActionMailer::Base.smtp_settings = {
  :enable_starttls_auto => false,
  :ssl            => true

Once this was corrected I got the report that the from field in the mail
had to contain an existing domain.

domain in the smtp_settings is set to x.y where x.y is taken from
=> smtp.x.y but I do not know if this of any importance.

Thanks for all hints.
This topic is locked and can not be replied to.