Digital Ocean, SendGrid, Netlify: el correo de registro de la cuenta de administrador no llega

Así que acabo de ejecutar el siguiente comando en SSH

openssl s_client -starttls smtp -connect smtp.sendgrid.net:587
EHLO

y obtuve la respuesta

CONNECTED(00000005)
depth=2 C = US, ST = Arizona, L = Scottsdale, O = "GoDaddy.com, Inc.", CN = Go Daddy Root Certificate Authority - G2
verify return:1
depth=1 C = US, ST = Arizona, L = Scottsdale, O = "GoDaddy.com, Inc.", OU = http://certs.godaddy.com/repository/, CN = Go Daddy Secure Certificate Authority - G2
verify return:1
depth=0 OU = Domain Control Validated, CN = *.smtp.sendgrid.net
verify return:1
---
Certificate chain
 0 s:OU = Domain Control Validated, CN = *.smtp.sendgrid.net
   i:C = US, ST = Arizona, L = Scottsdale, O = "GoDaddy.com, Inc.", OU = http://certs.godaddy.com/repository/, CN = Go Daddy Secure Certificate Authority - G2
 1 s:C = US, ST = Arizona, L = Scottsdale, O = "GoDaddy.com, Inc.", OU = http://certs.godaddy.com/repository/, CN = Go Daddy Secure Certificate Authority - G2
   i:C = US, ST = Arizona, L = Scottsdale, O = "GoDaddy.com, Inc.", CN = Go Daddy Root Certificate Authority - G2
 2 s:C = US, ST = Arizona, L = Scottsdale, O = "GoDaddy.com, Inc.", CN = Go Daddy Root Certificate Authority - G2
   i:C = US, O = "The Go Daddy Group, Inc.", OU = Go Daddy Class 2 Certification Authority
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIGvzCCBaegAwIBAgIIR8KHdm5J8J0wDQYJKoZIhvcNAQELBQAwgbQxCzAJBgNV
BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRow
GAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjEtMCsGA1UECxMkaHR0cDovL2NlcnRz
LmdvZGFkZHkuY29tL3JlcG9zaXRvcnkvMTMwMQYDVQQDEypHbyBEYWRkeSBTZWN1
cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwHhcNMTgxMjI4MjAyMjIwWhcN
MjAxMjI4MjAyMjIwWjBBMSEwHwYDVQQLExhEb21haW4gQ29udHJvbCBWYWxpZGF0
ZWQxHDAaBgNVBAMMEyouc210cC5zZW5kZ3JpZC5uZXQwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQC/xYdx1oyPHcE6EdH61RXJK9JYA9p9GOrYhJ6rVq2c
zpGR3/4EHwaZO/daZxvTn5p3LRBBW5KBBBNCLa0Vl84dLt6skUg3oWo17mim2ly1
AegTwN15/wxqq8Hf2G4Sr9g00zlBAEs2HeOyr3SxEvLCLscYtIKG7cD+CsUi0JT6
EeDXCVL04nJIheFh4h9TRcCook97yuqt7muySrarzekatOnpv4kuU8bk0uq4ym5K
NO4zRUiCRy7JXAC2KZ4+0qhSlPFACRvygdPxK5ICvQq8/ZPlRWVn3yrWnQ4kEekp
jDT4ucOpv8V/SxYmsBRqFD35ASDj6PZLYmJFb9XdzGCzAgMBAAGjggNFMIIDQTAM
BgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAOBgNV
HQ8BAf8EBAMCBaAwNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDovL2NybC5nb2RhZGR5
LmNvbS9nZGlnMnMxLTkwMS5jcmwwXQYDVR0gBFYwVDBIBgtghkgBhv1tAQcXATA5
MDcGCCsGAQUFBwIBFitodHRwOi8vY2VydGlmaWNhdGVzLmdvZGFkZHkuY29tL3Jl
cG9zaXRvcnkvMAgGBmeBDAECATB2BggrBgEFBQcBAQRqMGgwJAYIKwYBBQUHMAGG
GGh0dHA6Ly9vY3NwLmdvZGFkZHkuY29tLzBABggrBgEFBQcwAoY0aHR0cDovL2Nl
cnRpZmljYXRlcy5nb2RhZGR5LmNvbS9yZXBvc2l0b3J5L2dkaWcyLmNydDAfBgNV
HSMEGDAWgBRAwr0njsw0gzCiM9f7bLPwtCyAzjAxBgNVHREEKjAoghMqLnNtdHAu
c2VuZGdyaWQubmV0ghFzbXRwLnNlbmRncmlkLm5ldDAdBgNVHQ4EFgQUqLajl4xR
pZ1YZD2l6KsTfcmd8t4wggF9BgorBgEEAdZ5AgQCBIIBbQSCAWkBZwB2AKS5CZC0
GFgUh7sTosxncAo8NZgE+RvfuON3zQ7IDdwQAAABZ/Z7aIYAAAQDAEcwRQIhAOhF
95cuap1qIlSVtRzNkaUbNHxpgj+RoBfxcSFgqlBZAiBNsRnVaIwWMBoR9s+a9YwC
neLWWN777jRjew5mv2DVbwB2AO5Lvbd1zmC64UJpH6vhnmajD35fsHLYgwDEe4l6
qP3LAAABZ/Z7bY8AAAQDAEcwRQIgJZMibCSMJDwTwEp64XSQQXCuYtKJDvhT7FwK
rxoyH6oCIQCz1HVQbPLwMOXQPBRQFtpYEb18JCVdzlh8+f0hITgC5gB1AF6nc/nf
VsDntTZIfdBJ4DJ6kZoMhKESEoQYdZaBcUVYAAABZ/Z7cugAAAQDAEYwRAIgQoxF
Fak6Aq9tVDo5BjaSl+90pZ8928SmDpA3XrQ7BrQCIHdOuigFbYK96gJ/GPaVNGqc
w5FKxw9Z8TnpjZH1GEC/MA0GCSqGSIb3DQEBCwUAA4IBAQBbBTL603nJ9H7ClsKR
g/XmFpGwQ4C5OftGmZ/Z/CG9iqOkLB2TPqdJ9NZRruMpWjnOnvDFoQ3NMSfDYdsn
25fzh30fx2+zIWW2IdKa1yO4A9tr3cxn4iINy/+dcNmF6tciGJtdBhZZgpyqhymu
kjuMCQRL17uVkLyrYA/+Ti5N02fzRchprOydiasnhHSdDM3HVZQOqjOvoB5omtuf
D1aldjrgW+TcILlnZxYvaqDPeMvUIZxQPzealRniQ7tmMOAgJfjZXxzuXatqXqw0
zbvQOiY2pSDn7WPxLbGafLAOFWIWhHtkEZMRC2n3WpupiZuC0pacmQeUgVY6Vabs
KU8W
-----END CERTIFICATE-----
subject=OU = Domain Control Validated, CN = *.smtp.sendgrid.net

issuer=C = US, ST = Arizona, L = Scottsdale, O = "GoDaddy.com, Inc.", OU = http://certs.godaddy.com/repository/, CN = Go Daddy Secure Certificate Authority - G2

---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 5018 bytes and written 478 bytes
Verification: OK
---
New, TLSv1.2, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES256-GCM-SHA384
    Session-ID: 081F291AEFD3E9D5396C2EF1F8579DF4DDE1C11A2CCC94CC2B668203E1D7840C
    Session-ID-ctx: 
    Master-Key: 1A0FC6DC13AC6CBD72A1DABE175792DC0DA6F7F15D196773AC28AD0071AC71A0A9EEF680DEE76098A3E2F2EAE57D9884
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 300 (seconds)
    TLS session ticket:
    0000 - 7b 0a 89 09 92 c5 71 59-83 e9 d4 8e a8 89 cc 20   {.....qY....... 
    0010 - 1f bf 32 5b 69 4b 4b f1-15 b7 f4 45 24 f9 2b 38   ..2[iKK....E$.+8
    0020 - 18 89 17 ee 7d 7a e1 e2-cd 27 b0 95 3e 48 c8 7c   ....}z...'..>H.|
    0030 - 7f fa 5c 79 a0 fd 6b e0-f7 55 f3 f4 b1 52 eb 68   ..\y..k..U...R.h
    0040 - e5 be f7 02 c6 ca fe a9-7e 4f 78 fb cc 73 9c 1b   ........~Ox..s..
    0050 - 78 17 68 96 98 36 4b a0-7f 94 0d cf b8 ca 16 cc   x.h..6K.........
    0060 - 3f 1d ee 42 30 c0 b2 57-26 ed 83 72 41 0a d5 67   ?..B0..W&..rA..g
    0070 - 39 9a 03 a0 b9 99 87 3f-d1 f3 ca 9a 15 46 e1 ac   9......?.....F..
    0080 - 92 dd 4f 75 84 1d cd 01-01 e8 b0 6c 6d b8 41 88   ..Ou.......lm.A.
    0090 - 75 73 36 13 bc e1 71 db-a7 4f 10 be 2b 23 af 61   us6...q..O..+#.a
    00a0 - 7e 62 16 94 35 d7 2d f8-9e c0 db 20 b5 65 dc db   ~b..5.-.... .e..

    Start Time: 1584738869
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
---
250 AUTH=PLAIN LOGIN
EHLO
250-smtp.sendgrid.net
250-8BITMIME
250-PIPELINING
250-SIZE 31457280
250-STARTTLS
250-AUTH PLAIN LOGIN
250 AUTH=PLAIN LOGIN

¡Creo que se ejecutó correctamente!

Así que quizás no sea un problema de Digital Ocean.

@pfaffman pero usé todas las combinaciones de nombre de usuario y contraseña de SendGrid…

Revisé todas las publicaciones de la comunidad de Discourse que hiciste:

  1. Nombre de usuario
    a. apiKey
    b. apikey
    c. {mi_nombre_de_usuario_admin}
    d. {mi_nombre_de_usuario_miembro_equipo}
    e. {mi_nombre_de_usuario_admin}@email.com
    f. {mi_nombre_de_usuario_miembro_equipo}@email.com

  2. Puerto
    a. 25
    b. 2525
    c. 587

  3. Contraseña
    a. apitoken con “”
    b. apitoken sin “”
    c. contraseña real del usuario

¿Hay algo más que deba estar considerando?

Mi única suposición sería ver si puedes generar una nueva clave de API. Claramente tienes conectividad y estás recibiendo un error de contraseña incorrecta. Ciertamente es un problema con la contraseña.

Cuando cambiaste la contraseña en tus pruebas, ¿destruiste y reiniciaste el contenedor o solo la cambiaste en el app.yml?

Principalmente en app.yml.

También intenté crear una nueva clave API con un usuario diferente.
No estoy seguro de qué está causando esto realmente, como el coronavirus…

¿Destruir el contenedor significa ejecutar ./discourse-setup?

Si solo editas app.yml, no ocurre nada. Por lo tanto, si has estado editando ese archivo y luego intentas enviar un correo electrónico, no has hecho nada y solo has probado una de tus combinaciones de usuario/contraseña.

Creo que puedes ejecutar ./launcher destroy app; ./launcher start app; discourse-doctor para aplicar los cambios y realizar una prueba de correo.

Ah sí, llamé:

./launcher stop app
./launcher rebuild app

Quizás debería probar con ./launcher destroy app.

¿Sabes si ./discourse-doctor tendrá una nueva configuración antes de que ejecute ./launcher rebuild app?

destroy solo permite que el contenedor reciba ciertas configuraciones del archivo YAML sin requerir el tiempo asociado con un rebuild. No realiza ninguna acción adicional.

Si realizaste un rebuild después de editar tu app.yml, se utilizaron las configuraciones actualizadas.

En mi opinión, tienes dos opciones:

  • Restablecer la contraseña asociada a la clave API en Sendgrid y actualizar tu app.yml

o

  • Validar la clave API y la contraseña actuales utilizando otros métodos.

@pfaffman @Stephen Usaré el comando destroy con la nueva clave API hoy después de las 19:00, una vez finalizada mi reunión, y compartiré los resultados.

Vale, si eso no funciona, podemos validar manualmente si la clave de API está funcionando.

Hola @erickimme @Stephen, ¿encontraron alguna solución para configurar y usar SendGrid?

¡Hola! ¿Encontraste una solución para esto?