【发布时间】:2015-10-31 13:24:14
【问题描述】:
我在Learn Ruby on Rails 教程的“发送邮件”部分不断收到错误消息。
我已尝试在本地计算机上克隆 https://github.com/RailsApps/learn-rails.git,但问题仍然存在。
下面是我的代码:
user_mailer.rb
class UserMailer < ApplicationMailer
default from: "do-not-reply@example.com"
def contact_email(contact)
@contact = contact
mail(to: Rails.application.secrets.owner_email, from: @contact.email, :subject => "Website Contact")
end
end
development.rb
config.action_mailer.smtp_settings = {
address: "smtp.gmail.com",
port: 587,
domain: Rails.application.secrets.domain_name,
authentication: "plain",
enable_starttls_auto: true,
user_name: Rails.application.secrets.email_provider_username,
password: Rails.application.secrets.email_provider_password
}
# ActionMailer Config
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.raise_delivery_errors = true
# Send email in development mode?
config.action_mailer.perform_deliveries = true
secrets.yml
development:
email_provider_username: <%= ENV["GMAIL_USERNAME"] %>
email_provider_password: <%= ENV["GMAIL_PASSWORD"] %>
mailchimp_api_key: <%= ENV["MAILCHIMP_API_KEY"] %>
mailchimp_list_id: <%= ENV["MAILCHIMP_LIST_ID"] %>
domain_name: example.com
owner_email: <%= ENV["OWNER_EMAIL"] %>
我还确保在 .bashrc 文件中正确设置了环境变量。
任何帮助将不胜感激,并提前感谢您!
【问题讨论】:
-
尝试将您的 Gmail 凭据硬编码到 secrets.yml 文件中。不检查进git,看看ENV变量有没有问题。
-
嗨丹尼尔,我已经尝试将我的 Gmail 凭据硬编码到 secrets.yml 或 user.mailer.rb 文件中,问题仍然存在。
-
看起来域名是 example.com 或 nil
标签: ruby-on-rails railsapps learn-ruby-on-rails