我是Rails的新手。我试着用ActionMailer发出一封关于新的联系方式信息的电子邮件通知。我学习了不同的教程,试着应用不同的advices,但是没有帮助。我的setup_mail.rb文件是:
config.action_mailer.delivery_method = :sendmail
ActionMailer::Base.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'gmail.com',
user_name: 'my_user_name',
password: 'my_password',
authentication: 'plain',
enable_starttls_auto: true
}我尝试将此代码添加到development.rb文件中,我的development.rb也有下面的代码:
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true我的contact_forms_controllers.rb有下一个代码:
def create
@contact_form = ContactForm.new contact_form_params
@contact_form.save
redirect_to root_path
AdminMailer.notification(@contact_form).deliver
end我的admin_mailer.rb文件是:
class AdminMailer < ApplicationMailer
default from: "my_address@gmail.com"
def notification(contact_form)
mail(to: "my_address@gmail.com", subject: 'New message on your web-site')
end
endEverywhere my_address@gmail.com是我的实际邮件,my_password是我的实际密码。
我可以在没有任何错误的情况下通过帮助联系人表单创建一条消息。有没有人知道,哪里会有问题?
发布于 2015-11-23 10:38:18
您就快到了,但是您的development.rb应该是这样的:
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: '587',
domain: 'gmail.com',
user_name: 'xxx@gmail.com',
password: 'xxxxxx',
authentication: 'login',
enable_starttls_auto: true
}发布于 2015-11-23 13:51:24
您在开发中添加了这个吗? in:-
config.action_mailer.default_url_options = { :host => 'localhost:3000' }并将sendmail改为smtp:-
config.action_mailer.delivery_method = :smtphttps://stackoverflow.com/questions/33868845
复制相似问题