התקנת mail PHP על שרת פיתוח

אחת הבעיות המציקות ביותר כאשר אנו מקימים שרת פיתוח מבוסס לינוקס היא כיצד לגרום לפונקצית ה-mail של PHP לעבוד? הרי ברוב המקרים אין לנו את הידע והיכולת להתקין שרת מייל ואנחנו בסך הכל רוצים לבדוק את פונקצית המייל שלנו. למרבה המזל, קל מאד לגרום לפונקציות המייל לעבוד באמצעות PHP PEAR. משמעות המושג PHP PEAR היא אוסף עצום של רכיבים ל-PHP שניתן להתקין את כולם או חלק מהם. לא מעט מתכנתים עושים שימוש בהרחבות של PEAR וחוסכים זמן רב. אנחנו הפעם נשתמש ב-PEAR על מנת לחסוך את הזמן שנדרש להתקנת שרת מייל. ראשית, אנו נפתח את הקונסולה שלנו ונתקין את PHP PEAR.:


sudo apt-get install php-pear

אחרי שהתקנו את PEAR, אנו יכולים לגשת למלאכת התקנת ההרחבות שאנחנו צריכים.

ראשית נתקין את הרחבת mail:


sudo pear install mail

אחרי כן נתקין את Net_SMTP:


sudo pear install Net_SMTP

אחרי כן נתקין את Auth_SASL:


sudo pear install Auth_SASL

ולבסוף נתקין את Mail Mime:


sudo pear install mail_mime

אחרי שסיימנו להתקין את כל ההרחבות האלו, אנו נתקין את postfix שהיא בעצם mailserver חמודה לשרתי יוניקס ולינוקס. בהתקנה התוכנה תבקש מאיתנו להכניס שתי הגדרות. ההגדרה הראשונה היא Internet Site וההגדרה השניה היא localhost (צריך לשנות את מה שכתוב שם).


sudo apt-get install postfix

עכשיו כל מה שנותר לנו לעשות זה לבדוק את שליחת המייל, אני משתמש מזה שנים בקוד לשליחת מייל על מנת לבדוק אם שרת ה-PHP תומך במשלוח מייל. (לא אני כתבתי אותו אבל לצערי אני לא זוכר מאיפה הוא הגיע). אל תשכחו להחליף את המייל שלכם:


< ?php
include('Mail.php');
include('Mail/mime.php');
// Constructing the email
$sender = "Ran <whatever@moshe.com>";
$recipient = "Ran <ran @bar-zik.com>";
$subject = "This Test Email";
$text = 'This is a test text message.';
$html = '<html><body><p>This is a test HTML body</p></body></html>';
$crlf = "\n";
$headers = array(
'From'          => $sender,
'Return-Path'   => $sender,
'Subject'       => $subject
);
// Creating the Mime message
$mime = new Mail_mime($crlf);
// Setting the body of the email
$mime->setTXTBody($text);
$mime->setHTMLBody($html);
 // Set body and headers ready for base mail class
$body = $mime->get();
$headers = $mime->headers($headers);
// SMTP params
$smtp_params["host"] = "localhost"; // SMTP host
$smtp_params["port"] = "25";               // SMTP Port (usually 25)
// Sending the email using smtp
$mail = Mail::factory("smtp", $smtp_params);
$result = $mail->send($recipient, $headers, $body);
if($result == 1)
{
echo("Your message has been sent!");
}
else
{
echo("Your message was not sent: " . $result);
}
</ran>

זה הכל! מעכשיו השרת יוכל לשלוח מייל ואתם תוכלו לבדוק את האפליקציות שלכם – שימו לב שאם אתם משתמשים בג'ימייל, סביר להניח שמייל שיישלח משרת הפיתוח שלכם יוגלה לזבל, אז לא להכנס ללחץ…

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

אהבתם? לא אהבתם? דרגו!

לא אהבתי בכלללא אהבתיבסדראהבתיאהבתי מאוד (אין הצבעות)


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