I am trying to send a sample email from my rails application.
this is what I've done so far:
rails gmailtest
cd gmailtest
script/plugin install git://github.com/collectiveidea/action_mailer_optional_tls.git
Then I placed following in my environment.rb
file (after the end
)
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "mygmail@gmail.com",
:user_name => "mygmail@gmail.com",
:password => "mypwd",
:authentication => :plain
}
script/generate mailer UserMailer
Then placed following in models\UserMailer
:
class UserMailer < ActionMailer::Base
def welcome_email(email)
recipients email
from "My Awesome Site Notifications <notifications@example.com>"
subject "Welcome to My Awesome Site"
sent_on Time.now
#body {:user => "", :url => "http://example.com/login"}
end
end
Placed following in views\user_mailer\welcome_email.text.html.erb
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
</head>
<body>
<h1>Welcome to example.com, </h1>
<p>
You have successfully signed up to example.com, and your username is:.<br/>
To login to the site, just follow this link:.
</p>
<p>Thanks for joining and have a great day!</p>
</body>
</html>
Tried sending email!
>> UserMailer.deliver_welcome_email("myemailaccount@gmail.com")
=> #<TMail::Mail port=#<TMail::StringPort:id=0x4bf7c42> bodyport=#<TMail::StringPort:id=0x4bd4c1a>>
Now I don't know whether the setup is working or not?? can I send a sample email from command prompt (script/console
) to make sure that the setup is working?
Also in the domain section I just have my email. Is that ok or do I need to have a domain from go开发者_Go百科ogle?
It does not send an email
Yes.
script/console
UserMailer.deliver_welcome_email("myemailaccount@gmail.com")
Should send the email (if all your settings/code is correct).
精彩评论