Hola Juven,
Si tienes un Consul instalado en modo desarrollo es normal que no se envíen correos.
En el fichero config/environments/development.rb
puedes ver que la configuración para enviar correos se hace a través del letter_opener
:
# Deliver emails to a development mailbox at /letter_opener
config.action_mailer.delivery_method = :letter_opener
Que es muy útil cuando se esta desarrollando en local poder ver que se envían los correos sin necesidad de configurar los smtp_settings
.Si te fijas en los entornos de staging (config/environments/staging.rb), preproduction (config/environments/preproduction.rb) o production (config/environments/production.rb) la configuración para poder enviar correos es diferente:
# Configure your SMTP service credentials in secrets.yml
if Rails.application.secrets.smtp_settings
config.action_mailer.delivery_method = Rails.application.secrets.mailer_delivery_method || :smtp
config.action_mailer.smtp_settings = Rails.application.secrets.smtp_settings
end
Cómo puedes ver esta configuración depende del secrets.yml
.
Así que el problema que parece que tienes, es que estás modificando los secrets
relacionados con el smtp_settings
, pero al estar en un entorno de desarrollo no se utilizan.
Para que estando en modo desarrollo te cargue la configuración de los secrets.yml
deberías cambiar del fichero config/environments/development.rb
las siguientes lineas:
-- # Deliver emails to a development mailbox at /letter_opener
-- config.action_mailer.delivery_method = :letter_opener
++ # Configure your SMTP service credentials in secrets.yml
++ if Rails.application.secrets.smtp_settings
++ config.action_mailer.delivery_method = Rails.application.secrets.mailer_delivery_method || :smtp
++ config.action_mailer.smtp_settings = Rails.application.secrets.smtp_settings
++ end
y configurar correctamente en el apartado de development del secrets.yml
los siguientes secretos:
# mailer_delivery_method: :smtp
# smtp_settings:
# :address: "smtp.example.com"
# :port: 25
# :domain: "your_domain.com"
# :user_name: "<username>"
# :password: "<password>"
# :authentication: "plain"
# :enable_starttls_auto: true
Espero que este comentario te sea de utilidad.
Saludos.
#############################################################
Hi Juven,
If you have a Consul installed in development mode it is normal that the emails are not sent.
In the config/environments/development.rb file you can see that the configuration to send emails is done through the letter_opener:
# Deliver emails to a development mailbox at /letter_opener
config.action_mailer.delivery_method = :letter_opener
Which is very useful when developing locally to be able to see emails being sent without having to configure the smtp_settings.
If you look at the staging(config/environments/staging.rb), preproduction(config/environments/preproduction.rb) or production(config/environments/production.rb) environments the configuration for sending mail is different:
# Configure your SMTP service credentials in secrets.yml
if Rails.application.secrets.smtp_settings
config.action_mailer.delivery_method = Rails.application.secrets.mailer_delivery_method || :smtp
config.action_mailer.smtp_settings = Rails.application.secrets.smtp_settings
end
As you can see this configuration depends on the secrets.yml
.
So the problem you seem to have is that you are modifying the secrets related to the smtp_settings
, but being in a development environment they are not being used.
If you want to get the secrets.yml
settings in development mode you should change the following lines in config/environments/development.rb
:
-- # Deliver emails to a development mailbox at /letter_opener
-- config.action_mailer.delivery_method = :letter_opener
++ # Configure your SMTP service credentials in secrets.yml
++ if Rails.application.secrets.smtp_settings
++ config.action_mailer.delivery_method = Rails.application.secrets.mailer_delivery_method || :smtp
++ config.action_mailer.smtp_settings = Rails.application.secrets.smtp_settings
++ end
and configure correctly in the development section of the secrets.yml
the following secrets:
# mailer_delivery_method: :smtp
# smtp_settings:
# :address: "smtp.example.com"
# :port: 25
# :domain: "your_domain.com"
# :user_name: "<username>"
# :password: "<password>"
# :authentication: "plain"
# :enable_starttls_auto: true
I hope this comment is helpful to you.
Best regards.