Digital Ocean، SendGrid، Netlify: بريد حساب المسؤول الإداري لا يصل

لقد قمت للتو بتشغيل الأمر التالي عبر ssh

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

وحصلت على الاستجابة

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

أعتقد أن الأمر قد اكتمل بنجاح؟!

لذا ربما ليست المشكلة في Digital Ocean.

@pfaffman لكنني استخدمت جميع توليفات اسم المستخدم وكلمة المرور من SendGrid…
لقد راجعت جميع منشورات مجتمع Discourse التي أنشأتها

  1. اسم المستخدم
    a. apiKey
    b. apikey
    c. {my_admin_username}
    d. {my_teammember_username}
    e. {my_admin_username}@email.com
    f. {my_teammember_username}@email.com

  2. المنفذ
    a. 25
    b. 2525
    c. 587

  3. كلمة المرور
    a. رمز الـ API مع “”
    b. رمز الـ API بدون “”
    c. كلمة مرور المستخدم الفعلية

هل هناك شيء أنا أفتقده هنا؟

تخميني الوحيد هو أن تتحقق مما إذا كان بإمكانك إنشاء مفتاح API جديد؟ فمن الواضح أن لديك اتصالاً وتظهر لك رسالة خطأ بكلمة مرور خاطئة. بالتأكيد المشكلة تكمن في كلمة المرور.

عندما قمت بتغيير كلمة المرور في اختباراتك، هل قمت بتدمير وإعادة تشغيل الحاوية أم أنك غيرتها فقط في ملف app.yml؟

في الغالب في ملف app.yml.

لقد حاولت أيضًا إنشاء مفتاح API جديد مع مستخدم مختلف.
لا أعرف حقًا ما الذي يسبب هذا، تمامًا مثل فيروس كورونا…

هل يعني تدمير الحاوية استدعاء ./discourse-setup؟

إذا قمت بتعديل ملف app.yml فقط، فلن يحدث أي شيء. لذا، إذا كنت قد عدّلت هذا الملف ثم حاولت إرسال بريد إلكتروني مرة أخرى، فإنك لم تقم بأي شيء وقد اختبرت مزيجًا واحدًا فقط من اسم المستخدم وكلمة المرور.

أعتقد أنه يمكنك تنفيذ الأمر ./launcher destroy app; ./launcher start app; discourse-doctor لتطبيق التغييرات وإجراء اختبار للبريد الإلكتروني.

أجل، لقد قمت بالاستدعاء:

./launcher stop app
./launcher rebuild app

ربما ينبغي لي أن أجرب مع ./launcher destroy app.

هل تعلم ما إذا كان ./discourse-doctor سيحتوي على إعدادات جديدة قبل أن أقوم بـ ./launcher rebuild app؟

destroy يسمح فقط للحاوية باستلام إعدادات معينة من ملف yml دون الحاجة للوقت المرتبط بـ rebuild. لا يقوم بأي إجراء إضافي.

إذا قمت بإعادة البناء بعد تعديل ملف app.yml، فقد تم استخدام الإعدادات المحدّثة.

كما أرى، لديك خياران:

  • إعادة تعيين كلمة المرور المرتبطة بمفتاح API في Sendgrid وتحديث ملف app.yml

أو

  • التحقق من مفتاح API وكلمة المرور الحاليين باستخدام وسائل أخرى.

@pfaffman @Stephen سأستخدم أمر destroy مع مفتاح API الجديد اليوم بعد الساعة 7 مساءً بعد اجتماعي، وسأشارك النتيجة.

حسناً، إذا لم ينجح ذلك، يمكننا التحقق يدوياً مما إذا كان مفتاح API يعمل.

مرحبًا @erickimme @Stephen - هل وجدتم حلًا لإعداد واستخدام SendGrid؟

مرحبًا! هل وجدت حلاً لهذه المشكلة؟