Gmailアカウントを使用して確認メールを送信しようとしています。私は周りを見回しましたが、明白なことは何もありません。エラーなどはなく、送信しないだけです
これを初期化子として持っています:
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "gmail.com",
:user_name => "<address>@gmail.com",
:password => "<password>",
:authentication => "plain",
:enable_starttls_auto => true
}
ActionMailer::Base.default_url_options[:Host] = "localhost:3000"
少なくともRails 3.2を使用すると、tlsmail
gemは不要になります。
これで十分です
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => 'baci.lindsaar.net',
:user_name => '<username>',
:password => '<password>',
:authentication => 'plain',
:enable_starttls_auto => true }
All-mighty-guideから GmailのActionMailer設定
tlsmailをgemfileに追加
gem 'tlsmail'
実行:
bundle install
これらの設定をconfig/envirnoments/development.rbファイルに追加します
YourApplicationName::Application.configure do
require 'tlsmail'
Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE)
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => "587",
:domain => "gmail.com",
:enable_starttls_auto => true,
:authentication => :login,
:user_name => "<addreee>@gmail.com",
:password => "<password>"
}
config.action_mailer.raise_delivery_errors = true
[email protected]が実際にメールを送信したことを確認してください。確認メールをGmailのSMTPサーバーから送信すると、一括送信がまったく送信されないため、これに関して問題が発生しました。
[email protected]にログインして、問題がなく、メールが送信されていることを確認することをお勧めします。
そうでない場合は、発信メールを送信するために Send Grid のようなサービスを試してみることをお勧めします。
または、サーバーを調べることもできます。または、開発中の場合は、log/development.log
。実際にメールを送信しようとしていることをログで確認できると思います。
問題は、GoogleがローカルIPアドレスを信頼せず、メールが(スパムディレクトリにも)配信されないことです。これを回避する方法はありませんが、ホワイトリストのサーバーを使用します。
Herokuのような本番サーバーにアプリをデプロイしてテストし、そこでテストすることができます。
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => 'baci.lindsaar.net',
:user_name => '<username>',
:password => '<password>',
:authentication => 'plain',
:enable_starttls_auto => true }
<username>
は、実際のユーザー名を入力することを意味しますか? <password>