الإعداد
1
ConfigMap
30-config.yaml (additions)
OVERLEAF_EMAIL_FROM_ADDRESS الإرسال. اضبطه فقط مع خادم SMTP (أو SES): فمع ضبط المرسل وحده، يحاول Ayakaleaf Pro استخدام خادم SMTP داخل الـ Pod، فتفشل كل الرسائل. وبدونه لا تُرسل الرسائل، بل تُكتب في web.log فقط.تُقرأ OVERLEAF_EMAIL_SMTP_SECURE وOVERLEAF_EMAIL_SMTP_IGNORE_TLS وOVERLEAF_EMAIL_SMTP_TLS_REJECT_UNAUTH بصيغة JSON، لذا استخدم "true" أو "false": فقيمة مثل yes توقف كل خدمات الـ Pod عند بدء التشغيل.2
Secret
OVERLEAF_EMAIL_AWS_SES_ACCESS_KEY_ID وOVERLEAF_EMAIL_AWS_SES_SECRET_KEY هنا بدلًا من ذلك، وضع OVERLEAF_EMAIL_DRIVER: ses وOVERLEAF_EMAIL_AWS_SES_REGION في الـ ConfigMap.3
طبّق التغييرات وأعد التشغيل واختبر
عدة نسخ متماثلة
لا حاجة إلى شيء إضافي. ترسل كل نسخة متماثلة بالإعدادات نفسها، ويُحتسب حد معدّل الإرسال في Redis عبر جميع النسخ المتماثلة. إذا كان خادم SMTP لديك لا يقبل إلا المرسلين المعروفين، فاسمح بالعناوين التي تغادر بها الـ Pods الكتلة (وهي عادةً عناوين العقد).الاختبار على Kubernetes
مع Mailpit بوصفه خادم SMTP، على Kubernetes 1.37 مع نسخة متماثلة واحدة، نجحت اختباراتنا الشاملة التي ترسل البريد الإلكتروني: رسالة تفعيل الحساب الذي ينشئه مسؤول، ورسالة تفعيل التسجيل الذاتي المقصور على نطاقات معيّنة، ورسالة إعادة تعيين كلمة المرور، والرسالة التي تُعلم المستخدم بحذف حسابه، وما يحدث عندما يرفض خادم SMTP رسالة تفعيل أو حذف: إذ يظل الحساب يُنشأ أو يُحذف، ويمكن إرسال رسالة التفعيل مجددًا لاحقًا. ومع ضبطOVERLEAF_EMAIL_FROM_ADDRESS دون مضيف SMTP، فشل طلب إعادة تعيين كلمة المرور مع خطأ، وأظهر web.log الرسالة “error sending message”، كما هو موضح أعلاه.
