Forum: Ruby on Rails Still cant get ActionMailer to work!

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Dr_Gavin (Guest)
on 2009-01-19 17:11
(Received via mailing list)
Hey - can anyone spare a few minutes to explain how to set-up
actionmailer in Rails 2.2.2
I have read the API but still not sure if I'm changing the correct
file?
I am going nuts with this!

Do I add my smtp settings to environment.rb or edit them in  base.rb
in the actionmailer folder?

The error message I receive when trying to send emails is

SocketError: getaddrinfo: Name or service not known

If anyone can spare a few mins either on this thread or on MSN/Skype/
Google chat I would really appreciate it

Ta

Gavin
Agustin V. (Guest)
on 2009-01-19 17:17
(Received via mailing list)
What mail do you need to setup? Gmail smtp? or a host provided mail?

In my case i use this in envirotment.rb
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
  :address => "smtp.gmail.com",
  :port => "587",
  :domain => "domain.com",
  :authentication => :plain,
  :user_name => "user@domaincom",
  :password => "password"
}

And i generate the mail controller with:

ruby script/generate mailer Notifier

Notifier is the controller to send mails.
Dr_Gavin (Guest)
on 2009-01-19 17:30
(Received via mailing list)
Hi -
It's a host provided mail account:

my host is 600host.net
my domain is thinkersplayground.com
and the email is removed_email_address@domain.invalid

I tried adding the code you provided in my environment.rb (I did have
it in prodcution.rb) and I now get an error:

...s/config/environment.rb:13:NameError: uninitialized constant
ActionMailer


The code I added was:
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
    :address => "localhost",
    :port => 465,
    :domain => "thinkersplayground.com",
    :authentication => :login,
    :user_name => "noreply+thinkersplayground.com",
    :password => "password"
}

Any clues?

Should this be config.action_mailer.smtp_settings = {} instead?

thanks

On 19 Jan, 15:16, "Agustin Nicolas ViƱao Laseras"
David A. Black (Guest)
on 2009-01-19 17:33
(Received via mailing list)
Hi --

On Mon, 19 Jan 2009, Dr_Gavin wrote:

>
> ...s/config/environment.rb:13:NameError: uninitialized constant
> ActionMailer

Try moving all that ActionMailer lines to the end of the file (after
the RailsInitializer.run block is over).


David

--
David A. Black / Ruby Power and Light, LLC
Ruby/Rails consulting & training: http://www.rubypal.com
Coming in 2009: The Well-Grounded Rubyist (http://manning.com/black2)

http://www.wishsight.com => Independent, social wishlist management!
Dr_Gavin (Guest)
on 2009-01-19 17:44
(Received via mailing list)
Thanks David

I've moved the code to the bottom of the file and that seems to have
solved the recent error.

Still have the error:
SocketError: getaddrinfo: Name or service not known
When trying to send mail though, any thoughts?

Im a noob when it comes to SSL etc, is it possible this error is
simply because my smtp settings are wrong?
Dr_Gavin (Guest)
on 2009-01-19 18:03
(Received via mailing list)
According to my host's setup instructions:

Mail Server Username: noreply+thinkersplayground.com
Outgoing Mail Server: mail.thinkersplayground.com (server requires
authentication) port 25
Outgoing Mail Server: (SSL) server.600host.net (server requires
authentication) port 465
Supported Outgoing Mail Protocols: SMTP, SMTPS (SSL/TLS)

If actionmailer requires SSL then does that mean I need to set smtp
settings to:
    :address => "server.600host.net",
    :port => 465,
    :domain => "thinkersplayground.com",
    :authentication => :login,
    :user_name => "noreply+thinkersplayground.com",
    :password => "password"


?
Dr_Gavin (Guest)
on 2009-01-19 18:13
(Received via mailing list)
If I change :address => '127.0.0.1' and :port => 25, I get error
message:

OpenSSL::SSL::SSLError: hostname was not match with the server
certificate

If I set it to :port => 465 I get a timeout error.

any ideas?
Agustin V. (Guest)
on 2009-01-19 18:29
(Received via mailing list)
your host service provide the port to connect to the mail with ssl. Your
need to ask them what port do you need to setup.
Dr_Gavin (Guest)
on 2009-01-19 18:32
(Received via mailing list)
This may seem like a real nooby question but it just occurred to me
now,
do I need to buy an SSL certificate before I can use actionmailer?

:S
This topic is locked and can not be replied to.