我想要一个名为时间戳+ normal_mail_name +“.eml”的文件。
我查看了rails源代码、mail-gem源代码和字母打开器-gem.请给我一个提示,如何(猴子补丁) rails邮件程序,以支持我可以指定如下:
config.action_mailer.file_settings ={ :location => Rails.root.join('tmp','mail'),:file_name => Time.now.to_i.to_s + "mail.eml“}
谢谢!
更新:也很高兴能自动打开这封邮件,我的本地相关电子邮件程序带有launchy,比如开封信宝石。我会自己做的,但我不明白原生态。
发布于 2013-04-25 16:46:08
我想你有很多邮件,你会想要调试邮件正文,短信等?我说的对吗?如果我是对的,我不会用delivery_method :file发送邮件,我只会创建一个真正的电子邮件(例如gmail)帐户并通过一个测试帐户发送邮件。
例如,在配置/环境/Development.rb中:
email_settings = YAML::load(File.open("#{Rails.root.to_s}/config/mail.yml"))[Rails.env] rescue nil
if email_settings.nil?
config.action_mailer.raise_delivery_errors = false
config.action_mailer.perform_deliveries = false
config.action_mailer.delivery_method = :file
else
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "#{email_settings["address"]}",
:port => email_settings["port"],
:authentication => "#{email_settings["authentication"]}",
:user_name => "#{email_settings["user_name"]}",
:password => "#{email_settings["password"]}",
:enable_starttls_auto => email_settings["enable_starttls_auto"]
}
end
还有你的mail.yml文件:
development:
address: smtp.gmail.com
port: 587
authentication: login
user_name: test@your-domain.com
password: yourpassword
enable_starttls_auto: true
这并不能直接回答你的问题,但也许这个工作对你来说是个不错的选择。您还可以以同样的方式配置其他环境,这取决于您的需要。
https://stackoverflow.com/questions/16154872
复制相似问题