2017-08-04 1 views
0

Je suis en train de configurer Zoho mail smtp et je ne comprends pas ce que je fais mal. En mode de développement, tout est ok, mais dans la production j'ai l'erreur ci-dessous lors de l'envoi email:Rails Zoho Net :: SMTPAuthenticationError: 530

Net::SMTPAuthenticationError: 530 5.5.1 Authentication Required. 

Mes réglages env de production:

config.action_mailer.delivery_method = :smtp 
config.action_mailer.default_url_options = { host: 'not-real.com' } 

config.action_mailer.smtp_settings = { 
    port: 465, 
    ssl: true, 
    tls: true, 
    authentication: :login, 
    address: 'smtp.zoho.eu', 
    domain: 'not-real.com', 
    enable_starttls_auto: true, 
    password: ENV['ZOHO_PASSWORD'], 
    user_name: ENV['ZOHO_USER_NAME'] 
} 

d'abord à tout ce que je pensais que le problème dans le mauvais mot de passe ou user_name mais non. Ensuite j'ai vérifié le domaine dans le panneau de contrôle de Zoho ---> Domaines mais tout est ok. Dans Zoho SMTP Server Configuration dit:

Outgoing Server Name: smtp.zoho.eu 
Port: 465 
Security Type: SSL 

Require Authentication: Yes. 

Mais pourriez-vous s'il vous plaît dites-moi ce que cela signifie? -> Exiger l'authentification: Oui.

Dois-je changer quelque chose dans les paramètres Zoho?

+0

Résolu! En fait, le problème était dans la définition des variables env à travers le fichier .bashrc en production. Donc quand je vérifiais les variables d'env dans la console rails par Rails.application.config.action_mailer.smtp_settings toutes les options étaient présentes et correctes mais l'email ne fonctionnait pas. Je l'ai résolu en utilisant dotenv-rails dans ma production au lieu du fichier .bashrc. Voici le lien que j'utilise pour installer .env en production https://stackoverflow.com/questions/17150736/environment-variables-on-production –

Répondre

0
config.action_mailer.delivery_method = :smtp 

config.action_mailer.default_url_options = { host: 'example.com' } 

config.action_mailer.smtp_settings = { 
    port: 587, 
    ssl: true, 
    tls: true, 
    authentication: :login, 
    address: 'smtp.zoho.com', 
    domain: 'mail.zoho.com', 
    enable_starttls_auto: true, 
    password: 'password', 
    user_name: 'username' 
} 

Cela a fonctionné pour moi. Vos paramètres peuvent être bien certains réseaux locaux bloquent ces types de paquets.

+0

Maintenant, j'ai cette erreur: OpenSSL :: SSL :: SSLError: SSL_connect retourné = 1 errno = 0 état = serveur de lecture SSLv2/v3 bonjour A: protocole inconnu. C'est à cause de l'utilisation de smtp.zoho.eu. C'est pourquoi j'utilise le port: 465 –

+0

supprimer tls et utiliser le port: 465 et l'essayer une fois.J'ai eu aucune erreur.Il fonctionne très bien dans ma production. – Pravanthi

+0

En fait, j'ai essayé de nombreuses options et cela ne fonctionne pas. La même chose avec ces paramètres: port: 465, ssl: vrai, domaine: 'mail.zoho.com', authentification:: login, adresse: 'smtp.zoho.com', enable_starttls_auto: vrai, mot de passe: ENV ['ZOHO_PASSWORD' ], nom_utilisateur: ENV ['ZOHO_USER_NAME'] Maintenant j'ai Net :: SMTPAuthenticationError: Échec de l'authentification 535 –