הגבלת שליחת הטפסים באתר לאימייל עסקי בלבד יכולה להיות פעולה חשובה עבור עסקים המעוניינים להימנע מקבלת אימיילים שמקורם בשירותי דוא"ל חינמיים כמו Gmail, Yahoo או Outlook. באופן זה ניתן להבטיח שמשתמשים הממלאים את הטופס משויכים לעסק או לארגון בלבד.
במדריך זה נבחן כיצד להפעיל מגבלה זו בטפסי HTML ובתוסף הפופולרי Contact Form 7 (CF7).
למה להגביל ספקי דוא"ל חינמיים?
הגבלת ספקי דוא”ל חינמיים יכולה לשפר את אמינות ואיכות הפניות שאתם מקבלים, ולוודא שהן מגיעות ממשתמשים מקצועיים הקשורים לארגונים או עסקים.
- מקצועיות: אימיילים עסקיים משקפים לרוב זהות מקצועית המשויכת לחברה.
- הפחתת ספאם: הגבלת דומיינים של דוא"ל חינמי מפחיתה את הסיכוי לקבלת ספאם.
- שיפור איכות הנתונים: איסוף נתונים רלוונטיים ואפקטיביים יותר ממשתמשים בעלי עסקים אמיתיים.
הגבלת אימיילים חינמיים בטופס HTML
כדי להגביל ספקי אימייל חינמיים בטופס HTML סטנדרטי, ניתן להשתמש ב-JavaScript כדי לאמת את שדה האימייל.
קוד HTML
<form id="corporate-email-form">
<label for="email">הזן את האימייל העסקי שלך:</label>
<input type="email" id="email" name="email" required>
<button type="submit">שלח</button>
</form>
קוד JavaScript
document.getElementById('corporate-email-form').addEventListener('submit', function (e) {
const emailField = document.getElementById('email');
const emailValue = emailField.value;
const restrictedDomains = ['gmail.com', 'yahoo.com', 'outlook.com', 'hotmail.com'];
const domain = emailValue.split('@')[1];
if (restrictedDomains.includes(domain)) {
e.preventDefault();
alert('אנא השתמש באימייל עסקי.');
}
});
הסבר: קוד זה מאזין לאירוע השליחה של הטופס, מפיק את הדומיין מתוך כתובת האימייל שהוזנה ובודק אם הוא תואם לרשימת הדומיינים המוגבלים. אם כן, שליחת הטופס נמנעת ומוצגת הודעה למשתמש.
שימוש ב-Regex לאימות מתקדם
לאימות מתקדם יותר, ניתן להשתמש בתבנית Regex כדי להוציא דומיינים מסוימים בצורה דינמית.
קוד JavaScript עם Regex
const emailRegex = /^[a-zA-Z0-9._%+-]+@(?!gmail\.com$|yahoo\.com$|outlook\.com$|hotmail\.com$)[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
document.getElementById('corporate-email-form').addEventListener('submit', function (e) {
const emailField = document.getElementById('email');
const emailValue = emailField.value;
if (!emailRegex.test(emailValue)) {
e.preventDefault();
alert('אנא השתמש באימייל עסקי.');
}
});
הסבר: Regex זה מבטיח שדומיין האימייל אינו תואם לרשימת הדומיינים המוגבלים. הוא מבצע אימות דינמי ומונע שליחה אם זוהה אימייל חינמי.
"שימוש ב-Regex לאימות מאפשר דרך חזקה ליישום כללים מותאמים אישית, ומבטיח שהטופס יקבל רק כתובות אימייל נדרשות."
הגבלת אימיילים חינמיים ב-Contact Form 7
אמנם Contact Form 7 אינו תומך ישירות בתכונה pattern
, אך ניתן להשתמש בפילטר wpcf7_validate_email
לאימות בצד השרת או ב-JavaScript לאימות בצד הלקוח.
שימוש בפילטר wpcf7_validate_email
Contact Form 7 מספק את הפילטר wpcf7_validate_email
המאפשר לאמת שדות אימייל בצד השרת במהלך שליחת הטופס. הנה כיצד ניתן להגביל דומיינים חינמיים:
function validate_corporate_email( $result, $tag ) {
$restricted_domains = ['gmail.com', 'yahoo.com', 'outlook.com', 'hotmail.com'];
// הפקת כתובת האימייל שהוזנה
$email = isset( $_POST['corporate-email'] ) ? sanitize_email( $_POST['corporate-email'] ) : '';
$domain = substr( strrchr( $email, '@' ), 1 );
// בדיקה אם הדומיין מוגבל
if ( in_array( $domain, $restricted_domains ) ) {
$result->invalidate( $tag, 'אנא השתמש באימייל עסקי.');
}
return $result;
}
add_filter( 'wpcf7_validate_email*', 'validate_corporate_email', 20, 2 );
הסבר: קוד זה משתמש בפילטר wpcf7_validate_email
כדי לאמת את שדה האימייל בצד השרת במהלך שליחת הטופס. הוא בודק את דומיין האימייל מול רשימת דומיינים מוגבלים, ואם נמצא התאמה, הוא מונע את שליחת הטופס ומציג הודעת שגיאה למשתמש.
קוד JavaScript עבור CF7
document.addEventListener('wpcf7mailsent', function (e) {
const emailField = document.querySelector('input[name="corporate-email"]');
const emailValue = emailField.value;
const restrictedDomains = ['gmail.com', 'yahoo.com', 'outlook.com', 'hotmail.com'];
const domain = emailValue.split('@')[1];
if (restrictedDomains.includes(domain)) {
alert('אנא השתמש באימייל עסקי.');
}
});
הסבר: קוד זה מאזין לאירוע שליחת הטופס ב-CF7 ומבצע אימות על שדה האימייל מול רשימת דומיינים מוגבלים. הוא מספק דרך מותאמת אישית לאכוף שימוש באימיילים עסקיים ב-CF7.
"שימוש באימות בצד השרת עם
wpcf7_validate_email
ובאימות בצד הלקוח עם JavaScript מבטיח אכיפה חזקה של מגבלות על אימיילים חינמיים."
סיכום
הגבלת ספקי אימייל חינמיים בטפסים היא דרך פשוטה אך אפקטיבית לשפר את איכות הפניות שמתקבלות. בין אם אתם משתמשים בטופס HTML פשוט או בתוסף Contact Form 7, השיטות הללו מאפשרות לכם לאכוף שימוש באימיילים עסקיים בצורה חלקה.
מוזמנים לשנות את הדוגמאות שסיפקנו לצרכים הספציפיים שלכם. אם יש לכם שאלות או צורך בעזרה נוספת, שתפו בתגובות למטה!
אין צורך להשתמש ב-js לאימות מידע בטופס. Html תומך באימות עם regex בצורה מובנה. זה גם יחסוך שימוש ב-alert ויציג הודעת שגיאה יפה.
אני בהלם שלא גיליתי את זה עד היום. תודה ששיתפת! אעדכן את הפוסט בהתאם…
לא נראה ש CF7 תומך בזה, מעניין למה..