הגדרת ממסר דואר להתראות שרת

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

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

שאלות נפוצות

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

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

הגדרת ממסר דואר לשליחת התראות משרתים

מצב טיפוסי: משימת cron נכשלת בלילה, Zabbix רושם תקרית, אבל ההתראה לא מגיעה לשום מקום כי השרת מנסה לשלוח דואר ישירות בפורט 25, שחסום על ידי הספק או האחסון. האפליקציה מקבלת Connection refused או 554 5.7.1 Relay access denied, המייל אובד, והתקרית לא מתגלה. נתקלנו בזה עשרות פעמים—אז פיתחנו תהליך הגדרת ממסר מוכח שמבטיח מסירה.

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

למה שליחה ישירה לא עובדת?

רוב ספקי האחסון ופלטפורמות הענן חוסמים פורט 25 כברירת מחדל—זו הגנה מפני ספאם. גם אם הפורט פתוח, כתובות IP של שרתים לעיתים קרובות מגיעות לרשימות שחורות. בנוסף, שרתי דואר (Exchange, Yandex 360) דורשים אימות ו-TLS. בלי ממסר, ההתראות שלך יאבדו.

Postfix כממסר מקומי: הגדרה מינימלית

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

# /etc/postfix/main.cf
myhostname = app01.internal.example.com
mydomain = internal.example.com
myorigin = $mydomain
relayhost = [smtp.sendgrid.net]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = encrypt
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
inet_interfaces = loopback-only
mydestination = 

קובץ האישורים:

# /etc/postfix/sasl_passwd [smtp.sendgrid.net]:587 apikey:SG.xxxxxxxxxxxx 

לאחר היצירה, בצע hash והפעל מחדש:

postmap /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
systemctl reload postfix

במקום SendGrid, כל SMTP יעבוד: Amazon SES (# /etc/postfix/main.cf myhostname = app01.internal.example.com mydomain = internal.example.com myorigin = $mydomain relayhost = [smtp.sendgrid.net]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_security_level = encrypt smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt inet_interfaces = loopback-only mydestination = ), Mailgun, Exchange/Office 365 ארגוני, או Postfix משלך על שרת ייעודי.

השוואה בין ממסרי SMTP פופולריים

ספק פורט אימות מגבלה חינמית מחיר אחרי המגבלה
SendGrid 587/2525 מפתח API 100 מיילים ליום החל מ-$19.95 לחודש
Amazon SES 587/2587 מפתח SMTP 62,000 מיילים בחודש $0.10 לכל 1,000 מיילים
Mailgun 587/465 התחברות SMTP 5,000 מיילים בחודש $35 עבור 50,000 מיילים
ממסר פנימי 25 (מהימן) רשימת IP מותרת ללא הגבלה רק עלויות שרת

מתי צריך ממסר פנימי במקום SaaS חיצוני

בתשתיות מבודדות—בנקים, מגזר ממשלתי, רשתות היקפיות ללא גישה לאינטרנט—ספקי SMTP חיצוניים לא זמינים. במקרים כאלה, אנו מקימים שרת ממסר פנימי: Postfix אחד עם # /etc/postfix/sasl_passwd [smtp.sendgrid.net]:587 apikey:SG.xxxxxxxxxxxx פתוח לרשתות משנה מהימנות ו-smarthost מוגדר לשרת הדואר הארגוני.

# relay.internal — принимает от 10.0.0.0/8, пересылает на Exchange
mynetworks = 127.0.0.0/8, 10.0.0.0/8
relayhost = [mail.corp.example.com]:25
relay_domains =
smtpd_recipient_restrictions = permit_mynetworks, reject

ממסר כזה לא דורש אימות משרתים פנימיים—הם נמצאים ב-postmap /etc/postfix/sasl_passwd chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db systemctl reload postfix . Exchange מקבל מהממסר דרך מחבר מבוסס IP.

איך לבחור בין ממסר חיצוני לפנימי?

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

בדיקות ואבחון

לאחר ההגדרה, בדוק מיד:

# Отправить тестовое письмо
echo "Test relay $(hostname)" | mail -s "relay test" [email protected]
# Следить за очередью
mailq
postqueue -f # принудительная попытка доставки
# Логи в реальном времени
journalctl -u postfix -f

טעות נפוצה היא email-smtp.eu-west-1.amazonaws.com:587 עם סיסמה נכונה. הסיבה בדרך כלל היא ש-mynetworks לא עודכן לאחר עריכת קובץ הטקסט (# relay.internal — принимает от 10.0.0.0/8, пересылает на Exchange mynetworks = 127.0.0.0/8, 10.0.0.0/8 relayhost = [mail.corp.example.com]:25 relay_domains = smtpd_recipient_restrictions = permit_mynetworks, reject לא הופעל מחדש), או שהסיסמה מכילה תווים מיוחדים שצריך לברוח.

דוגמה: פתרון שגיאת אימות SASLבעת שימוש בסיסמה עם `%` ב-SendGrid, יש לברוח אותה ב-`sasl_passwd` כ-`%%`. אחרת, Postfix מפרש `%` כתו החלפה. לאחר הבריחה, הפעל מחדש את `postmap`.

מה השירות שלנו כולל

אנו מגדירים ממסר Postfix על כל שרת או מארח ממסר מרכזי אחד לכל התשתית. אנו מתחברים לספק העליון שבחרת: SendGrid, SES, Mailgun, SMTP ארגוני. אנו מגדירים TLS, אימות, הגבלות IP. אנו מוודאים מסירה מכל מקורות ההתראות: cron, Zabbix/Prometheus Alertmanager, יישומים.

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

איזה ממסר מתאים לתשתית שלי?

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

להבנה מעמיקה של מנגנוני Postfix, מומלץ התיעוד הרשמי.