首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在rails中使用mailjet

在rails中使用mailjet
EN

Stack Overflow用户
提问于 2016-06-07 08:54:38
回答 1查看 395关注 0票数 0

我想使用Mailjet来发送订单确认电子邮件。

首先,我安装了Gem并配置为Mailjet guide

代码语言:javascript
复制
gem 'mailjet'

初始化器/mailjet.rb

代码语言:javascript
复制
Mailjet.configure do |config|
  config.api_key = '<my_api_key>'
  config.secret_key = '<my_secret_key>'
  config.default_from = '<my_email>'
end

config/application.rb

代码语言:javascript
复制
config.action_mailer.delivery_method = :mailjet_api

这是我的控制器中的动作

代码语言:javascript
复制
def send_email_reserved
    email = { :from_email   => "<my_from_email>",
          :from_name    => "Dona Sky",
          :subject      => "Hello",
          :text_part    => "Hi",
          :recipients   => [{:email => "<my_to_email>"}] }

    test = Mailjet::Send.create(email)
    p test.attributes['Sent']
  end

当我调用该操作时,它显示了错误

代码语言:javascript
复制
NoMethodError: undefined method `[]' for #<Set: {#<MIME::Type: application/json>}>
    from /Users/Dona/.rvm/gems/ruby-2.2.2/gems/rest-client-1.6.7/lib/restclient/request.rb:307:in `type_for_extension'
    from /Users/Dona/.rvm/gems/ruby-2.2.2/gems/rest-client-1.6.7/lib/restclient/request.rb:312:in `type_for_extension'
    from /Users/Dona/.rvm/gems/ruby-2.2.2/gems/rest-client-1.6.7/lib/restclient/request.rb:286:in `block (2 levels) in stringify_headers'
    from /Users/Dona/.rvm/gems/ruby-2.2.2/gems/rest-client-1.6.7/lib/restclient/request.rb:286:in `map'
    from /Users/Dona/.rvm/gems/ruby-2.2.2/gems/rest-client-1.6.7/lib/restclient/request.rb:286:in `block in stringify_headers'
    from /Users/Dona/.rvm/gems/ruby-2.2.2/gems/rest-client-1.6.7/lib/restclient/request.rb:272:in `each'
    from /Users/Dona/.rvm/gems/ruby-2.2.2/gems/rest-client-1.6.7/lib/restclient/request.rb:272:in `inject'
    from /Users/Dona/.rvm/gems/ruby-2.2.2/gems/rest-client-1.6.7/lib/restclient/request.rb:272:in `stringify_headers'
    from /Users/Dona/.rvm/gems/ruby-2.2.2/gems/rest-client-1.6.7/lib/restclient/request.rb:92:in `make_headers'
    from /Users/Dona/.rvm/gems/ruby-2.2.2/gems/rest-client-1.6.7/lib/restclient/request.rb:58:in `initialize'
    from /Users/Dona/.rvm/gems/ruby-2.2.2/gems/rest-client-1.6.7/lib/restclient/request.rb:33:in `new'
    from /Users/Dona/.rvm/gems/ruby-2.2.2/gems/rest-client-1.6.7/lib/restclient/request.rb:33:in `execute'
    from /Users/Dona/.rvm/gems/ruby-2.2.2/gems/rest-client-1.6.7/lib/restclient/resource.rb:67:in `post'
    from /Users/Dona/.rvm/gems/ruby-2.2.2/gems/mailjet-1.3.8/lib/mailjet/connection.rb:67:in `handle_api_call'
    from /Users/Dona/.rvm/gems/ruby-2.2.2/gems/mailjet-1.3.8/lib/mailjet/connection.rb:47:in `post'
    from /Users/Dona/.rvm/gems/ruby-2.2.2/gems/mailjet-1.3.8/lib/mailjet/resource.rb:215:in `save'
EN

回答 1

Stack Overflow用户

发布于 2016-06-07 15:45:10

这是一个依赖问题。尝试向您的Gemfile添加以下内容:gem rest-client '~>1.6.9'并运行bundle update

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

https://stackoverflow.com/questions/37668922

复制
相关文章

相似问题

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