تحقق أولًا من وضع الحماية، لأنه يحدد ما إذا كان هذا سيعمل أصلًا. يبدأ كل حساب SES جديد في وضع الحماية في كل منطقة، وأثناء وجوده فيه، لا يسلّم SES الرسائل إلا إلى العناوين التي تم التحقق منها والنطاقات التي تم التحقق منها ومحاكي صناديق البريد الخاص به. إضافة إلى ذلك، يقتصر الإرسال على 200 رسالة خلال 24 ساعة ورسالة واحدة في الثانية.
لن يساعدك التحقق من عنوان Email Spam Tester على تجاوز هذا القيد. يتحقق SES من المستلم بإرسال رسالة إلكترونية إليه تحتوي على رابط، وبما أن عناويننا تقبل رسالة واحدة فقط قبل إغلاقها، فستستهلك رسالة التحقق العنوان. لذلك تحتاج عمليًا إلى صلاحية الوصول إلى بيئة الإنتاج في المنطقة التي ترسل منها. تتعهد AWS بإرسال رد أولي على هذا الطلب خلال 96 ساعة.
وبما أن حالة وضع الحماية مستقلة لكل منطقة، فقد يكون الحساب في بيئة الإنتاج في eu-west-1 لكنه لا يزال في وضع الحماية في us-east-1. كذلك تكون الهويات مستقلة لكل منطقة، ولكل منها سجلات DKIM خاصة بها.
احصل على عنوان وأرسل رسالة واحدة
افتح email-spam-tester.com وانسخ العنوان الذي يعرضه. لا يتطلب هذا العنوان حسابًا أو مفتاح API، ويكون بصيغة test- متبوعة بعشرين محرفًا على t.email-spam-tester.com. لديك ساعة واحدة ورسالة واحدة، لذلك جهّز أمر الإرسال قبل جلب العنوان.
أبسط طريقة للإرسال هي CLI، بعد تعديل المثال الخاص بـ AWS في صفحة مستأجري SES بحذف خياري المستأجر ومجموعة الإعدادات:
aws sesv2 send-email \
--from-email-address "sender@yourdomain.com" \
--destination "ToAddresses=test-xxxxxxxxxxxxxxxxxxxx@t.email-spam-tester.com" \
--content "Simple={Subject={Data='Test Subject',Charset=utf-8},Body={Text={Data='Test email body',Charset=utf-8}}}"
يجب أن يكون From هوية تم التحقق منها، حتى في بيئة الإنتاج. يكفي نص عادي كهذا لاختبار المصادقة وIP، لكنه لا يكشف لك شيئًا تقريبًا عن المحتوى. للحصول على نتيجة فعلية، أرسل الرسالة التي يرسلها تطبيقك بالفعل، متضمنة جزء HTML والترويسات. استخدم أيضًا مسار الشيفرة نفسه، سواء كان send_email في boto3 أو مكتبة SMTP أو أي شيء آخر. إذا كانت رسائل الإنتاج تستخدم مجموعة إعدادات، فأضف --configuration-set-name هنا أيضًا، حتى يمر الاختبار عبر الإعدادات نفسها.
يمكن دمج اختبار موضع البريد في الأمر نفسه. أضف صناديق بريد مزودي الخدمة إلى ToAddresses بجانب عنوان الاختبار، وأضف علامته إلى بيانات Subject. عندئذ ينشئ استدعاء واحد تقريرين، ويعرض التقرير الثاني المجلد الذي وصلت إليه الرسالة في Gmail وOutlook وYahoo ومزودي الخدمة الآخرين. صناديق البريد هذه غير متحقق منها أيضًا، لذلك يتطلب هذا بدوره صلاحية الوصول إلى بيئة الإنتاج.
يوجد أيضًا مسار عبر وحدة التحكم. افتح Configuration > Identities، وانقر على الهوية، ثم اختر Send test email. اختر Raw إذا أردت لصق رسالة MIME كاملة بترويساتك الخاصة. تصف AWS وحدة التحكم بأنها أداة تستخدمها عادةً فقط لرسائل الاختبار، ولا تذكر الوثائق أي بادئة اختبار أو أي تغيير آخر على الرسالة. في وضع الحماية، يتطلب حقل Custom recipient عنوانًا تم التحقق منه، وهذا يعيدك إلى المشكلة المذكورة أعلاه.
كيف تظهر هوية SES جديدة في التقرير
من التقرير · المصادقة
- SPFناجحغير متطابقيستخدم MAIL FROM نطاقًا فرعيًا من amazonses.com، وليس من نطاقك.
- DKIMناجحمتطابقيوقّع Easy DKIM كل رسالة بمفتاح 2048 بت على نطاقك.
- DMARCناجحينجح اعتمادًا على توقيع DKIM المتوافق، بعد نشر سجل DMARC.
هوية SES افتراضية: ينجح SPF، لكن لصالح amazonses.com. تحتاج إلى MAIL FROM مخصص لتحقيق التوافق.
DKIM. Easy DKIM هو الخيار الافتراضي لهويات النطاقات، ويوقّع كل رسالة بمفتاح 2048 بت. يتطلب الإعداد ثلاثة سجلات CNAME بأسماء token._domainkey.yourdomain.com تشير إلى token.dkim.<region>.amazonses.com. إذا فشل فحص DKIM، فتحقق أولًا من أمرين: هل اكتمل انتشار DNS، إذ تسمح AWS بمدة تصل إلى 72 ساعة، وهل أضاف مضيف DNS نطاقك إلى الاسم وأنشأ token._domainkey.yourdomain.com.yourdomain.com. عند استخدام BYODKIM، تنشر بدلًا من ذلك سجل TXT واحدًا على المحدد الخاص بك. أثناء الانتقال بينهما، قد يرسل SES الرسائل دون أي توقيع، ويعرض التقرير ذلك على أنه DKIM مفقود. تستخدم أداة فحص DKIM الرمز بوصفه المحدد.
SPF ومسار الإرجاع. يستخدم SES افتراضيًا نطاقًا فرعيًا من amazonses.com باعتباره MAIL FROM. ينجح SPF، لكن لصالح amazonses.com، لذلك يعرض التقرير SPF على أنه غير متوافق مع عنوان From. عندما يكون DKIM متوافقًا، تكون الخسارة محدودة، نقطتان على مقياس من 100 نقطة بدلًا من 5، ويظل DMARC ناجحًا اعتمادًا على DKIM. لتحقيق توافق SPF أيضًا، أعدّ نطاقًا فرعيًا مخصصًا لـ MAIL FROM يحتوي على سجل MX واحد فقط، 10 feedback-smtp.<region>.amazonses.com، وسجل TXT بالقيمة v=spf1 include:amazonses.com ~all. لا تختر نطاقًا فرعيًا يستقبل البريد، ولا تضع aspf=s في سجل DMARC، لأن AWS توضح أن توافق SPF مع SES لا يعمل عند تطبيق سياسة SPF صارمة.
DMARC. لا ينشر SES سجلًا نيابةً عنك. مثال AWS هو v=DMARC1;p=quarantine;rua=mailto:my_dmarc_report@example.com. إذا لم يكن أحد يراجع تقارير DMARC بعد، فمن الأفضل أن تبدأ بـ p=none ثم تشدد السياسة لاحقًا. تعرض أداة فحص DMARC إعداداتك الحالية، وتشرح صفحة DMARC fail الأعطال الشائعة.
قيم توضيحية. انسخ القيم الفعلية من حسابك.
| الاسم | النوع | القيمة | الغرض منه | نسخ |
|---|---|---|---|---|
| token. | CNAME | token. | Easy DKIM. ثلاثة سجلات من هذا النوع، سجل لكل رمز. | |
| mail. | MX | 10 feedback-smtp. | MAIL FROM مخصص. سجل MX واحد فقط، على نطاق فرعي لا يستقبل البريد. | |
| mail. | TXT | v= | SPF لنطاق MAIL FROM المخصص، لكي يتوافق SPF مع عنوان From. | |
| _dmarc. | TXT | v= | DMARC، مثال AWS. ابدأ بـ p=none إذا لم يكن أحد يراجع التقارير بعد، ولا تضف aspf=s. |
List-Unsubscribe. يضيف SES الحقلين List-Unsubscribe وList-Unsubscribe-Post فقط عندما ترسل باستخدام ListManagementOptions يشير إلى قائمة جهات اتصال وموضوع. وحتى عندئذ، لا يضيفهما إلا للرسائل ذات المستلم الواحد، ومع Easy DKIM فقط، كما يستبدل SES أي حقول لإلغاء الاشتراك تضيفها بنفسك. تُرسل جميع الرسائل الأخرى دون أي حقول لإلغاء الاشتراك، ما يعني للنشرات الإخبارية فشل فحص List-Unsubscribe وفحص إلغاء الاشتراك بنقرة واحدة، ما لم تضفهما بنفسك. منذ مارس 2024، تقبل v2 API حقولًا مخصصة دون MIME خام. بعد التعديل من تدوينة AWS عن إلغاء الاشتراك بنقرة واحدة، يظهر الحقلان بهذا الشكل:
"Headers": [
{ "Name": "List-Unsubscribe",
"Value": "<https://yourdomain.com/unsub?address=x&topic=x>, <mailto:unsubscribe@yourdomain.com>" },
{ "Name": "List-Unsubscribe-Post",
"Value": "List-Unsubscribe=One-Click" }
]
يجب بعد ذلك أن تعالج نقطة النهاية لديك طلب POST. تختلف إعادة تعيين كلمات المرور والإيصالات التي لا تحتوي على حقول القوائم، ويعرض التقرير لها مجموعة مرسلي البريد الجماعي على أنها متخطاة. اقرأ المزيد عن هذا الحقل في صفحتنا عن List-Unsubscribe.
عناوين IP وقوائم الحظر
ترسل الحسابات الجديدة من عناوين IP مشتركة مع مستخدمي SES الآخرين، وتوصي AWS بالبقاء عليها ما لم يكن حجم إرسالك كبيرًا ومنتظمًا. يستعلم التقرير من 21 قائمة حظر عن عنوان IP المرسل، وعند استخدام العناوين المشتركة يكون أي إدراج مرتبطًا بالمجموعة. تتوفر عناوين IP المخصصة بنوعين: قياسية، تجري إحماءها يدويًا، أو مُدارة، حيث تتولى SES الإحماء، وعندها يرتبط أي إدراج بإرسالك أنت. يمكنك إدخال أي عنوان IP تجده في علامة تبويب Headers مباشرةً في أداة التحقق من قوائم الحظر.
تراقب AWS حسابك أيضًا. تنص الأسئلة الشائعة حول إجراءات الإنفاذ لديها على الاختبار باستخدام عناوين حقيقية يمكنها تلقي البريد، أو باستخدام أداة المحاكاة، حتى لا يؤدي استخدام مستلمين وهميين إلى زيادة الارتدادات. كما تضع الحساب قيد المراجعة عندما يبلغ معدل الارتداد 5% أو معدل الشكاوى 0.1%.
تسرد خطة الإصلاح في الأسفل ما يصل إلى ثمانية تغييرات، ويأتي كل تغيير مع سجل DNS المطلوب نسخه حيثما ينطبق ذلك. تمثل النقاط بجانب كل إصلاح الخصومات الحالية لعمليات التحقق التي يعالجها. يختار النموذج الإصلاحات ويشرحها، لكنه لا يسعّرها. إذا لم يكن اسم إحدى عمليات التحقق واضحًا لك، فتشرح الوثائق كل واحدة من العمليات البالغ عددها 42.
مراجع AWS
بيئة الاختبار والوصول إلى بيئة الإنتاجdocs.aws.amazon.com ↗Easy DKIMdocs.aws.amazon.com ↗MAIL FROM مخصصdocs.aws.amazon.com ↗DMARC مع SESdocs.aws.amazon.com ↗إدارة الاشتراكاتdocs.aws.amazon.com ↗أمر sesv2 send-emaildocs.aws.amazon.com ↗أسئلة
هل يمكنني الاختبار من بيئة SES التجريبية؟
ليس باستخدام عنواننا. في البيئة التجريبية، لا يسلّم SES الرسائل إلا إلى مستلمين تم التحقق منهم، وسيستهلك التحقق من عنواننا الرسالة الوحيدة التي يقبلها. اطلب الوصول إلى بيئة الإنتاج في المنطقة، وفي الوقت الحالي تحقّق من سجلاتك باستخدام أدوات التحقق المجانية من DKIM وSPF وDMARC.
هل يوفر محاكي صندوق البريد في SES المعلومات نفسها؟
لا. فهو يوضح لك كيفية تعامل SES مع الارتداد أو الشكوى أو التسليم، وتُحتسب تكلفته مثل الإرسال العادي. ولا يحلل رؤوس الرسائل أو المصادقة أو المحتوى.
هل يجب أن أضيف SES إلى سجل SPF للنطاق الجذر؟
يتحقق المستلمون من SPF مقابل نطاق MAIL FROM، وهو افتراضيًا نطاق فرعي من amazonses.com أو نطاق MAIL FROM الفرعي المخصص لديك. يجب وضع سجل SPF الخاص بـ SES على ذلك النطاق الفرعي، ووفقًا لما توضحه صفحة MAIL FROM، لا يلزم إضافة أي شيء إلى النطاق الجذر.