2016-10-04 1 views
0

C'est la première fois que je travaille avec actionmailer en production.L'utilisation de {host: 'localhost', port: 3000} dans ActionMailer dans Production.rb pour le déploiement sur VPS?

Plus tôt, j'ai déployé une application sur un serveur VPS. Je ne lui ai pas encore attribué de domaine, il s'agit donc uniquement d'une adresse IP.

J'ai configuré les paramètres de mailer d'action, mais je suis curieux de cette ligne: config.action_mailer.default_url_options = { host: 'localhost', port: 3000 } puis-je utiliser l'adresse IP du serveur au lieu de { host: 'localhost', port: 3000 } ou fait l'acte de serveur en tant que localhost après l'application est déployée avec ce paramètre ?

Voici le code d'installation dans le production.rb

config.action_mailer.default_url_options = { host: 'localhost', port: 3000 } 
config.action_mailer.perform_deliveries = true 
config.action_mailer.raise_delivery_errors = true 
config.action_mailer.delivery_method = :smtp 
config.action_mailer.smtp_settings = { 
    address: ENV["SMTP_ADDRESS"], 
    user_name: ENV["SMTP_USER"], 
    password: ENV["SMTP_PASSWORD"], 
    domain: "gmail.com", 
    port: 587, 
    authentication: :login, 
    enable_starttls_auto: true 
} 

Répondre

2
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 } 

Une fois que vous avez configuré cela et vous utilisez ces paramètres pour envoyer le courrier via le serveur gmail. L'URL par défaut sera utilisée comme nom de domaine du site/de l'application, par exemple pour mot de passe oublié pour les utilisateurs.

http://localhost:3000/forgot_password?email="[email protected]" 

Vous devriez changer ceci au nom de domaine ou l'IP où le code d'application est hébergé. localhost est utilisé uniquement pour les configurations de développement.

+0

Ok merci ... c'est exactement ce que je cherchais. Donc je voudrais alors mettre l'adresse IP comme ceci '{host: '123.123.123.123', port: ???? } 'Qu'en est-il du port? peut-il rester le même? – Slowboy

+1

pourquoi aurait un port sur une configuration de production, il devrait par défaut à 80 si elle est exposée aux utilisateurs d'autres vont avec le port – Bijendra

+0

bien sûr, idiot moi :) puis-je définir l'hôte comme '{host: '123.123.123.123 '} '? – Slowboy