Configuración smtp gmail

Buenas,

He configurado el servidor de correo smtp en el fichero /config/secrets.yml de esta forma:

smtp_settings:
:address: “smtp.google.com
:port: 465
:domain: “gmail.com
:user_name: “correo
:password: “contraseña
:authentication: “plain”
:enable_starttls_auto: true

Pero no recibo los emails desde la plataforma, ¿pueden ayudarme?

Muchas gracias, un saludo.

Hola @JMZZ :smile:.

Supongo que estás usado la versión 1.1 de CONSUL (que es la última versión). ¿Es correcto?

¿Has reiniciado CONSUL después de editar el secrets.yml? Los cambios en este fichero solo son efectivos tras reiniciar la aplicación (tenemos pendiente actualizar la documentación al respecto).

¿En qué entorno estás ejecutando CONSUL? ¿“production” (valor, por defecto), “staging”, …? Asegúrate de que la configuración está en la sección correspondiente del secrets.yml.

Hola @javi.

He instalado la plataforma en un vps con ubuntu 16.04 y siguiendo los siguientes pasos:

sudo apt-get update
sudo apt install git
sudo apt-get -y install python-simplejson
sudo apt install software-properties-common
sudo apt-add-repository --yes --update ppa:ansible/ansible
sudo apt install ansible
git clone https://github.com/consul/installer
cd installer
cp hosts.example hosts
nano hosts (indicando la ip del servidor)
sudo ansible-playbook -v consul.yml -i hosts

Con esto ya puedo acceder via web.

Despues he probado configurando el fichero secrets.yml como puse arriba y haciendo un reboot al vps. (No he configurado capristiano)

Tambien he probado a incluir directamente en el fichero production.rb lo siguiente:

 # Configure your SMTP service credentials in secrets.yml

if Rails.application.secrets.smtp_settings

config.action_mailer.delivery_method = Rails.application.secrets.mailer_de$

config.action_mailer.smtp_settings = Rails.application.secrets.smtp_settin$

end

config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.smtp_settings = {
:address => ‘smtp.gmail.com’,
:port => 467, --(he probado varios puertos)
:domain => ‘gmail-com’, (- para que no se tome como enlace)
:user_name => ‘email’,
:password => ‘contraseña’,
:authentication => :plain,
:enable_starttls_auto => true,
:ssl => false
}

No tengo conocimientos del lenguaje utilizado, por lo que no se si estoy haciendo algo mal.

Por otro lado al ejecutar cd /home/deploy/consul/current && bin/rails c production
obtengo esto:

/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in require': cannot load such file -- bundler/setup (LoadError) from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:inrequire’
from /home/deploy/consul/releases/20200423165628/config/boot.rb:3:in <top (required)>' from bin/rails:3:inrequire_relative’
from bin/rails:3:in `’

Espero haber dado bastante detalle para que puedan ayudarme.
Gracias!

No se porque las lineas comentadas del fichero production.rb se muestran en mayuscula.

Otra cosa que me he olvidado comentar, es que en principio en la web aparece un mensaje como que el envio se ha realizado correctamente.

Un saludo.

Muy buenas :smile:.

Respecto al fallo de la consola de Rails:

/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in require'

Esto hace referencia a Ruby 2.3, pero en la última versión de CONSUL usamos Ruby 2.4 :thinking:. ¿Puedes ir a la carpeta /home/deploy/consul/current y comprobar qué contiene el fichero .ruby-version? ¿Y qué obtienes si ejecutas ruby -v en dicha carpeta?

En cuanto a la configuración del correo, una cosa que he visto es que aparece smtp.google.com, que aparentemente no existe :thinking:. ¿Puede ser que lo correcto sea smtp.gmail.com?

Buenas Javi,

Sobre el fichero que comentas me indica lo siguiente:
/home/deploy/consul/current# cat .ruby-version
2.4.9

Al ejecutar ruby -v me muestra:
:/home/deploy/consul/current# ruby -v
ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]

En cuanto a la configuración del correo, si es smtp.gmail.com, de tanto cambio se me paso, pero esta probado con el correcto.

Gracias, un saludo.

Muy buenas :smile:.

¿Estás ejecutando bin/rails c production, y ruby -v como root o como usuario deploy? :thinking:

Respecto a la configuracion del correo, personalmente nunca he usado gmail. A ver si hay suerte y alguien que lo haya usado te puede echar un cable.

En cualquier caso, te recomendaría deshacer los cambios que hayas hecho en el fichero production.rb y hacer todas las pruebas con el secrets.yml. Por cierto, como te preguntaba antes, dentro de ese fichero lo estás cambiando en la sección de production, ¿verdad?

Buenas,

Lo ejecuto con usuario root, pero ejecutando con deploy el resultado es el mismo.

Entiendo que el installer hace que se inicie el servicio automaticamente en producción al reiniciar el vps.

Y si, la configuración la indico en la sección de producción.

Acabo de volver a activar la configuración desde el secrets.yml y ahora si me funciona.
Me ha llegado una invitación.

No se que cosa sería la que hacia mal, supongo alguna tontería…
Gracias por la ayuda y disculpa la molestia.

PD: el error de ruby sigue no se si afectará en alguna otra cosa.

Buenas,

Dejo aqui la configuración del fichero secrets.yml para gmail:

mailer_delivery_method: :smtp
smtp_settings:
:address: “smtp.gmail.com
:port: 587
:domain: “dominio_web”
:user_name: “email”
:password: “contraseña”
:authentication: “plain”
:enable_starttls_auto: true
force_ssl: false
delay_jobs: true

Un saludo.