I'm try learn about email in rails. I'm developing something on localhost. Is it possible to send an email from localhost to say a normal mail account like gmail? Do I have a install a mail server? I've just got a standard rails installation at the moment for development.
If you want to send emails from localhost directly, you need to install a Mail Transport Agent (MTA), or if you like, a SMTP service. IIS provides one. You can otherwise find some others on Google.
Send Email from Localhost with PHPSet SMTP credentials (host, username, password, and port). Specify sender name and email ( $mail->setFrom ). Set recipient email address ( $mail->addAddress ). Set email subject ( $mail->Subject ).
PHP makes use of mail() function to send an email. This function requires three mandatory arguments that specify the recipient's email address, the subject of the the message and the actual message additionally there are other two optional parameters. mail( to, subject, message, headers, parameters );
Type RCPT TO:<email address>Type data to begin the email content. First we set the subject by typing Subject:<Your Subject> Then press Enter twice. Now type the message content of your email. When done, press Enter - Period Key - Enter to close the message.
Update for rails 4.0
Now you need these code to make it work:
# I recommend using this line to show error config.action_mailer.raise_delivery_errors = true ActionMailer::Base.smtp_settings = { :address => 'smtp.gmail.com', :domain => 'mail.google.com', :port => 587, :user_name => '[email protected]', :password => '******', :authentication => :plain, :enable_starttls_auto => true }
You can set up ActionMailer to use Gmail's SMTP server using something like this in config/environment.rb:
ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.server_settings = { :address => 'smtp.gmail.com', :domain => '<your domain>', :port => 587, :user_name => '<your gmail>', :password => '<your password>', :authentication => :plain }
Edit: If you experience any difficulties, set your config to display errors:
ActionMailer::Base.raise_delivery_errors = true
Have a look at ActionMailer. In RAILS_ROOT/config/environment/
, there is a file for different environments (development, test, production) the configurable settings go in these files
You specify the delivery_method like this,
ActionMailer::Base.delivery_method = :sendmail
or if you want
ActionMailer::Base.delivery_method = :smtp
A detailed example of the settings has been posted by Mikael S
HTH
If I understand your situation correctly, you want to send an email from your local computer using a custom email address such as [email protected]. If you already registered the domain name for your email account ( mycompany.com ) is very likely that the company that is hosting your website, also has a POP/SMTP server. If so, you can use Mikael S's sample and change the address parameter to your Hosting company's smtp address and use your hosting company's username/password.
If you have not register your custom domain or don't have a hosting provider, you can install a free email server in your local computer. If you use WindowsXP, you can add the IIS email server by going to add/remove programs->windows features. If you are using Linux, you can use any of the email servers available in the repositories. Once you install your local email server you will use Mikael S's sample code and use 127.0.0.1 or localhost in the address field. If you are using WindowsXP's email server, I think you don't have to enter username/password.
Hope it helps you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With