Still cant get ActionMailer to work!


#1

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


#2

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.


#3

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”


#4

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!


#5

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”

?


#6

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?


#7

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.


#8

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?


#9

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