I\'m building a email list for a student organization at my University. The organization has around 6000 members and to avoid costs I\'ve received permission to use the scho
My issue was resolved by following steps.
config.action_mailer.default :charset => "utf-8"
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'mysite.com',
user_name: myemail@gmail.com,
password: mypassword,
authentication: 'plain',
enable_starttls_auto: true
}
As google will try to block your sign-in if you have turned off access for less secure apps in your accounts settings. Therefore, follow this link and "Turn on" access for less secure apps.
Should ":domain" point to "school.edu" instead of "herokuapp.com"? I know when you set smtp for gmail via action_mailer settings, you have something like:
config.action_mailer.smtp_settings = {
:address => 'smtp.gmail.com',
:port => 587,
:domain => 'gmail.com',
:user_name => 'example@gmail.com',
:password => 'example_password',
:authentication => 'login',
:enable_starttls_auto => true
}
Should the domain contain "http://" ?
Create a file setup_mail.rb
in the folder config/initializers/
and put the code:-
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.smtp_settings = {
:address => "smtp.school.edu",
:domain => 'myapp.herokuapp.com',
:port => 25,
:user_name => "account@school.edu",
:password => "mypassword",
:authentication => :plain,
:enable_starttls_auto => true
}
ActionMailer::Base.default_url_options[:host] = "myapp.herokuapp.com"
Try adding openssl_verify_mode => 'none'
to your action mailer settings:
config.action_mailer.smtp_settings =
{
:address => "smtp.school.edu",
:port => 25,
:enable_starttls_auto => true,
:user_name => "account@school.edu",
:password => "mypassword",
:authentication => 'login',
:domain => 'http://myapp.herokuapp.com/',
:openssl_verify_mode => 'none'
}
Granted, we are using Rails 3, but this worked for me. The issue for us was that our certificates are self-signed and the library Rails uses considers that to be a problem. Here is an article that talks about the option.