首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IronWorker中调试邮件传递

在IronWorker中调试邮件传递
EN

Stack Overflow用户
提问于 2013-07-12 12:48:17
回答 1查看 150关注 0票数 3

我正在尝试使用mail gem从IronWorker任务发送电子邮件。在我的本地系统(OS )上运行该脚本是可行的,但在使用相同参数的IronWorker上运行时会失败。我刚接触IronWorker和mail gem,所以我不知道从哪里开始调试。以下是错误消息的文本。

代码语言:javascript
复制
/task/email.rb:5:in `block in <top (required)>': undefined method `[]' for nil:NilClass (NoMethodError)     
from /task/__gems__/gems/mail-2.4.4/lib/mail/mail.rb:106:in `instance_eval'     
from /task/__gems__/gems/mail-2.4.4/lib/mail/mail.rb:106:in `defaults'  
from /task/email.rb:3:in `<top (required)>'     
from /usr/local/lib/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'  
from /usr/local/lib/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'  
from __runner__.rb:213:in `<main>'

下面是我的代码:

代码语言:javascript
复制
require 'mail'

Mail.defaults do
  delivery_method :smtp, {
    address: params['address'],
    port: 587,
    domain: params['domain'],
    user_name: params['username'],
    password: params['password'],
    authentication: 'plain',
    enable_starttls_auto: true
  }
end

Mail.deliver do
  to "#{params['to_name']} <#{params['to_address']}>"
  from "#{params['from_name']} <#{params['from_address']}>"
  subject "Mail test"
  text_part do
    body params['text']
  end
  html_part do
    content_type 'text/html; charset=UTF-8'
    body params['html']
  end
end

请注意,我之前在本地收到了这个错误,但它是由于在默认设置中使用username而不是user_name造成的。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2013-07-12 19:25:47

我不确定,但看起来'params‘是零,你能在使用之前检查一下吗?如果你在你的worker中使用独立的命名空间(就像在类中的worker body ),就会发生这种情况。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17607616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档