2017-08-24 7 views
0

Nous avons utilisé envoyer le service de mailing de la grille sur notre application rails pour envoyer un courriel à nos utilisateurs. Nous avons notre application hébergée sur le serveur Heroku, mais il y a une erreur interne dès que les rails essaient d'envoyer un courriel à nos utilisateurs.Mail pas envoyer via send mailing service de la grille

J'ai regardé dans les journaux Heroku et l'erreur est

Terminé 500 Internal Server Error dans 63ms (ActiveRecord: 11.1ms) 2017-08-24T11: 28: 03,914063 + 00: 00 app [web. 1]: Errno :: ECONNREFUSED (Connection refused - connect (2) pour le port nul 25):

Dans production.rb

config.action_mailer.delivery_method = :smtp 

config.action_mailer.perform_deliveries = true 

config.action_mailer.smtp_settings = { 
    :user_name => ENV['SENDGRID_USERNAME'], 
    :password => ENV['SENDGRID_PASSWORD'], 
    :domain => ENV['DOMAIN'], 
    :address => 'smtp.sendgrid.net', 
    :port => 587, 
    :authentication => :plain, 
    :enable_starttls_auto => true 
} 

Nous avons utilisé SendGrid heroku add-on sur le serveur de sorte que ENV sont bien configuré. Le domain: ENV['DOMAIN'] indique la configuration du domaine sur ENV La variable en tant que domaine sera différente sur un serveur de transfert et un serveur de production.

Répondre

0

L'erreur de connexion refusée que vous avez affichée concerne le port 25, qui est le port SMTP par défaut.

Il semblerait que votre config ne soit pas utilisée. Etes-vous sûr que vous exécutez dans l'environnement de production (et non pas le développement) et que ces paramètres ne sont pas remplacés par un autre fichier de configuration, ou par e-mail? L'utilisation d'une console Rails pour envoyer manuellement un e-mail et inspecter l'ensemble de sa configuration peut être utile si vous ne parvenez pas à localiser le problème.