Проблема началась после того, как я привязал адрес сайта (он кириллический) к своему ip. Проблемы возникают при отправке почты при выполнении бекапа и при регистрации пользователя (ну и прочих действиях, при которых devise шлет письмо). Природу ошибки до конца не понял, но есть сильное подозрение, что это из-за моего доменного имени. Остальные письма, которые я шлю из контроллеров отсылаются нормально. Вот какую ошибку получаю:
An ActionView::Template::Error occurred in background at 2016-05-22 16:43:50 +0300 :
incompatible character encodings: UTF-8 and ASCII-8BIT
/var/www/4e4o/releases/20160522085506/app/views/devise/mailer/confirmation_instructions.html.haml:2:in `_app_views_devise_mailer_confirmation_instructions_html_haml___1275780348649185615_74784040'
-------------------------------
Backtrace:
-------------------------------
/var/www/4e4o/releases/20160522085506/app/views/devise/mailer/confirmation_instructions.html.haml:2:in `_app_views_devise_mailer_confirmation_instructions_html_haml___1275780348649185615_74784040'
/var/www/4e4o/shared/bundle/ruby/2.1.0/gems/actionview-4.2.5/lib/action_view/template.rb:145:in `block in render'
/var/www/4e4o/shared/bundle/ruby/2.1.0/gems/activesupport-4.2.5/lib/active_support/notifications.rb:166:in `instrument'
/var/www/4e4o/shared/bundle/ruby/2.1.0/gems/actionview-4.2.5/lib/action_view/template.rb:333:in `instrument'
/var/www/4e4o/shared/bundle/ruby/2.1.0/gems/actionview-4.2.5/lib/action_view/template.rb:143:in `render'
/var/www/4e4o/shared/bundle/ruby/2.1.0/gems/actionview-4.2.5/lib/action_view/renderer/template_renderer.rb:54:in `block (2 levels) in render_template'
/var/www/4e4o/shared/bundle/ruby/2.1.0/gems/actionview-4.2.5/lib/action_view/renderer/abstract_renderer.rb:39:in `block in instrument'
/var/www/4e4o/shared/bundle/ruby/2.1.0/gems/activesupport-4.2.5/lib/active_support/notifications.rb:164:in `block in instrument'
и т.д.
Посмотрел несколько тем с такой проблемой. Но то что нарыл мне не помогает, а именно:
/config/application.rbconfig.encoding = 'utf-8'
config.action_mailer.default :charset => 'utf-8'
/config/environment.rb# Load the Rails application.
require File.expand_path('../application', __FILE__)
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
# Initialize the Rails application.
Rails.application.initialize!
Вот если разбираться отдельно с backup, то если я указываю ip вместо доменного имени, то все хорошо, если наоборот, то происходит та же ошибка
notify_by Mail do |mail|
mail.on_success = true
mail.on_failure = true
mail.from = smtp_config['default_mail']
mail.to = smtp_config['default_mail']
mail.address = smtp_config['smtp_server']
mail.port = smtp_config['smtp_port']
mail.domain = <b>вот здесь</b>
mail.user_name = smtp_config['smtp_user']
mail.password = smtp_config['smtp_password']
mail.authentication = smtp_config['smtp_authentication']
mail.encryption = :starttls
end