2010-07-30 6 views
2

J'essaie d'envoyer un e-mail de confirmation à l'utilisateur.Net :: SMTPAuthenticationError 502 5.5.2 dans Rails ActionMailer

Mais je me l'erreur suivante:

Net::SMTPAuthenticationError (502 5.5.2 Error: command not recognized

Configuration en production.rb suit:

# Disable delivery errors, bad email addresses will be ignored 
config.action_mailer.raise_delivery_errors = true 

# set delivery method to :smtp, :sendmail or :test 
config.action_mailer.delivery_method = :smtp 

# these options are only needed if you choose smtp delivery 
config.action_mailer.smtp_settings = { 
    :address  => 'path_to_address_specified_by_my_hoster', 
    :port   => 25, 
    :domain   => 'my_domain.com', 
    :authentication => :plain, 
    :user_name  => '[email protected]_domain.com', 
    :password  => 'password' 
} 

J'ai créé une boîte aux lettres dans le profil utilisateur à mon fournisseur d'hébergement, appelé « inscription @ my_domain .com "

Pour la boîte aux lettres créée, ils m'ont délivré un identifiant et un mot de passe:

login = verbose_login

password = verbose_password

Je n'ai pas complètement compris le format exact de: nom_utilisateur.

Dois-je utiliser

:user_name => "[email protected]_domain.com" 

ou:

:user_name => "signup" 

ou:

:user_name => "verbose_login" 

Ou ce champ est spécifique au serveur de messagerie, et je dois demander le soutien du fournisseur d'hébergement ?

Et quelle est la différence entre: authentication =>: plain et: login?

Merci.

Répondre

5

Cela fonctionne bien pour moi:

config.action_mailer.smtp_settings = { 
    :address    => 'smtp.gmail.com', 
    :port     => 587, 
    :domain    => 'gmail.com', 
    :user_name   => '[email protected]', 
    :password    => 'secret_password', 
    :authentication  => 'login', 
    :enable_starttls_auto => true 
    } 

plus d'info here

Petr

+1

thx ça m'aide. :) –

1

J'ai eu la même erreur récemment, et la raison était format incorrect des bénéficiaires

recipient = IO.readlines(emails_filename).first 
mail(:to => recipient, :subject => subject) 

N'oubliez pas d'ajouter strip à obtenir des adresses e-mail propres.

0

Veuillez essayer de vous connecter avec le navigateur une seule fois. Il pourrait y avoir un problème avec la connexion (il faudra demander captcha etc).

Une fois que vous avez réussi à vous connecter, essayez avec Rails Mailer. Ça devrait marcher maintenant.

Ce problème survient généralement avec un compte de test car nous ne nous connectons généralement pas via le navigateur. Ensuite, les fournisseurs de messagerie demandent confirmation comme captcha, dob ou réponse de la question de sécurité etc.

1

J'ai eu le même problème, mais c'est juste un problème de configuration google. Pour certaines raisons, Google bloquait l'accès depuis un emplacement inconnu (application en cours de production). Pour résoudre ce problème, vous pouvez passer à http://www.google.com/accounts/DisplayUnlockCaptcha et cliquer sur Continuer (cela vous donnera accès pendant 10 minutes pour l'enregistrement de nouvelles applications).D'autre part, vous pouvez vous connecter à votre compte Gmail, puis aller au https://www.google.com/settings/security/lesssecureapps et activer l'accès à des applications moins sécurisées, ce qui était la solution pour moi!

0

Vous avez à utiliser ActionMaliler :: Base au lieu de config

ActionMailer::Base.smtp_settings #try this 

    config.action_mailer.smtp_settings #instead of this 

Modifier votre code smtp ci-dessous. Cela devrait fonctionner maintenant.

 ActionMailer::Base.smtp_settings = { 
     :address  => 'path_to_address_specified_by_my_hoster', 
     :port   => 25, 
     :domain   => 'my_domain.com', 
     :authentication => :plain, 
     :user_name  => '[email protected]_domain.com', 
     :password  => 'password' 
      }