我正在尝试设置设计1.3.4,以便在开发模式下通过Gmail发送电子邮件。我应该提一下,我使用的是Rails 3.0.4和Ruby 1.9.2p136。
我在config / environments / development.rb中尝试了以下内容:
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true
config.action_mailer.default_url_options = { :host => 'mydomain.com' }
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "mydomain.com",
:user_name => "info",
:password => "secret",
:authentication => "plain",
:enable_starttls_auto => true
}
在config / initializers / devise.rb中我改变了
config.mailer_sender = "please-change-me-at-config-initializers-devise@example.com"
要
config.mailer_sender = "info@mydomain.com"
然后我试了
http://yekmer.posterous.com/devise-gmail-smtp-configuration
它还没有用。
是否有关于如何让邮件工作的维基页面?我在日志中看到了电子邮件,看起来很棒!链接工作等...我只想在我的电子邮件帐户中看到它们。
修改
我找到了答案 - 我使用http://yekmer.posterous.com/devise-gmail-smtp-configuration - 当我将它放在config / environments / development.rb中时,我一直把这些代码放在config / intializers / devise.rb中。
答案 0 :(得分:2)
你试过这个吗?
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "gmail.com",
:user_name => "myinfo@gmail.com",
:password => "secret",
:authentication => "plain"
# :enable_starttls_auto => true # I don't have this, but it should work anyway
}
--------- 编辑
它被发送可能是因为垃圾邮件过滤器而没有收到它,首先要检查:
class UserMailer < ActionMailer::Base
default :from => "myinfo@gmail.com"
# ...
end
答案 1 :(得分:2)
你应该把它放在设计初始化器中:
# Configure the class responsible to send e-mails.
config.mailer = "YourAppDeviseMailer"
然后创建一个扩展Devise :: Mailer的类:
class YourAppDeviseMailer < Devise::Mailer
default :from => 'your_email'
def self.mailer_name
"devise/mailer"
end
end
答案 2 :(得分:1)
我认为您可以在config / initializers / devise.rb中更改它。我认为不需要新的课程吗?
#config/initializers/devise.rb
config.mailer_sender = 'youremail@gmail.com'
答案 3 :(得分:0)
检查ActionMailer :: Base.delivery_method的值是否为:smtp