אתם ממלאים את הטופס באתר שלכם (Contact Form 7, WPForms, Ninja Forms או כל תוסף אחר), רואים את הודעת ההצלחה הירוקה, ומחכים למייל בתיבה — והוא לא מגיע. לא היום, לא מחר. הפלאגין "חושב" שהמייל נשלח, כי מבחינתו הוא באמת נשלח: הבעיה מתחילה שנייה אחרי זה, בדרך מהשרת שלכם אל Gmail, Outlook, Walla! או iCloud. זו אחת התקלות הנפוצות ביותר באתרי וורדפרס בישראל, והשורש שלה כמעט תמיד זהה.
למה טופס יצירת קשר בוורדפרס "משקר" שהמייל נשלח
רוב תוספי הטפסים בוורדפרס לא שולחים מיילים בעצמם — הם קוראים לפונקציה המובנית wp_mail(), שמעבירה את המייל הלאה לפונקציית ה-mail() של PHP באחסון שלכם. הפונקציה הזו לא מבצעת שום אימות אמיתי מול ספקי המיילים: היא פשוט דוחפת את ההודעה החוצה בשם הדומיין שהוגדר בהגדרות השרת, שלרוב שונה לגמרי מהדומיין של האתר שלכם.
התוצאה: Gmail או Outlook מקבלים מייל שטוען שהוא מ-info@האתר-שלכם.co.il, אבל השרת ששלח אותו לא מוגדר ב-SPF של אותו דומיין, ואין עליו חתימת DKIM תואמת. מבחינת מנועי הסינון זה נראה בדיוק כמו זיוף שולח (spoofing) — ולכן המייל נזרק לספאם, או פשוט נזרק בשקט בלי אף התראה, גם לפלאגין וגם אליכם.
איך בודקים אם זו באמת הבעיה אצלכם
- בדקו תיקיית ספאם/קידומים אצל הנמען, לא רק את תיבת ה-Inbox — לפעמים המייל כן מגיע, רק לא לאן שציפיתם.
- התקינו פלאגין לוג כמו WP Mail Logging ובדקו אם וורדפרס בכלל ניסה לשלוח, ומה היה כתובת השולח (envelope-from) בפועל.
- שלחו טסט אמיתי לכמה ספקים בו-זמנית — Gmail, Outlook, Walla!, iCloud — ולא רק לכתובת אחת שאולי מסננת אחרת מהשאר.
- אם האתר משתמש בפלטפורמת מסחר כמו Grow, Cardcom או WooCommerce — בדקו האם המיילים הטרנזקציוניים (אישור הזמנה, קבלה) יוצאים מתשתית הפלטפורמה במקום מהדומיין שלכם.
הדרך הכי מהירה לוודא זאת בפועל היא לשלוח מייל בדיקה דרך כלי בדיקת המסירה החינמי שלנו ולראות בזמן אמת לאיזו תיקייה הוא נופל אצל 20+ ספקים, כולל תוצאות SPF/DKIM/DMARC וצילום מסך של הרינדור בפועל.
הפתרון: להחליף את wp_mail() ל-SMTP מאומת
התיקון הסטנדרטי הוא פלאגין מסוג WP Mail SMTP (או שווה ערך), שמנתב את כל המיילים שיוצאים מהאתר — כולל טפסי יצירת קשר — דרך ספק SMTP אמיתי במקום דרך פונקציית ה-mail() הגנרית. אפשר לחבר Google Workspace, ספק SMTP בינלאומי כמו Brevo או SendGrid, או ספק ישראלי כמו ActiveTrail או smoove שמאפשר הגדרת SPF/DKIM דרך הפאנל שלו.
אותה בעיה בדיוק חוזרת בחנויות מסחר: WooCommerce שרץ בלי פלאגין SMTP שולח דרך אותו wp_mail() הבעייתי; חנויות על Shopify חייבות לעבור אימות דומיין דרך פאנל Shopify לפני ששולחים בשם דומיין משלהן; ובפלטפורמות כמו Grow המיילים הטרנזקציוניים לרוב יוצאים מתשתית הפלטפורמה עצמה — כדי לשלוח מהדומיין שלכם צריך הגדרה ידנית מול הספק.
הגדרת SPF, DKIM ו-DMARC לדומיין שלכם
ברגע שהמיילים יוצאים דרך ספק SMTP אמיתי, צריך שהדומיין שלכם "יאשר" אותו כשולח לגיטימי. זה נעשה בשלוש רשומות DNS:
רשומת ה-SPF צריכה לכלול את ספק ה-SMTP שחיברתם בפלאגין. לדוגמה, אם התחברתם דרך Google Workspace, הרשומה תיראה בערך כך:
DKIM מוגדר בדרך כלל בלחיצת כפתור בפאנל של הספק (Google Workspace, ActiveTrail, smoove וכו') — הוא ייצר זוג מפתחות ורק תצטרכו להוסיף רשומת TXT אחת. DMARC אפשר להתחיל ברמת p=none כדי לצפות בדוחות בלי לחסום כלום, ולהחמיר בהדרגה. לוורדפרס וחנויות מסחר בישראל חשוב לזכור: כללי השולחים הגדולים של Google ו-Yahoo (מ-2024 ואילך) דורשים SPF+DKIM תקינים, DMARC לפחות ברמת p=none, כפתור הסרה בלחיצה אחת (RFC 8058) ואחוז תלונות ספאם נמוך — וזה חל גם עליכם ברגע שחלק מהנמענים שלכם על Gmail או Outlook.
אם הטופס משמש גם לרישום לניוזלטר
אם טופס יצירת הקשר כולל צ'קבוקס להרשמה לרשימת תפוצה שיווקית, זה מכניס אתכם לתחולת חוק התקשורת (בזק ושידורים), תיקון 40. המשמעות: צריך הסכמה מפורשת (opt-in) לפני שליחת דיוור פרסומי, שורת הנושא של כל מייל פרסומי חייבת להתחיל במילה "פרסומת", ובגוף המייל חייבים להופיע פרטי השולח וקישור הסרה ברור. שווה להפריד באתר בין הטופס הטרנזקציוני (תגובה לפנייה) לבין הרשמה שיווקית מפורשת, כדי לא לערבב בין השניים בטעות.
איך מוודאים שהתיקון באמת עבד
אחרי חיבור פלאגין SMTP והגדרת SPF/DKIM/DMARC, אל תסתפקו ב"הודעת הצלחה" נוספת — היא לא אומרת כלום על מה שקורה בצד המקבל. הדרך הנכונה היא לשלוח מייל טסט אמיתי דרך הטופס עצמו (או דרך תרחיש טרנזקציוני מקביל) ולבדוק בפועל היכן הוא נוחת אצל ספקים שונים. כלי הבדיקה החינמי נותן לכם כתובות seed אצל עשרות ספקים, מציג את תוצאת SPF/DKIM/DMARC בפועל, ומראה צילום מסך של איך המייל נראה בתיבה עצמה — כולל בעברית וב-RTL, שם שגיאות יישור וטקסט מעורב עם לטינית ומספרים נופלות מהר יותר מבכל שפה אחרת.
אפשר גם לעקוב אחרי מגמות אימות ברמת השוק בעמוד /email-stats/, שסורק אימוץ SPF/DKIM/DMARC אצל מיליון הדומיינים המובילים בעולם על בסיס שוטף.
למה הטופס מציג 'ההודעה נשלחה בהצלחה' אבל המייל בכלל לא מגיע?
wp_mail(). אין שום קשר בין זה לבין מה שקורה אחר כך אצל Gmail או Outlook — שם המייל יכול להידחות בשקט או להיזרק לספאם כי אין SPF/DKIM תואם לדומיין השולח.האם חובה להתקין פלאגין SMTP גם אם האתר מתארח על אחסון ישראלי מוכר?
מה ההבדל בין Contact Form 7 ל-WPForms מבחינת שליחת מיילים?
wp_mail() — כך שהם סובלים מאותה תקלה בדיוק ללא SMTP חיצוני. ההבדל ביניהם הוא בממשק ובאפשרויות ה-Notification, אבל שכבת השליחה בפועל זהה, ולכן הפתרון (פלאגין SMTP + SPF/DKIM) זהה גם הוא.