メールの送信元のアドレスを本番メールに変更する時期になるまで、すべてのメールコードは正常に機能していました(これまでテストに個人のGmailアカウントを使用していました)。
スイッチを作成すると、次のスタックトレースでTypeErrorが発生し始めました
TypeError: can't convert Symbol into Integer
from /app/vendor/ruby-1.9.3/lib/ruby/1.9.1/net/smtp.rb:575:in `initialize'
from /app/vendor/ruby-1.9.3/lib/ruby/1.9.1/net/smtp.rb:575:in `new'
from /app/vendor/ruby-1.9.3/lib/ruby/1.9.1/net/smtp.rb:575:in `ssl_socket'
from /app/vendor/ruby-1.9.3/lib/ruby/1.9.1/net/smtp.rb:580:in `tlsconnect'
from /app/vendor/ruby-1.9.3/lib/ruby/1.9.1/net/smtp.rb:560:in `do_start'
from /app/vendor/ruby-1.9.3/lib/ruby/1.9.1/net/smtp.rb:519:in `start'
from /app/vendor/bundle/ruby/1.9.1/gems/mail-2.4.4/lib/mail/network/delivery_methods/smtp.rb:144:in `deliver!'
from /app/vendor/bundle/ruby/1.9.1/gems/mail-2.4.4/lib/mail/message.rb:2034:in `do_delivery'
from /app/vendor/bundle/ruby/1.9.1/gems/mail-2.4.4/lib/mail/message.rb:229:in `block in deliver'
from /app/vendor/bundle/ruby/1.9.1/gems/actionmailer-3.2.11/lib/action_mailer/base.rb:415:in `block in deliver_mail'
from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.11/lib/active_support/notifications.rb:123:in `block in instrument'
from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.11/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.11/lib/active_support/notifications.rb:123:in `instrument'
from /app/vendor/bundle/ruby/1.9.1/gems/actionmailer-3.2.11/lib/action_mailer/base.rb:413:in `deliver_mail'
from /app/vendor/bundle/ruby/1.9.1/gems/mail-2.4.4/lib/mail/message.rb:229:in `deliver'
from (irb):1
from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/commands/console.rb:47:in `start'
from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/commands/console.rb:8:in `start'
from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/commands.rb:41:in `<top (required)>'
これが完全に機能することと上記のスタックトレースを取得することの間で変更された唯一のことは、SMTP設定の変更です。これが私の前後のSMTP設定です(もちろん機密情報は除外されています)
前(Gmailアカウントを使用):
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "www.domain.com",
:user_name => "username",
:password => "password",
:authentication => :plain,
:enable_starttls_auto => true
}
後(Gmailアカウントではありません):
ActionMailer::Base.smtp_settings = {
:address => "smtp.domain.com",
:port => 587,
:domain => "www.domain.com",
:user_name => "username",
:password => "password",
:authentication => :login,
:openssl_verify_mode => :none,
:enable_starttls_auto => true
}
認証タイプと他のいくつかの属性を変更しようとしましたが、何も機能していません。