Rails ActionMailer avec SendGrid
-
08-10-2019 - |
Question
J'utilise SendGrid pour envoyer des emails sur Heroku ...
Le problème est à ce jour alors qu'il fonctionne très bien sur Heroku, sur mon hôte local, il échoue.
En ce moment, je SendGrig installer ici, config / setup_mail.rb:
ActionMailer::Base.smtp_settings = {
:address => "smtp.sendgrid.net",
:port => "25",
:authentication => :plain,
:user_name => ENV['SENDGRID_USERNAME'],
:password => ENV['SENDGRID_PASSWORD'],
:domain => ENV['SENDGRID_DOMAIN']
}
Qu'est-ce qu'un Heroku / SendGrid pour me permettre de faire en sorte que mes expéditeurs travaillent dans DEV. Est-ce fichier setup_mail.rb une bonne chose? Devrait-il être dans le fichier env? Toutes les autres pensées?
Merci
La solution
Utilisation config / environnements / [development.rb | production.rb] comme mentionné ci-dessus tfe sons comme sa la voie à suivre. Il suffit de mettre la configuration ActionMailer dans l'un de ces fichiers et le modifier en fonction du développement | environnement de production.
Vous pouvez également trouver vos informations d'identification SendGrid utilisés par Heroku en exécutant la commande suivante:
heroku config --long
Ces informations d'identification sont utilisées pour toutes les authentifications SendGrid (SMTP Auth, connexion du site pour voir les statistiques, etc., l'accès API)
- Joe
SendGrid
Autres conseils
Il suffit de définir les variables d'environnement sur votre environnement de développement pour SENDGRID_USERNAME
, SENDGRID_PASSWORD
et SENDGRID_DOMAIN
. Ensuite, il fonctionnera.
Vous pouvez obtenir les valeurs correctes pour ces de votre application Heroku. Ouvrez la console de Heroku et obtenir les valeurs de ENV['SENDGRID_USERNAME']
et ainsi de suite.
Ou il suffit d'utiliser un ensemble différent de paramètres SMTP local. Ou utilisez sendmail ou quelque chose.