2014-09-23 67 views
3

当我试图用邮件传递邮件2.5.4/rails 4.0.0/ruby​​ 1.9.3-p125配置时,请找到以下错误消息。NoMethodError:未定义的方法ascii_only? - 与邮件2.5.4和轨道4.0的错误

SubscriptionMailer.send_email(Subscription.last).deliver 
    Subscription Load (0.6ms) SELECT `subscriptions`.* FROM `subscriptions` ORDER BY `subscriptions`.`id` DESC LIMIT 1 
    User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 ORDER BY `users`.`id` ASC LIMIT 1 
    Rendered subscription_mailer/send_email.text.erb (0.6ms) 
    Rendered subscription_mailer/send_email.html.haml (5.7ms) 
NoMethodError: undefined method `ascii_only?' for nil:NilClass 
    from /opt/blog/vendor/ruby/1.9.1/gems/mail-2.5.4/lib/mail/encodings.rb:68:in `param_encode' 
    from /opt/blog/vendor/ruby/1.9.1/gems/mail-2.5.4/lib/mail/fields/content_type_field.rb:95:in `block in stringify' 
    from /opt/blog/vendor/ruby/1.9.1/gems/mail-2.5.4/lib/mail/fields/content_type_field.rb:95:in `each' 
    from /opt/blog/vendor/ruby/1.9.1/gems/mail-2.5.4/lib/mail/fields/content_type_field.rb:95:in `map' 
    from /opt/blog/vendor/ruby/1.9.1/gems/mail-2.5.4/lib/mail/fields/content_type_field.rb:95:in `stringify' 
    from /opt/blog/vendor/ruby/1.9.1/gems/mail-2.5.4/lib/mail/fields/content_type_field.rb:88:in `value' 
    from /opt/blog/vendor/ruby/1.9.1/gems/mail-2.5.4/lib/mail/fields/content_type_field.rb:28:in `parse' 
    from /opt/blog/vendor/ruby/1.9.1/gems/mail-2.5.4/lib/mail/fields/content_type_field.rb:24:in `initialize' 
    from /opt/blog/vendor/ruby/1.9.1/gems/mail-2.5.4/lib/mail/field.rb:203:in `new' 
    from /opt/blog/vendor/ruby/1.9.1/gems/mail-2.5.4/lib/mail/field.rb:203:in `new_field' 
    from /opt/blog/vendor/ruby/1.9.1/gems/mail-2.5.4/lib/mail/field.rb:192:in `create_field' 
    from /opt/blog/vendor/ruby/1.9.1/gems/mail-2.5.4/lib/mail/field.rb:149:in `update' 
    from /opt/blog/vendor/ruby/1.9.1/gems/mail-2.5.4/lib/mail/header.rb:170:in `[]=' 
    from /opt/blog/vendor/ruby/1.9.1/gems/mail-2.5.4/lib/mail/message.rb:588:in `content_type=' 
    from /opt/blog/vendor/ruby/1.9.1/gems/actionmailer-4.0.0/lib/action_mailer/base.rb:695:in `mail' 
    from /opt/blog/app/mailers/subscription_mailer.rb:19:in `send_email' 
... 8 levels... 
    from /opt/blog/vendor/ruby/1.9.1/gems/actionmailer-4.0.0/lib/action_mailer/base.rb:497:in `initialize' 
    from /opt/blog/vendor/ruby/1.9.1/gems/actionmailer-4.0.0/lib/action_mailer/base.rb:480:in `new' 
    from /opt/blog/vendor/ruby/1.9.1/gems/actionmailer-4.0.0/lib/action_mailer/base.rb:480:in `method_missing' 
    from (irb):4 
    from /opt/blog/vendor/ruby/1.9.1/gems/railties-4.0.0/lib/rails/commands/console.rb:90:in `start' 
    from /opt/blog/vendor/ruby/1.9.1/gems/railties-4.0.0/lib/rails/commands/console.rb:9:in `start' 
    from /opt/blog/vendor/ruby/1.9.1/gems/railties-4.0.0/lib/rails/commands.rb:64:in `<top (required)>' 
    from /opt/blog/vendor/ruby/1.9.1/gems/railties-4.0.0/lib/rails/app_rails_loader.rb:43:in `require' 
    from /opt/blog/vendor/ruby/1.9.1/gems/railties-4.0.0/lib/rails/app_rails_loader.rb:43:in `block in exec_app_rails' 
    from /opt/blog/vendor/ruby/1.9.1/gems/railties-4.0.0/lib/rails/app_rails_loader.rb:32:in `loop' 
    from /opt/blog/vendor/ruby/1.9.1/gems/railties-4.0.0/lib/rails/app_rails_loader.rb:32:in `exec_app_rails' 
    from /opt/blog/vendor/ruby/1.9.1/gems/railties-4.0.0/lib/rails/cli.rb:6:in `<top (required)>' 
    from /opt/blog/vendor/ruby/1.9.1/gems/railties-4.0.0/bin/rails:9:in `require' 
    from /opt/blog/vendor/ruby/1.9.1/gems/railties-4.0.0/bin/rails:9:in `<top (required)>' 
    from bin/rails:16:in `load' 
    from bin/rails:16:in `<main>'1.9.1 :005 > 
+1

我怀疑电子邮件配置的电子邮件标题中的某些字段是空的。如果您粘贴邮件程序类和邮件程序配置,这将会很有帮助。 – Jesper 2014-09-23 14:05:52

回答

3

我在发送附件时发生了类似的问题。

我需要改变attachments[:report]attachments['report']

老:

def email_report(email, report) attachments[:report] = File.read(report) mail(to: email, subject: 'report') end

新:

def email_report(email, report) attachments['report'] = File.read(report) mail(to: email, subject: 'report') end

我怀疑类似的是发生在你的东西。

+0

类似的问题在这里。请帮助 - http://stackoverflow.com/questions/29441305/cannot-create-firefox-browser-with-watir-webdriver – stack1 2015-04-04 00:44:31

0

我有同样的问题。 我有以下几点:

include HTTParty 

,并把它改成

require 'httparty' 

,它为我工作。

希望这有助于。

4

我遇到了这个问题,因为我在'to'-field中设置了User-instance而不是user.email的值。

+0

我有一个类似的问题,这是由于地址不是实际的电子邮件地址 – spartikus 2017-01-11 20:42:04

相关问题