שליחת מייל מהשרת הביתי (XAMPP) באמצעות חשבון Gmail

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

ראשית, נפתח את קובץ php.ini על ידי לחיצה על "Config" בשורה של ה-Apache ב-XAMPP Control.

חפשו "[mail function]" ושנו את הערכים באופן הבא (שימו לב כי אין נקודה פסיק [;] לפני כל שורה!):

SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = yourGmailAdress@gmail.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

כעת ניכנס לנתיב הבא, נפתח את קובץ sendmail.ini ונשנה את הערכים הבאים (גם כאן, שימו לב כי אין נקודה פסיק [;] לפני כל שורה!):

smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=yourGmailAdress@gmail.com
auth_password=yourGmailPassword
force_sender=yourGmailAdress@gmail.com

צעד חשוב! – כבו את ה-Xampp ומיד הדליקו חזרה לטובת כניסת ההגדרות החדשות לתוקף.

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

https://www.google.com/settings/security/lesssecureapps

כעת, פתחו דף PHP פשוט, הכניסו את הקוד הבא, עדכנו לכתובת המייל שלכם ופשוט גלשו אל כתובת הדף:

$to = "YourEmail@Adress.com";
$subject = "Test email";
$message= "Some content";

if(mail($to,$subject,$message)) {
	echo 'Sent successfully';
}
else {
	echo 'Error!';
}

נדמה לי שמחכה לכם מייל חדש ב-inbox 🙂

בהצלחה!

נהנת ממאמר זה? הירשם לרשימת התפוצה וקבל עדכונים על מאמרים חדשים!


7 תגובות בנושא “שליחת מייל מהשרת הביתי (XAMPP) באמצעות חשבון Gmail”

  1. תודה על המאמר.הגדרתי ועובד על פי המאמר.לעומת זאת מהאתר שלי שמותקן על השרת הביתי XAMPP לא עובד בטופס צור קשר.(תוסף טפסי צרו קשר 7).אותו האתר על השרת החיצוני טופס צור קשר פועל כשורה,כך שהבעיה לא בתוסף ולא בהגדרת הgmail .עזרתך,היכן הבעיה.

    1. היי משה,
      מה שהגדרת ועובד – על איזה XAMPP זה מוגדר?
      והאתר שלך רץ על אותו XAMPP?
      אשמח אם תפרט יותר שאנסה לעזור 🙂
      תודה.

        1. היי משה,
          הטופס מחזיר הודעה שההודעה נשלחה בהצלחה?
          במידה ולא, תנסה לבדוק אם ישנה שגיאת console כלשהי. בכל אופן בתור צעד ראשון הייתי ממליץ להתקין את התוסף Check Email על מנת לבדוק שהמיילים יוצאים בכלל והבעיה היא רק בגדר התוסף.
          כשאמרת שהכל עובד, התכוונת לקוד שליחה הסטנדרטי שבמאמר?

          תודה, דור.

          1. א.הטופס אינו מחזיר שום הודעה,ההודעה פשוט לא מצליחה להשלח.רואים שהטופס מחפש דרך להישלח.
            ב.התקנתי התוסף.במצב test המיילים יוצאים.
            ג.הכל עובד לפי קוד השליחה הסטנדרטי שבמאמר.
            ד.התקנתי תוסף נוסף בשם wp-mail-smtp.גם פה עובד במצב test.
            ה.אותו טופס אחד לאחד נישלח בשרת חיצוני.

  2. מצאתי את הבעיה.
    כניראה אסור להגדיר בטופס את הדומיין האמיתי בשרת הבייתי localhost/….
    הגדרתי אותו בדומיין האמיתי כפי שמופיע באתר החיצוני
    "Contact Form"
    והמייל עבר.
    תודה רבה על היחס והרצון לעזור.

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *