本番環境からメールを送信するとエラーが発生します。具体的には次のとおりです。
Net::SMTPAuthenticationError (530-5.5.1 Authentication Required)
私のローカル マシンと開発環境では、 and を使用してパスワードを宣言しています。ENV[GMAIL_USERNAME]
宣言ENV[GMAIL_PASSWORD]
された ENV は .bash_profile に保存され、正常に動作しています。
# Development Environment for Action Mailer config
config.action_mailer.default_url_options = { host: '0.0.0.0:3000' }
config.action_mailer.perform_deliveries = true
config.action_mailer.default charset: 'utf-8'
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'mydomain.com',
authentication: "plain",
enable_starttls_auto: true,
user_name: ENV["GMAIL_USERNAME"],
password: ENV["GMAIL_PASSWORD"]
}
# Production Environment for Action Mailer config
config.action_mailer.default_url_options = { host: 'mydomain.com' }
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = false
config.action_mailer.default charset: 'utf-8'
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: "smtp.gmail.com",
port: 587,
domain: "mydomain.com",
authentication: "plain",
enable_starttls_auto: true,
user_name: ENV["GMAIL_USERNAME"],
password: ENV["GMAIL_PASSWORD"]
}
残念ながら、本番環境でメールを送信するとエラーが発生します。ただし、ユーザー名とパスワードをハードコードするenvironments/production.rb
と機能します。およびENV["GMAIL_USERNAME"]
`ENV["GMAIL_PASSWORD"] は .bash_profile に設定されています。
export GMAIL_USERNAME="hello@mydomain.com"
export GMAIL_PASSWORD="mypassword"
ENV["GMAIL_USERNAME"]
アプリが呼び出せないのではないかと思いましたがENV["GMAIL_PASSWORD"]
、実稼働のレールコンソールにジャンプするとputs ENV["GMAIL_USERNAME"]
、正しい資格情報が出力されます。
Apache を再起動し、アプリを複数回再起動しましたが、次に何をすべきか戸惑っています。
どんな助けでも大歓迎です。
よろしくお願いします。