2016-04-09 3 views
0

У меня есть приложение Ruby on Rails (v4.1.5), работающее на OpenShift от RedHat. Я был в процессе перехода от Mandrill к SendGrid. В процессе развития я смог добавить следующее в мой development.rb конфигурационный файл:Транзакционная электронная почта не отправлена ​​с сервера rails в производство на OpenShift, но отлично работает в разработке

ActionMailer::Base.smtp_settings = { 
    :address => "smtp.sendgrid.net", 
    :port  => 587, 
    :authentication => "plain", 
    :domain => ENV["DOMAIN_NAME"], 
    :enable_starttls_auto => true, 
    :user_name => ENV["SENDGRID_USERNAME"], 
    :password => ENV["SENDGRID_PASSWORD"] 
} 

И я мог продолжать использовать ActionMailer же, как я делал раньше. Я тестировал его локально и получал электронные письма, а заголовки показывали, что они пришли через sendgrid.

Затем я добавил этот же код в production.rb и развернулся в OpenShift. Я добавил новые переменные среды имени пользователя и пароля SENDGRID, используемые в приведенном выше коде, и подтвердил, что они правильно установлены на OpenShift.

Но когда я его протестировал, в файле журнала говорится, что он отправил электронное письмо на правильный адрес электронной почты, но он не отображается на моей панели управления SendGrid, и я не получил электронное письмо.

Кто-нибудь знает какие-либо другие файлы журналов на OpenShift, которые могут отображать больше информации? Я только посмотрел на app-root/runtime/repo/log/production.log.

Я попытался удалить поле enable_starttls_auto выше, но ничего не изменилось.

Как я могу отладить эту проблему? Я не знаю, есть ли это на стороне OpenShift или SendGrid.

+0

Убедитесь, что все необходимые порты открыты в производственной среде. – bwest

+0

Номера портов SendGrid и Mandrill одинаковы (587). Он работал с Мандриллом, ничего не меняя. –

+0

Я попытался использовать SendInBlue вместо SendGrid. Снова он работал локально в разработке, но не работает в OpenShift. Поэтому я думаю, что это проблема. –

ответ

0

Эта статья должна помочь. Я не специалист по Ruby, поэтому я не могу помочь.

https://developers.openshift.com/external-services/sendgrid.html

Я знаю, что у нас есть много пользователей, использующих OpenShift и sendgrid.

Вот PHP код репо - Я знаю, что я не знаю, правильный язык, но хороший пример

https://github.com/sendgrid/openshift-sendgrid-php

+0

Я почти все это делаю. ActionMailer в Rails 4. ActionMailer использует почтовый камень, о котором они упоминают. Я также нашел другие документы SendGrid, показывающие конфигурацию при использовании ActionMailer, что совпадает с тем, что я сделал. Я думаю, что проблема связана с OpenShift, так как я получаю тот же результат с несколькими различными транзакционными службами электронной почты. –

 Смежные вопросы

  • Нет связанных вопросов^_^