Digital Ocean, SendGrid, Netlify - E-mail de registro da conta de administrador não está chegando

Então, acabei de executar o comando abaixo no SSH

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

e obtive a seguinte resposta

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

Acho que funcionou corretamente!

Então, talvez não seja um problema da Digital Ocean.

@pfaffman, mas eu usei todas as combinações de nome de usuário e senha do SendGrid…

Eu revisei todas as postagens da comunidade Discourse que você fez.

  1. Nome de usuário:
    a. apiKey
    b. apikey
    c. {meu_nome_de_usuario_admin}
    d. {meu_nome_de_usuario_membro_equipe}
    e. {meu_nome_de_usuario_admin}@email.com
    f. {meu_nome_de_usuario_membro_equipe}@email.com

  2. Porta:
    a. 25
    b. 2525
    c. 587

  3. Senha:
    a. token da API com “”
    b. token da API sem “”
    c. senha real do usuário

Estou esquecendo algo aqui?

Minha única suposição seria ver se você consegue gerar uma nova chave de API? Você claramente tem conectividade e está recebendo um erro de senha inválida. Com certeza é um problema com a senha.

Quando você alterou a senha nos seus testes, você destruiu e reiniciou o container ou apenas a alterou no app.yml?

Principalmente no app.yml.

Também tentei criar uma nova chave de API com um usuário diferente.
Não tenho certeza do que está causando isso, realmente, como o coronavírus…

Destruir o container significa chamar ./discourse-setup?

Se você apenas editar app.yml, nada acontecerá. Portanto, se você editou esse arquivo e tentou enviar um e-mail novamente, não fez nada e testou exatamente uma das suas combinações de usuário/senha.

Acredito que você possa executar ./launcher destroy app; ./launcher start app; discourse-doctor para aplicar as alterações e realizar um teste de e-mail.

Ah, sim, eu realmente chamei

./launcher stop app
./launcher rebuild app

Talvez eu devesse tentar com ./launcher destroy app.

Você sabe se ./discourse-doctor terá uma nova configuração antes de eu fazer ./launcher rebuild app?

destroy apenas permite que o container pegue certas configurações do arquivo yml sem exigir o tempo associado a um rebuild. Ele não faz nada extra.

Se você fez um rebuild após editar seu app.yml, ele estava usando as configurações atualizadas.

Na minha opinião, você tem duas opções:

  • Redefina a senha associada à chave de API no Sendgrid e atualize seu app.yml

ou

  • Valide a chave de API e a senha atuais usando outros meios.

@pfaffman @Stephen, usarei o comando destroy com a nova chave de API hoje após as 19h, depois da minha reunião, e compartilharei o resultado.

Ok, se isso não funcionar, podemos validar manualmente se a chave da API está funcionando.

Olá @erickimme @Stephen, vocês chegaram a encontrar uma solução para configurar e usar o SendGrid?

E aí! Você encontrou uma solução para isso?