בדיקת DNS לדואר
כל מה שה-DNS אומר על המקום שבו דומיין מקבל דואר ומי רשאי לשלוח בשמו. נקרא מ-DNS ציבורי בלבד; אף שרת דואר לא נשאל.
מפתחות DKIM מתפרסמים תחת selector שהשולח בוחר; הוא מופיע כ-s= בכותרת DKIM-Signature של ההודעה.
דוגמאות:unam.mxinegi.org.mxexample.com
האם דואר לדומיין מגיע, והאם מאמינים לדואר שטוען שהגיע ממנו – כמעט הכול נקבע בקומץ רשומות DNS. הכלי קורא את כולן בבת אחת.
רשומות MX מציינות את השרתים שמקבלים דואר לדומיין, לפי סדר עדיפות (מספרים נמוכים קודם). לכל שרת MX חייבת להיות בעצמו רשומת A או AAAA; הכלי מתרגם את חמשת הראשונים. MX יחיד של 0 . הוא Null MX (RFC 7505): הדומיין מצהיר שהוא לא מקבל דואר בכלל.
SPF (RFC 7208) היא רשומת TXT שמתחילה ב-v=spf1 ומפרטת את השרתים שרשאים לשלוח בשם הדומיין: טווחי כתובות (ip4:, ip6:), רשימות של דומיינים אחרים (include:) וכלל סופי לכל השאר, בדרך כלל -all (fail) או ~all (softfail). לדומיין מותר לפרסם רשומת SPF אחת בלבד, והערכתה יכולה לדרוש לכל היותר עשר שאילתות DNS, כולל כל include, a, mx, ptr, exists ו-redirect – גם אלה שבתוך הרשומות הכלולות. מעבר לעשר, השרתים המקבלים מחזירים שגיאה קבועה, וכך רשימות ארוכות של שולחי ענן שוברות את ה-SPF בשקט.
DMARC (RFC 7489), ב-_dmarc.<domain>, אומר לשרתים המקבלים מה לעשות עם דואר שנכשל גם בהתאמת SPF וגם בהתאמת DKIM – כלום (p=none), תיקיית ספאם (quarantine) או דחייה (reject) – ולאן לשלוח דוחות מצרפיים (rua=). הדרך המקובלת היא להתחיל ב-p=none ולקרוא את הדוחות לפני שמחמירים.
MTA-STS (RFC 8461) ודיווחי TLS (RFC 8460) מבקשים משרתים שולחים לחייב TLS ולדווח על כשלים. רשומת ה-DNS רק מכריזה שקיימת מדיניות; המדיניות עצמה היא קובץ ב-mta-sts.<domain> שהכלי לא מביא.
מפתחות DKIM נמצאים ב-<selector>._domainkey.<domain>. את ה-selector בוחר מי שחותם על הדואר, ולכן אי אפשר לגלות אותו מה-DNS: מצאו אותו כ-s= בכותרת DKIM-Signature של הודעה שהתקבלה, והזינו אותו למעלה.
הכול כאן מגיע מ-DNS ציבורי דרך השרת שלנו. לא נוצר חיבור לשרתי הדואר של הדומיין.
שאלות נפוצות
למה הכלי לא מוצא את מפתח ה-DKIM שלי?
מפתחות DKIM נבדקים לפי selector, ואי אפשר לפרט selectors מה-DNS. העתיקו את הערך s= מכותרת DKIM-Signature של הודעה שהדומיין שלח והזינו אותו כ-selector.
~all או -all – מה עדיף?
-all אומר לשרתים המקבלים לדחות דואר משרתים שלא פורטו; ~all מסמן אותו כחשוד. כש-DMARC אוכף, השרתים פועלים לפי מדיניות ה-DMARC בכל מקרה, ולכן דומיינים רבים נשארים עם ~all כדי לא לאבד דואר שהועבר.
האם תוצאה טובה אומרת שהדואר שלי יגיע?
לא. הרשומות האלה נחוצות אבל לא מספיקות: ההגעה תלויה גם במוניטין של השרת השולח, ב-DNS ההפוך, בתוכן ובמסננים של הנמען.
אפשר לבדוק דומיין .co.il?
כן. הרשומות הן DNS רגיל ועובדות אותו דבר תחת .il, .co.il, .org.il או כל דומיין אחר.