2011-05-09 126 views
6

我试图在开发模式下通过gmail设置设计1.3.4发送电子邮件。我应该提到我正在使用Rails 3.0.4和Ruby 1.9.2p136。Get Devise 1.3.4在开发中使用Gmail发送电子邮件

我试过在配置/环境/ 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 
} 

而且在配置/初始化/ devise.rb我改变

config.mailer_sender = "[email protected]" 

config.mailer_sender = "[email protected]" 

然后我试了

http://yekmer.posterous.com/devise-gmail-smtp-configuration

它仍然无法正常工作。

有没有关于如何让邮件程序工作的wiki页面?我在日志中看到电子邮件,看起来很棒!链接工作等...我只想在我的电子邮件帐户中看到它们。


编辑

我找到了答案 - 我用http://yekmer.posterous.com/devise-gmail-smtp-configuration - 我已经把代码中的config/intializers/devise.rb时,我应该已经把它在配置/环境/发展。 RB。

+0

确定如何解决此问题的链接不再有效。你能否在你的文章中添加更多细节? – 2013-11-24 04:57:45

+0

这是一个完整的Rails项目,我已经开源了,它有邮件和gmail以及设计安装。 https://github.com/cyrusstoller/RevTilt让我知道如果你需要帮助设置在config/initializers/setup_mail.rb中使用的环境变量 – Cyrus 2013-11-25 06:42:18

回答

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   => "[email protected]", 
    :password    => "secret", 
    :authentication  => "plain" 
    # :enable_starttls_auto => true # I don't have this, but it should work anyway 
} 

--------- 编辑

它它发送也许你不接受它,因为垃圾邮件过滤器,首先要检查:

class UserMailer < ActionMailer::Base 
    default :from => "[email protected]" 
    # ... 
end 
+0

试图用我有一个gmail帐户。它仍然表示该电子邮件已发送,但我永远不会收到它。我将该代码放在ActionMailer :: Base.smtp_settings的块中。 – Cyrus 2011-05-09 08:28:04

+0

尝试然后去那个帐户,并检查邮件已发送 – ecoologic 2011-05-09 08:30:23

+0

我正在使用谷歌应用程序。我刚刚登录,看看它是否发送过任何电子邮件......看起来没有。 – Cyrus 2011-05-09 08:35:43

0

检查ActionMailer :: Base.delivery_method的值是否为:smtp

2

你应该把它放在设计初始化程序中:

# Configure the class responsible to send e-mails. 
    config.mailer = "YourAppDeviseMailer" 

然后创建一个扩展设计::梅勒类:

class YourAppDeviseMailer < Devise::Mailer 
    default :from => 'your_email' 

    def self.mailer_name 
    "devise/mailer" 
    end 
end 
0

我想你可以改变它的配置/初始化/ devise.rb内。我不需要一个新的班级?

#config/initializers/devise.rb 
config.mailer_sender = '[email protected]' 
相关问题