SSD Nodes Learn Hosting plans →
מדריכים Matt Connorמאת Matt Connor · עודכן 2026-08-31

הקמת שרת דואר עצמאי עם Mailcow: מדריך למניעת חסימות

לפני התקנת mailcow בדקו אם ספק ה-VPS חוסם פורט 25 יוצא. למדו כיצד להגדיר רשומות DNS נכונות כדי למנוע את שגיאת 550 5.7.25 של Gmail ולהבטיח שהודעות דואר יגיעו ליעדן.

מה אתם בונים

שרת דואר מלא על שרת שבבעלותכם: SMTP לשליחה וקבלה, IMAP כדי לסנכרן את הטלפון והמחשב הנייד, ממשק webmail, ומסנן דואר זבל שמדרג כל הודעה בשני הכיוונים. mailcow-dockerized מאגד את Postfix, Dovecot, Rspamd, SOGo, MariaDB, Redis ולקוח ACME לתוך stack אחד של Docker Compose, כך שהתוכנה היא לא החלק המורכב. תוכלו להפעיל את המערכת בתוך חצי שעה.

החלק המורכב הוא כל מה שמסביב. דואר אלקטרוני הוא השירות היחיד שבו שאר האינטרנט חושד באופן פעיל בשרת חדש, והפער בין "זה עובד" לבין "Gmail בולע בשקט כל הודעה" מסתכם בארבע רשומות DNS ובהגדרה אחת של מוניטין IP שאולי אינכם שולטים בה במלואה. קראו את הדרישות המוקדמות מטה לפני שאתם שוכרים שרת כלשהו. אם לאחר הקריאה תחליטו שהמאבק על המוניטין אינו משתלם, זו החלטה לגיטימית; הסקירה שלנו על מה באמת כדאי לארח עצמאית ב-2026 מסווגת דואר אלקטרוני תחת "רק אם אתם רציניים לגבי זה" בדיוק מהסיבות הללו.

דרישות הקדם הן הפרויקט עצמו

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

פורט 25 יוצא חייב להיות פתוח. השרת שלך מוסר הודעות ל-Gmail ול-Microsoft באמצעות פרוטוקול TCP בפורט 25. חלק גדול מספקי ה-VPS והענן חוסמים את פורט 25 היוצא כברירת מחדל כדי להילחם בספאם. החסימה מתבצעת בשקט: אין שגיאות בעת העלייה, הכל נראה תקין, אך הדואר פשוט נשאר בתור לנצח. בדוק זאת לפני התקנת כל רכיב. אם הפורט חסום, הפתרון היחיד הוא פתיחת קריאת שירות (support ticket) מול הספק בבקשה לפתוח אותו; חלק מהספקים עושים זאת עבור חשבונות ותיקים, וחלקם לעולם לא יסכימו.

כתובת IP נקייה עם מוניטין תקין. כתובות IP של שרתי VPS ממוחזרים נמצאות לעיתים קרובות ברשימות חסימה (blocklists) בגלל דייר קודם ששלח ספאם. בדוק את הכתובת שלך בשירות כמו Spamhaus או mxtoolbox לפני שאתה מתחייב. כתובת IP ברשימה שחורה משמעותה דחיות של הודעות ששום קוד לא יוכל לפתור.

שליטה ב-DNS ורשומת PTR תקינה. עליך להוסיף רשומות לאזור ה-DNS של הדומיין שלך, ועליך להגדיר DNS הפוך (PTR) עבור כתובת ה-IP של השרת, כך שתצביע חזרה על שם המארח (hostname) של שרת הדואר. רשומת PTR כמעט לעולם לא מוגדרת בלוח הניהול של ה-DNS, אלא אצל הגורם שבבעלותו כתובת ה-IP; לכן, עליך להגדיר זאת בלוח הבקרה של ספק ה-VPS או באמצעות קריאת שירות.

מינימום נוח של 6 GiB RAM ו-2 vCPU. הדרישה המינימלית של mailcow היא 6 GiB RAM בתוספת 1 GiB של swap עבור התקנה פרטית, כאשר 8 GiB מומלצים ברגע שמספר משתמשים מסתמכים על השירות. מתחת ל-2.5 GiB, generate_config.sh מציע להשבית את סורק הווירוסים ClamAV כדי למנוע מה-kernel להפסיק את פעולת המכולות. הקצה 20 GB של שטח SSD להתחלה.

שם DNS, לא כתובת IP חשופה. בחר שם מארח כמו mail.example.com. שם יחיד זה הופך ל-MAILCOW_HOSTNAME שלך, לנושא של תעודת ה-TLS, ליעד ה-PTR ולבאנר ה-SMTP. שמור על עקביות בכל המקומות.

שלב 1, אימות שפורט 25 יוצא פתוח

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

sudo apt update && sudo apt install -y netcat-openbsd
nc -vz -w 5 gmail-smtp-in.l.google.com 25

תוצאה תקינה תתקבל באופן מיידי:

Connection to gmail-smtp-in.l.google.com (142.250.x.x) 25 port [tcp/smtp] succeeded!

פורט חסום יגרום להמתנה של חמש שניות מלאות, ולאחר מכן ייכשל:

nc: connect to gmail-smtp-in.l.google.com port 25 (tcp) timed out: Operation now in progress

הזמן הקצוב (timeout) הזה מעיד על חסימה. מדובר במסנן רשת בצד ספק התשתית, לא ב-firewall המקומי שלכם, לכן שום שינוי מקומי לא יפתור זאת. פתחו קריאת שירות: "Please enable outbound TCP port 25 for my VPS at <IP>; I am running a legitimate mail server." אל תתקינו את mailcow עד שתקבלו אישור שהבקשה "succeeded". שימו לב שפורט 25 נכנס (שרתים אחרים שפונים אליכם) הוא נתיב נפרד ובדרך כלל פתוח; הספקים מגבילים לרוב רק את התעבורה היוצאת.

שלב 2, הגדרת רשומות ה-DNS כעת

שינויי DNS דורשים זמן הפצה, לכן יש לפרסם את כל הרשומות האפשריות לפני ההתקנה. נניח ששם המתחם שלכם הוא example.com, מארח הדואר הוא mail.example.com, וכתובת ה-IP היא 10.0.0.10. באזור ה-DNS שלכם, צרו את הרשומות הבאות:

mail.example.com.        A      10.0.0.10
mail.example.com.        AAAA   2001:db8::10          ; only if you have IPv6
example.com.             MX  10 mail.example.com.
example.com.             TXT    "v=spf1 mx -all"
_dmarc.example.com.      TXT    "v=DMARC1; p=none; rua=mailto:postmaster@example.com"

רשומת ה-SPF מציינת ש-"רק שרת ה-MX שלי רשאי לשלוח דואר עבור מתחם זה, יש לדחות את השאר". התחילו את ה-DMARC עם p=none כדי שתוכלו לעקוב אחר דוחות מבלי לחסום את הדואר שלכם; החמירו את המדיניות ל-p=quarantine ולאחר מכן ל-p=reject ברגע שווידאתם שההגדרות תקינות. שתי רשומות חסרות כעת בכוונה: DKIM, ש-mailcow תייצר עבורכם בשלב 6, ו-PTR, שעליכם להגדיר כעת בלוח הבקרה של ספקית השרתים שלכם.

הגדירו את רשומת ה-PTR (או reverse DNS) עבור 10.0.0.10 ל-mail.example.com, הערך המדויק של MAILCOW_HOSTNAME. זוהי הרשומה היחידה שרוב האנשים שוכחים, וספקיות דואר גדולות דוחות הודעות בגלל היעדרה. אם בלוח הבקרה שלכם אין שדה ל-rDNS, פתחו קריאת תמיכה.

שלב 3, התקנת Docker

mailcow דורש את Docker Engine עם תוסף Compose v2. השתמשו בסקריפט הנוחות הרשמי של Docker במקום בחבילת ה-docker.io של Ubuntu, שאינה כוללת את תוסף ה-Compose כלל:

curl -fsSL https://get.docker.com | sudo sh
sudo docker compose version

אתם אמורים לראות שורת Docker Compose version v2.x. אם docker compose version מדפיס docker: 'compose' is not a docker command, סימן ש-Docker Engine מותקן אך תוסף ה-Compose אינו מותקן. התקינו את התוסף ממאגר ה-Docker, הריצו שוב את הסקריפט שלעיל, או עקבו אחר מדריך יסודות ה-Docker Compose שלנו, המגדיר את שניהם ממאגר ה-apt הרשמי של Docker.

שלב 4, שכפול mailcow ויצירת התצורה

cd /opt
sudo git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
umask
sudo ./generate_config.sh

וודאו כי umask מציג 0022; mailcow מסרב לבצע build אם הרשאות הקבצים אינן תקינות, ומעטפת root טרייה ב-Ubuntu 24.04 מספקת כברירת מחדל 0022. לאחר מכן, הסקריפט יבקש את הפרט החשוב ביותר: שם המארח המלא (FQDN). הזינו את mail.example.com; הערך חייב להתאים במדויק לרשומת ה-A ולרשומת ה-PTR שלכם. הסקריפט יוצר את mailcow.conf, קובץ הסביבה היחיד שכל המערך קורא ממנו. פתחו אותו אם עליכם לשנות את פורטי ה-web (הגדרות HTTP_PORT, HTTPS_PORT) או אם ברצונכם להשבית את ClamAV בשרת בעל משאבים מוגבלים:

MAILCOW_HOSTNAME=mail.example.com
HTTP_PORT=80
HTTPS_PORT=443
SKIP_CLAMD=n          # set to y to drop the virus scanner on a <2.5 GiB box

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

השאירו את HTTP_PORT=80 ואת HTTPS_PORT=443 כפי שהם, אלא אם שירות אחר על המארח כבר תופס אותם. לקוח ה-ACME המובנה של mailcow זקוק לגישה לפורט 80 מהאינטרנט כדי להנפיק את התעודה. זו הסיבה שאין להריץ התקנה נפרדת של nginx ו-Certbot על אותו שרת; mailcow מנפיק ומחדש את תעודות ה-TLS שלו באופן פנימי, ושירות נוסף ש"יושב" על פורטים 80/443 יגרום לכשל בתהליך. הכלל תקף לכל שירות אחר שזקוק לממשק web ציבורי; לכן, פרויקט כמו Halcyon המציג ספריית Jellyfin כחנות וידאו משנות ה-90, המצפה ל-reverse proxy משלו על פורט 443, צריך להיות מותקן על שרת נפרד. החריג הוא שירות שאינו דורש פורט web ציבורי כלל: שרת relay עצמאי של RustDesk מאזין רק לטווח הפורטים שלו (21115 עד 21119), ולכן הוא יכול לחלוק את השרת, בתנאי שיש לכם מספיק רוחב פס פנוי.

שלב 5, הפעלת ה-stack והתחברות

sudo docker compose pull
sudo docker compose up -d
sudo docker compose ps

פעולת ה-pull מושכת כ-24 אימג'ים; המתינו מספר דקות. כאשר docker compose ps מציג שכל הקונטיינרים במצב running (או healthy), פתחו את https://mail.example.com בדפדפן. פרטי ההתחברות המנהליים כברירת מחדל הם שם משתמש admin וסיסמה moohoo. שנו את הסיסמה מיד בממשק הניהול תחת Access → Administrators. אם הדפדפן מציג אזהרת NET::ERR_CERT_AUTHORITY_INVALID, ייתכן שתעודת ה-ACME טרם הונפקה; עיינו בסעיף כשל ACME להלן לפני שתניחו שהשירות אינו תקין. תעודת placeholder בחתימה עצמית היא מצב תקין בדקה או בשתיים הראשונות.

שלב 6, הוספת דומיין, תיבת דואר ופרסום DKIM

בממשק הניהול, פתחו את דף הגדרות הדואר (Configuration → Mail Setup), תחת הלשונית Domains לחצו על Add domain והזינו את example.com. לאחר מכן, תחת Mailboxes, בחרו ב-Add mailbox כדי ליצור את you@example.com עם סיסמה. זוהי תיבת דואר פעילה שניתן לגשת אליה כבר עכשיו באמצעות IMAP.

כעת, עבור מפתח ה-DKIM. עברו אל Configuration → ARC/DKIM keys; ייתכן ש-mailcow כבר יצר מפתח בעת הוספת הדומיין. אם לא, צרו מפתח חדש שם, בחרו את הדומיין, השאירו את ה-selector כ-dkim, בחרו באורך 2048-bit ולחצו על Add. העתיקו את ערך ה-TXT הארוך שמוצג ופרסמו אותו כך:

dkim._domainkey.example.com.  TXT  "v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqh...long-key...QAB"

בדף ה-Domains של mailcow קיים כפתור DNS המפרט את כל הרשומות הנדרשות ומציג סימון ירוק או איקס אדום בהתאם למצב הפרסום בפועל. השתמשו בו כרשימת תיוג, וודאו שכל השורות ירוקות לפני בדיקת יכולת המסירה. שורת DKIM אדומה לאחר הפרסום מעידה בדרך כלל על פיצול שגוי של המפתח בין מקטעי TXT; מפתח 2048-bit ארוך יותר ממגבלת 255 התווים של מחרוזת TXT בודדת, לכן הדביקו אותו כערך לוגי אחד ואפשרו לספק ה-DNS שלכם לפצל אותו למקטעים באופן אוטומטי.

שלב 7, בדיקת יכולת המסירה ושאיפה לציון 10/10

גשו לאתר mail-tester.com, העתיקו את הכתובת האקראית המוצגת בו, ושלחו אליה הודעה מתיבת הדואר החדשה שלכם. התחברו ל-SOGo webmail בכתובת https://mail.example.com/SOGo ושלחו משם את ההודעה. לאחר מכן לחצו על "Then check your score".

שאפו לציון 10/10. להלן הניכויים הנפוצים והסיבות להם:

  • SPF not aligned: רשומת ה-MX/SPF שלכם חסרה או שכתובת ה-IP השולחת אינה כלולה בה. בדקו שוב את רשומת ה-TXT של ה-SPF.
  • DKIM signature does not verify: רשומת ה-TXT של ה-dkim._domainkey חסרה, עדיין בתהליך הפצה (propagation), או שהיא משובשת. זוהי השגיאה הנפוצה ביותר.
  • No PTR / PTR mismatch: ה-reverse DNS אינו מתרגם ל-mail.example.com. תקנו זאת דרך ספק התשתית.
  • Listed on a blocklist: מוניטין קודם של כתובת ה-IP שלכם. בקשו הסרה מהרשימה השחורה או בקשו כתובת IP נקייה יותר.

אל תשלחו דואר אמיתי ל-Gmail או ל-Outlook עד שתקבלו ציון 10/10. ציון נמוך בשילוב כתובת IP חדשה הם הדרך המהירה ביותר לגרום לכך שהדומיין שלכם יסומן כספאם כבר ביום הראשון.

שלב 8, חיבור לקוח דואר אלקטרוני אמיתי

הגדירו את Thunderbird, Apple Mail או את הטלפון שלכם מול השרת באמצעות ההגדרות הבאות. מארח השרת (server host) עבור כולם הוא mail.example.com:

  • IMAP: פורט 993, SSL/TLS (או 143 עם STARTTLS)
  • SMTP submission: פורט 465, SSL/TLS (או 587 עם STARTTLS)
  • שם משתמש: כתובת הדואר המלאה, you@example.com
  • סיסמה: סיסמת תיבת הדואר שהגדרתם

לעולם אל תשלחו דואר מלקוח דרך פורט 25. פורט זה מיועד לתקשורת שרת-לשרת בלבד; mailcow אינה מציעה בו שליחה מאומתת (authenticated submission), ולקוח שינסה להתחבר אליו יידחה. אם לקוח מדווח על Relay access denied, סימן שהוא מנסה לשלוח דואר דרך פורט 25 או ללא אימות; העבירו אותו לפורט 465 או 587 עם פרטי הגישה של תיבת הדואר שלכם.

שלב 9, גיבוי של מה שבאמת חשוב

mailcow כוללת סקריפט גיבוי שמבצע snapshot לכל ה-volumes בעלי מצב (stateful). הריצו אותו אל כונן חיצוני או אל יעד מרוחק שמופה למערכת:

sudo MAILCOW_BACKUP_LOCATION=/opt/mailcow-backups \
  ./helper-scripts/backup_and_restore.sh backup all

all מתעד שישה רכיבים, ואובדן של כל אחד מהם משמעו אובדן נתונים: vmail (תיבות הדואר עצמן), crypt (המפתחות לפענוח ה-vmail, חסרי תועלת בלעדיו), mysql (מסד הנתונים MariaDB המכיל דומיינים, משתמשים, כינויים והגדרות), redis (מצב התור והמטמון), rspamd (נתוני למידה של דואר זבל/תקין), ו-postfix (תור הדואר). הסקריפט רץ בתוך מכולת עזר הכותבת ארכיונים דחוסים, כך שהגיבויים נשארים עקביים גם כשהמערכת פעילה. בצעו אוטומציה באמצעות cron job לילי, והוסיפו את --delete-days 14 כדי לנקות סטים ישנים. cron job שמפסיק לעבוד עלול להיכשל בשקט, לכן שלחו את סטטוס היציאה של הסקריפט למקום שבו תבחינו בו; שרת ntfy בניהול עצמי מקבל פקודת curl בשורה אחת מאותה כניסת cron ושולח התראה על הכישלון לטלפון שלכם באותו הלילה. שחזור מתבצע באמצעות אותו סקריפט עם restore, המציג את ה-snapshots ומאפשר לכם לבחור מה לשחזר. גיבוי שמעולם לא בדקתם את השחזור שלו הוא בגדר תקווה בלבד, לא גיבוי; בצעו הרצה ניסיונית (dry run) על שרת VPS זמני.

שלב 10, עדכון לפי לוח זמנים

mailcow מתעדכנת באמצעות סקריפט פנימי, אשר מושך קוד חדש, מבצע מיגרציות ל-mailcow.conf, טוען מראש (prefetch) אימג'ים, ומפעיל מחדש את המכולות לפי הסדר:

cd /opt/mailcow-dockerized
sudo ./update.sh --check   # reports whether an update exists, changes nothing
sudo ./update.sh           # applies it

בצעו גיבוי תחילה (שלב 9), כיוון שמיגרציית סכימה היא פעולה שקשה לבטל. עדכונים משוחררים בתדירות גבוהה וכוללים תיקוני אבטחה עבור שירותים החשופים לאינטרנט, לכן אל תזניחו שרת דואר למשך חודשים. אם עדכון כלשהו מותיר מכולה במצב לא תקין, הפקודה sudo docker compose logs --tail=50 <service>-mailcow תציג את שם השירות שנכשל בעלייה.

הערה על הקשחת אבטחה

mailcow מריצה שירות netfilter משלה (netfilter-mailcow) החוסם כתובות IP המבצעות ניסיונות התחברות אגרסיביים לפורטים של הדואר ושל ה-webmail, כך שצד הדואר מוגן כברירת מחדל. הגנה זו אינה מכסה את SSH במארח עצמו, שנותר חשוף ונתון לניסיונות brute-force; מומלץ לשלב התקנה זו עם ניטור לוג האימות של SSH באמצעות Fail2ban ושימוש בהתחברות מבוססת מפתח בלבד. יש להגן על ממשק הניהול של mailcow באמצעות סיסמה חזקה, ורצוי להגביל את הגישה אליו כך שלא יהיה חשוף לאינטרנט הציבורי או להשתמש ב-VPN.

מצבי כשל, עם מחרוזות מדויקות

תור הדואר אינו נשלח. הריצו את sudo docker compose exec postfix-mailcow postqueue -p, או קראו את תור הדואר בממשק הניהול; רשומות נשארות במצב deferred עם:

status=deferred (connect to gmail-smtp-in.l.google.com[142.250.x.x]:25: Connection timed out)

זהו מצב שבו פורט 25 יוצא חסום על ידי ספק התשתית שלכם (שלב 1). שום שינוי בתצורה לא יפתור זאת, פתחו קריאת שירות. זו אינה בעיית DNS ואינה בעיית TLS; הסימן המובהק הוא המילה timed out מול שרת MX מרוחק בפורט 25.

Gmail מסמן הכל כספאם, או דוחה את ההודעות. פתחו את ההודעה ב-Gmail, בחרו ב-"Show original", וקראו את תוצאות האימות. dkim=fail או dkim=none משמעותם שרשומת ה-dkim._domainkey TXT שלכם חסרה, משובשת, או שטרם עברה הפצה (propagation). פרסמו מחדש בדיוק את מה שמופיע בדף ה-ARC/DKIM והמתינו לסיום ה-TTL. spf=fail משמעותו שרשומות ה-SPF/MX אינן מכסות את כתובת ה-IP שלכם. התאמה (alignment) היא קריטית; בדיקה אחת שנכשלת מספיקה כדי להגיע לספאם.

דחייה על ידי ספקיות גדולות בעת התחברות. הודעות שגיאה או לוגים של Postfix מכילים דחיית PTR מצד Gmail:

550-5.7.25 [10.0.0.10] The IP address sending this message does not have a PTR
550-5.7.25 record setup, or the corresponding forward DNS entry does not match
550 5.7.25 the sending IP. As a policy, Gmail does not accept messages from IPs
550 5.7.25 with missing PTR records.

קוד ה-550 5.7.25 מציין חוסר ב-reverse DNS או אי-התאמה שלו. הגדירו את ה-PTR עבור כתובת ה-IP שלכם ל-mail.example.com אצל הספק (שלב 2). רשומת ה-Forward (A) ורשומת ה-Reverse (PTR) חייבות להיות תואמות, ושתיהן חייבות להצביע על אותו שם מארח שבו mailcow מציגה את עצמה מול שרתים אחרים.

הדפדפן מציג אזהרת תעודה שאינה נעלמת. מכולת ה-acme-mailcow נכשלה בקבלת תעודה תקנית. בדקו את הלוג שלה:

sudo docker compose logs acme-mailcow | tail -n 40

שורה כמו Cannot validate any hostnames, skipping Let's Encrypt for 1 hour. או כשל באתגר (challenge failure) משמעותם שפורט 80 אינו נגיש מהאינטרנט, או שרשומת ה-A אינה מצביעה על שרת זה. ודאו ש-mail.example.com מתרגם לכתובת השרת, פתחו את פורטים 80 ו-443 בכל firewall מארח, וודאו ששום תהליך אחר לא מאזין בפורטים אלו. לאחר תיקון הגורם, הפעילו מחדש את הלקוח עם sudo docker compose restart acme-mailcow במקום להמתין לסיום זמן ההמתנה (back-off) של שעה.

FAQ

האם אירוח עצמי של דואר אלקטרוני באמת משתלם?

אם אתם מחפשים בעלות על הנתונים, אינספור כינויים (aliases) ושליטה מלאה, התשובה היא כן; mailcow מספקת חבילת שירותים מקצועית במחיר של VPS. עם זאת, הבטחת הגעת הדואר ליעדו (deliverability) היא מטלה מתמשכת: מוניטין ה-IP, תקינות ה-DNS וניטור רשימות חסומות הם תהליכים שלא נגמרים. עבור כתובת דוא"ל עסקית קריטית, שבה יום אחד בתיקיית ה-spam עלול לעלות לכם ביוקר, ספק מנוהל הוא הבחירה הפרגמטית. בחרו באירוח עצמי כאשר השליטה חשובה לכם יותר מנוחות, ואתם מתכוונים לתחזק את המערכת בפועל. אם המטרה האמיתית שלכם היא להוציא את הנתונים שלכם מהשרתים של אחרים, ולאו דווקא דואר אלקטרוני, התחילו עם שירות שאינו תלוי באף גורם חיצוני: ספריית תמונות, למשל, אינה סובלת מבעיות deliverability, ו-השוואת ה-PhotoPrism ו-Immich שלנו מכסה את דרישות ה-RAM ופקודות הגיבוי עבור הקמה כזו על אותו סוג של VPS.

איך אדע אם פורט 25 יוצא חסום?

הריצו את nc -vz -w 5 gmail-smtp-in.l.google.com 25 מהשרת. התוצאה "succeeded!" מעידה על כך שהפורט פתוח; הודעת timed out לאחר השהיה מעידה על כך שהספק שלכם חוסם אותו. זוהי הסיבה הנפוצה ביותר לכך ששרת מאוחסן עצמית יכול לקבל דואר אך לא לשלוח אותו, והפתרון היחיד הוא פתיחת הפורט על ידי הספק; שום הגדרה מקומית לא תשנה זאת.

מדוע הדואר שלי עדיין מגיע לתיקיית ה-spam ב-Gmail?

כמעט תמיד מדובר בשרשרת אימות שבורה. השתמשו באפשרות "Show original" ב-Gmail וחפשו את spf=pass, dkim=pass ו-dmarc=pass. ערך dkim=fail מצביע על רשומת TXT מסוג dkim._domainkey חסרה או משובשת; גם חוסר התאמה ב-PTR או כתובת IP חדשה ללא היסטוריית שליחה פוגעים במוניטין. הביאו את הציון ב-mail-tester.com ל-10/10 תחילה, ולאחר מכן חממו את ה-IP בהדרגה – התחילו עם הודעות בודדות ביום והגדילו את הכמות לאט, במקום לשלוח נפח גדול כבר ביום הראשון.

מה בדיוק עלי לגבות?

הריצו את backup_and_restore.sh backup all ושמרו את כל הסט מחוץ לשרת. הגיבוי כולל את vmail (תיבות הדואר), crypt (המפתחות לפענוח הנתונים), מסד הנתונים MariaDB (דומיינים, משתמשים, כינויים והגדרות), Redis, הנתונים שנלמדו על ידי Rspamd, ותור ה-Postfix. נפח ה-crypt הוא זה שאנשים נוטים לשכוח; בלעדיו, גיבוי ה-vmail הוא טקסט מוצפן שלא ניתן לקריאה. בצעו בדיקת שחזור על שרת ניסיוני לפחות פעם אחת.

האם ניתן להריץ את mailcow על VPS עם 2 GB RAM?

לא בצורה נוחה. generate_config.sh מציעה להשבית את ClamAV מתחת ל-2.5 GiB, וגם אז Rspamd, ClamAV, Dovecot ו-MariaDB יתחרו על הזיכרון. אתם תיתקלו בשימוש ב-swap ובסגירת תהליכים על ידי ה-OOM killer תחת כל עומס משמעותי. התייחסו ל-6 GB RAM בתוספת 1 GB swap כרף המינימום להתקנה יציבה עבור משתמש יחיד, ועברו ל-8 GB ברגע שיותר מאנשים בודדים מסתמכים על השירות.