Net :: SMTPFatalError en MessagesController # create – 550 No se puede recibir desde la dirección especificada: remitentes no autenticados no permitidos

Tengo una aplicación Rails 4.1.8 usando Devise, Heroku y Sendgrid. Enviar correos electrónicos es parte de la funcionalidad de las aplicaciones. Todo funciona perfectamente en el desarrollo de mi computadora portátil en la que construí la aplicación. Se están enviando y recibiendo correos electrónicos … todo está bien.

He clonado el repository en mi escritorio, y estoy recibiendo los errores anteriores.

He configurado todas mis variables ENV usando la gem Figaro. Cuando ejecuto heroku config en mi laptop dev, están presentes todos los valores y variables correctos.

Aquí está mi file config/initializers/setup_mail.rb :

 if Rails.env.development? || Rails.env.production? ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.smtp_settings = { address: 'smtp.sendgrid.net', port: '587', authentication: :plain, user_name: ENV['SENDGRID_USERNAME'], password: ENV['SENDGRID_PASSWORD'], domain: 'heroku.com', enable_starttls_auto: true } end 

Estoy usando la gem Figaro, y he creado un file config/application.yml en mi computadora portátil dev que contiene mis variables seguras ENV. Como este file está en la list .gitignore , también he creado un file config/application.yml en mi computadora de escritorio (la segunda computadora) que se ve así:

 SENDGRID_USERNAME: <%= ENV["SENDGRID_USERNAME"] %> SENDGRID_PASSWORD: <%= ENV["SENDGRID_PASSWORD"] %> SECRET_KEY_BASE: <%= ENV["SECRET_KEY_BASE"] %> DEVISE_SECRET_KEY: <%= ENV["DEVISE_SECRET_KEY"] %> 

Una vez más, todo funciona perfectamente en desarrollo en mi laptop dev, pero en mi segunda computadora recibo este error:

 Net::SMTPFatalError in MessagesController#create 550 Cannot receive from specified address <support@******.com>: Unauthenticated senders not allowed 

¡Gracias!

¿Has probado usar la gem SendGrid ?

Los Unauthenticated senders not allowed explícitamente significa que se está conectando a SendGrid, pero no están intentando hacer un command AUTH LOGIN antes de enviar un post. Veo que tiene definida la authentication , pero algo impide que se habilite realmente.