heroku アプリの送信グリッド スターターをセットアップします。
これをconfig/environment.rbに入れました:
ActionMailer::Base.smtp_settings = {
:user_name => ENV["SENDGRID_USERNAME"],
:password => ENV["SENDGRID_PASSWORD"],
:domain => "my-sites-domain.com",
:address => "smtp.sendgrid.net",
:port => 587,
:authentication => :plain,
:enable_starttls_auto => true
}
このクラス models/notifier.rb を作成します:
class Notifier < ActionMailer::Base
def notify()
mail(
:to => "my-email@gmail.com",
:subject => "New Website Contact",
:body => "body",
:message => "message",
:from => "website@my-sites-domain.com"
)
end
end
これを別のコントローラーに入れて、メールを送信します。
def contact
Notifier.notify().deliver
redirect_to("/", :notice => "We Have Received Your Request And Will Contact You Soon.")
end
デプロイしてメールを送信しようとすると、次のエラーが発生します。
Net::SMTPAuthenticationError (535 認証に失敗しました: 不正なユーザー名/パスワード
送信グリッドを完全にセットアップしましたが、メールを送信する準備ができていると表示されます。
またheroku config --long
、実際のパスワードとユーザー名を取得するために実行し、それらをハードコーディングしましたが、それでも同じエラーが発生しました。