הגדרת Postfix עם TLS, DKIM והגנת ספאם — פתרון מלא

הודעות עם חשבוניות ואישורים נכנסות לספאם, והנמענים לא רואים אותן — כלומר שרת הדואר מוגדר רק למראית עין. אנו מגדירים Postfix כפתרון מלא: חתימת הודעות, הצפנת ערוץ ומסנני דואר זבל, כדי שההודעות יגיעו. לאחר ההגדרה שיעור ההודעות שנמסרות עולה, ואין יותר צורך בתיקונים ידניים.

היכולות שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

דואר נופל לספאם: היכן נשברת ההגדרה של Postfix

הודעה יוצאת מהתור בלי שגיאות, אבל הנמען לא רואה אותה: חלק מההודעות נופל ל״ספאם״, חלק נדחה בצד המקבל עם דחייה 550, וחלק מכניס את ה-IP או הדומיין לרשימות שחורות. השולח רואה סטטוס ״נמסר״, והלקוח ממתין לחשבונית או לקישור כניסה ולא מקבל אותם.

הסיבה כמעט תמיד בצד השולח. ב-Postfix זה בדרך כלל חתימת DKIM חלקית, רשומת SPF שלא מכסה את כל צמתי השליחה, PTR שלא תואם לשם ב-HELO, ודומיין בלי מדיניות DMARC — לנמען פשוט אין במה לאשר שיש לנו זכות לשלוח דווקא ממנו. המוניטין של השולח נבנה מהבדיקות האלה הרבה לפני סינון התוכן, ולטקסט ההודעה כמעט אין כאן חלק.

המחיר של הגדרה כזאת גבוה ממה שנדמה: הודעות טרנזקציוניות — איפוס סיסמה, אישור הזמנה — לא מגיעות, והתמיכה מחפשת את הבעיה בתבניות. גרוע יותר כשספק חוסם הודעות מהדומיין כולו: להחזיר אמון ולצאת מרשימות שחורות לוקח שבועות, וכל הזמן הזה הדואר שותק.

נפרק איך זה נסגר: היכן לבדוק את התור והלוגים, אילו בדיקות עוברת ההודעה עד לתיבת הדואר הנכנס ומה בדיוק מתקנים בהגדרת Postfix כדי שהנמען יראה שולח מאומת.

מה נותנת הגדרה תקינה של שרת דואר

יכולת המסירה של הודעות נקבעת לא לפי פרמטר אחד אלא לפי שילוב: רשומות SPF ו-DMARC מתואמות, חתימת DKIM להודעות, כתובת חזרה תקינה ומגבלות על קצב השליחה.

שרת על Postfix מטפל בכל אחת מהמשימות האלה, אבל השילוב עובד רק במלואו — חצי מהמנגנונים המוגדרים נותן תוצאה גרועה יותר מהיעדרם המוחלט.

הצפנת חיבור TLS מופעלת בשני מצבים: משא ומתן לפי היכולת, ומצב חובה עם אימות תעודה בצד הנמען. הראשון נותן תאימות כמעט לכל מערכות הדואר, השני — הבטחה שהתוכן לא ייקרא בצומת ביניים.

אותה משימה נפתרת גם בפרסום מדיניות הדומיין עבור נמענים: שירותים גדולים תומכים בה ודוחים הודעות שהגיעו בעקיפין לערוץ מאובטח.

מסנני ספאם עובדים בקבלה ובשליחה: בדיקת מוניטין הצומת, ניתוח כותרות, הערכת תוכן, הסגר במקום מחיקה בלתי הפיכה. פריסה כזאת מפרידה עיכובי 4xx זמניים מדחיות 5xx — אי-זמינות של שרת מרוחק מפסיקה להפוך לאובדן הודעה, וכל דחייה נראית ביומן עם סיבה.

אפקט מדיד: שיעור ההודעות שמגיעות לתיקיית ״דואר נכנס״ עולה ל-97–99%, סוגי הדחיות ״אין חתימה״ ו״לא תואם למדיניות הדומיין״ נעלמים, ותפוצות בשם החברה נחסמות אצל הנמען לפני שקוראים אותן. בנפרד נעלם הסיכון שהודעה עם הדומיין שלכם תגיע ללקוח משרת זר.

שרת משלכם, שירות חיצוני או היברידי: מה לבחור

הבחירה כאן אינה בינארית. כדאי לחשב לפי שלושה צירים: מי אחראי למוניטין הכתובות, עד כמה עמוק צריך לנהל כותרות ויומני מסירה, והאם יש בצוות אדם שמוכן לפרק בלילה תור הודעות שנתקע.

קריטריון מרכזי — אופי התעבורה. הודעות טרנזקציוניות (איפוס סיסמה, חשבונית, התראה) דורשות מסירה מיידית וטיפול בדחיות, ותפוצות המוניות — חימום כתובות וטיפול בהסרות. לכן לרוב מפרידים את הזרימות לנתיבים שונים: זו בדיוק סכמת השליחה ההיברידית.

אפשרות מתי מתאימה מגבלות
שרת דואר משלכם נדרש שליטה מלאה: מפתחות DKIM משלכם, כללי סינון, יומני מסירה, התכתבות בתוך מתחם סגור מוניטין הכתובות תצטרכו לגדל בעצמכם — אזורי reverse, SPF, DKIM, DMARC, תלונות ורשימות חסימה בצד שלכם
שרת דואר מנוהל הניהול נמסר לאינטגרטור, הדומיין וההגדרה נשארים שלכם שינויים לא סטנדרטיים עוברים דרך נהלי הספק, והתגובה אורכת יותר
שירות תפוצות חיצוני שליחות המוניות וטרנזקציוניות, שבהן נדרשים מסירה ודיווח בלי צוות משלכם שליטה חלשה בכותרות וביומנים, המוניטין תלוי במאגר כתובות משותף, והתנאים קשורים לנפח השליחה
סכמת שליחה היברידית דואר נכנס והודעות פנימיות בשרת שלכם, המוניות וטרנזקציוניות — דרך צומת חיצוני צריך לקשר שני מתחמים: ניתוב, אימות אחיד, סנכרון מדיניות, ודחיות מנותחות בשני מקומות

בפועל היברידי נבחר לעתים קרובות יותר מסכמות ״טהורות״: הוא מסיר עומס מהצומת שלכם אבל משאיר שליטה על ההתכתבות. בהמשך נפרק איך מגדירים TLS, DKIM וסינון בכל מתחם.

סדר ההגדרה של Postfix: מביקורת ועד העברה

הגדרת שרת דואר מתחילה לא בעריכת קונפיגורציה אלא בביקורת: לרוב הסיבה לבעיות אינה בקוד אלא במוניטין הכתובת, ברשומות DNS עקומות ובתור שמצטבר ימים. לכן אנחנו עובדים בשלבים מוגדרים — ממדידת המצב הנוכחי ועד העברה לתפעול.

  1. ביקורת השליחה הנוכחית. מוציאים יומנים מסוכן הדואר: קודי תגובה של צדדים מקבלים, שיעור ההודעות בתור וזמן הטיפול בו, התנהגות בעומס שיא. במקביל בודקים PTR, SPF, DKIM, DMARC ונוכחות הכתובת ברשימות שחורות.

  2. סכמת הפתרון. מקבעים אילו דומיינים וזרימות אנחנו משרתים, היכן עובר הגבול בין הודעות טרנזקציוניות לתפוצה, ובאיזה צומת מפעילים סינון וחתימה.

  3. הגדרת השרת. מתקינים Postfix עם TLS והארכה אוטומטית של התעודה, מייצרים מפתח DKIM ומפרסמים רשומות, מפעילים אנטי-ספאם עם greylisting ורשימות חסימה, ומגבילים את קצב השליחה ומספר החיבורים המקבילים.

  4. שליחות בדיקה. שולחים לתיבות חיצוניות של ספקים שונים וקוראים כותרות: החתימה צריכה לעבור אימות, יישור הדומיינים להתאים לסכמה, וההודעה להגיע ל״דואר נכנס״ ולא לספאם.

  5. בדיקת הקונפיגורציה. מדמים כשל של אחד הרכיבים, בודקים איך מתנהגים התור והניסיונות החוזרים, האם מופעלים רוטציה של יומנים, ניטור ותוכנית חזרה ברורה.

  6. העברה לתפעול. מוסרים גישות, סכמת זרימות, רשימת רשומות ב-DNS והוראות לתורנות: מה לבדוק בתלונה על אי-מסירה ואיך להחזיר שינוי במהירות.

ערכת קונפיגורציות, סכמות ונהלי תמיכה

שרת מוכן לעבודה הוא עדיין לא התוצאה שאפשר להשאיר בלי ליווי. אחרי המסירה נשארת לצוות שלכם ערכת ארטיפקטים: קונפיגורציות עם הסברים, מפתחות חתימה, סכמת זרימות ונהלים למצבים אופייניים.

  • קונפיגורציות עבודה של Postfix והשירותים הקשורים במערכת בקרת גרסאות — עם הערות למה הפרמטר מוגדר כך ומה יישבר אם לערוך אותו.
  • מפתחות DKIM ורשומות חתימה: פרטיים — עם ציון מקום האחסון וסדר הרוטציה, ציבוריים — עם רשימה מדויקת של רשומות להחלפת ספק DNS.
  • מפת זרימות דואר: דואר נכנס ויוצא, ממסרים, באיזה שלב פועלות בדיקות האימות והמסננים, ולאן מגיעה הודעה במקרה של כשל מסירה.
  • מדיניות גישה: מי ומאיפה מתחבר לשרת, כללי אימות, הגבלות על ממסר לשירותים פנימיים ולשולחים חיצוניים.
  • גיבויים של קונפיגורציה ומפתחות — עם לוח זמנים, תקופת שמירה ובדיקת שחזור במתחם בדיקות נפרד.
  • נוהל תחזוקה: עדכון מסננים ומאגרים, רוטציה של מפתחות, טיפול בתור וביומנים, פעולות במקרה של כניסה לרשימות שחורות.
  • תיעוד לתשתית: סכמת רשומות SPF, DKIM ו-DMARC, תלות בשירותים חיצוניים, נקודות כשל וסדר פעולות התורנות.

הערכה מתעדכנת לפי השינויים — התיעוד לא נפרד מהמצב בפועל של השרת.

ניתוח פרויקט: איך החזרנו יכולת מסירה של הודעות לחנות

חנות מקוונת עם תפוצה משלה: חשבוניות, סטטוסי הזמנות, שחזור גישה. תלונות ״ההודעה לא הגיעה״ הגיעו בגלים, וחלק מההודעות הטרנזקציוניות שקע בספאם אצל נמענים גדולים. הגדרת postfix נשמרה ״כמו שהוקמה״ במשך שנים, והבעלים לא ראה מיד את הקשר בין ירידה ברכישות חוזרות לבין הדואר.

מה הראה הניתוח

השרת שלח הכול מכתובת אחת ומוניטין אחד: פרץ תלונות אחד גרר אחריו את כל הדומיין. חתימת DKIM לא הייתה, SPF ו-DMARC לא תואמו — נמענים חסמו חלק מההודעות עוד לפני בדיקת התוכן. היומנים הוסיפו בעיה שנייה: אחרי תקלת רשת קצרה התור לא התפרק מעצמו והמתין להתערבות ידנית.

מה שינינו ומה קרה

הפרדנו זרימות: הודעות טרנזקציוניות עברו לתת-דומיין נפרד ולכתובת נפרדת עם נפח שליחה מחומם, ותפוצות — לזרימה משלהן. הגדרנו SPF, DKIM באלגוריתם חתימה עדכני, ומדיניות DMARC תחילה במצב ניטור ואחר כך במצב דחייה. התור קיבל הגבלת ניסיונות חוזרים והחזרה אוטומטית של הודעות מושהות — תקלות קצרות הפסיקו לדרוש תורנות.

יכולת המסירה נעקבה באמצעות Postmaster Tools: שיעור ההודעות שנמסרו עלה מ-~60% ל-97–99%, מהרשימות השחורות המרכזיות יצאנו בתוך שבועיים, ושחזור אחרי תקלה אורך דקות במקום טיפול ידני.

מה לעשות אם שרת הדואר כבר עובד וההודעות בספאם?

אם Postfix כבר פרוס וההודעות נופלות לספאם, צריך להתחיל באבחון השליחה. משווים את יומני התור לתגובות של שרתים מקבלים: חלק מהכתובות מקבלות דואר, חלקן עונות בעיכוב או דוחות בשלב החיבור. ההבדל בין הקבוצות האלה הוא נקודת החיפוש אחרי הסיבה.

הלאה — בדיקת חתימת ההודעות. בודקים אם חתימת DKIM מוטלת על כל הזרימה היוצאת או שהיא הולכת לאיבוד בהודעות מטופסי האתר ומודולים פנימיים. בודקים יישור דומיינים ב-SPF ו-DMARC: אם המעטפה יוצאת בשם אחד ובכותרת From מצוין שם אחר, המסננים מפרשים זאת כזיוף. העברה מחדש קורעת את החתימה, וההודעה מאבדת אמון.

במקביל בודקים רשימות שחורות של הדומיין והכתובת, היסטוריית IP ואזור reverse. מקרה נפרד — כתובת משותפת עם תפוצה זרה או IP חדש בלי מוניטין מחומם: את נפח השליחה מגדילים בהדרגה, אחרת הקפיצה מזוהה כסימן לתפוצה המונית.

כשהסיבה בצומת או בכתובת עצמם, מבצעים מיגרציה של שרת הדואר בלי לעצור את ההתכתבות: צומת חדש עולה לצדו, התיבות מסתנכרנות, חתימה ומסירה נבדקות עליו, ורק אחר כך מחליפים את חילופי הדואר — עם אפשרות חזרה שמורה. המשתמשים ממשיכים לעבוד בממשק הרגיל.

משנים את מה שבאמת משפיע על המסירה: חתימה, מדיניות, מוניטין הכתובת, פרמטרי התור. את התוצאה בודקים לפי שיעור ההודעות בתיבת הנכנס ומספר הדחיות למאה שליחות — לא ״נהיה טוב יותר״ אלא דינמיקה מדידה.

שאלות נפוצות על חתימת הודעות, מסננים ומגבלות

השאלות בדרך כלל מסתכמות בדבר אחד: כמה מהר ההודעות יתחילו להגיע לנמען והאם מערכת הדואר של הנמען תחסום אותנו. בהמשך — מה ששואלים לרוב לפני תחילת העבודה, עם פרטים טכניים ולא הבטחות כלליות.

כמה זמן לוקח לצאת מהספאם אחרי הגדרת חתימה?

ההגדרה עצמה — רשומות SPF, DKIM ו-DMARC תקינות, אזור reverse PTR, וצומת שליחה מתואם איתו — נכנסת לתוקף מיד. אבל המוניטין של הדומיין והכתובת נבנה בהדרגה: אצל רוב הנמענים הגדולים שולח חדש עובר בימים הראשונים באמון מופחת, וחלק מההודעות מגיע לתיקיית ״ספאם״.

לכן את השליחות הראשונות עושים בנפח מוגבל ומגדילים אותו ככל שבדוחות DMARC מופיעות בדיקות מוצלחות. בדרך כלל למסירה יציבה לוקח מכמה ימים עד שניים-שלושה שבועות — התקופה תלויה בשאלה אם הדומיין סומן בעבר בתפוצות קודמות והאם יש לו היסטוריית התכתבות.

האם יש מגבלות על נפח השליחה?

כן, והן לא בצד שלנו אלא בצד הנמענים: רוב מערכות הדואר מגבילות את מספר החיבורים וההודעות משולח אחד ליחידת זמן. אנחנו מגדירים את התור כך שהשליחה תתבצע בקצב נתון, ובמקרה של דחייה זמנית ההודעה לא הולכת לאיבוד אלא נשלחת שוב בהשהיה גדלה.

את זרימת התפוצה והזרימה הטרנזקציונית מפרידים: הודעות משירותים וטופסי בקשה לא אמורות להמתין עד שתפוצה המונית תצא.

האם הפתרון יתאים למה שכבר עובד אצלנו?

שרת דואר אנחנו מתקינים ומגדירים בתשתית שלכם; אם כבר מותקן אצלכם סוכן אחר, מעבירים כתובות, כינויים, כללי ניתוב ורשימות חסימה נוכחיות, ואת המעבר עושים עם הכנה במתחם בדיקות. בודקים מעבר הודעות בכל התיבות לפני המעבר, ולכן תעבורת העבודה עוברת בלי השבתה.

מה לעשות אם ההודעות עדיין נחסמות במסננים?

מנתחים דוחות נמען וכותרות של הודעות שנדחו: לרוב הבעיה באי-התאמה של הדומיין באזור reverse ובחתימה, או בקישורים ובקבצים מצורפים שמסנן האנטי-ספאם מחשיב לחשודים. לפי התוצאות מתקנים חתימה, תבניות וכללי סינון בצד שלנו, ולא מבקשים מהנמען להוסיף אתכם לחריגים.

בהמשך — איך זה נראה בעבודה ומה נשאר אצלכם אחרי המסירה: ננתח את המשימה ונחזור עם הערכה ותוכנית.

נדון במשימה: נחזור עם הערכה ותוכנית עבודה

כדי לדון במשימה לעניין, בהתחלה אנחנו צריכים מינימום: דומיין וגישה לניהול רשומות ה-DNS שלו, רשימת תיבות וכינויים, קונפיגורציה נוכחית של שרת הדואר אם הוא כבר פרוס, ודוגמאות של הודעות שכרגע נופלות לספאם.

זה מספיק כדי להסתכל על כותרות מסירה אמיתיות ולהבין היכן הולכת לאיבוד חתימת השולח. אם אין עדיין שרת משלכם — גם זה תרחיש עבודה, מתחילים בהתקנה נקייה ובונים את הקונפיגורציה נכון מההתחלה.

בתגובה אנחנו מחזירים לא מילים כלליות אלא חבילה קונקרטית:

  • הערכת עבודות לפי שלבים — עם הפרדה ברורה מה אנחנו עושים ומה נשאר בצד הלקוח;
  • תוכנית הטמעה עם סדר עדיפויות: תחילה מסירה בסיסית והצפנת הערוץ, אחר כך חתימת הודעות, ואחר כך מדיניות אנטי-ספאם;
  • הרכב העבודות — אילו רשומות יוצרים ב-DNS, אילו מפתחות מנפיקים והיכן מאחסנים, ואילו בדיקות של דואר נכנס מפעילים;
  • סכמת פריסה: מה מותקן על השרת הנוכחי ומה דורש צומת נפרד או שירות חיצוני;
  • רשימת גישות ונקודות תיאום, כדי לא למתוח את ההתחלה על התכתבות;
  • נוהל תפעול: איך מתעדכנים תעודות ומפתחות, ולאן להסתכל במקרה של כשל מסירה;
  • קריטריוני קבלה — שיעור ההודעות שעוברות בדיקת אימות, וסגירת ממסר פתוח.

בהמשך נתאם את סדר העבודות ונתחיל בקטע שנותן את האפקט המהיר ביותר. תארו את המשימה בשתי מילים — דומיין, מספר תיבות, מה כבר מוגדר — ונחזור עם הערכה ותוכנית.