Forum und email

mail

(PHP 4, PHP 5)

mail — שלח דואר

תיאור

פונקצייה בוליאנית mail ( מחרוזת $הנמען , מחרוזת $הנושא , מחרוזת $ההודעה [, מחרוזת $additional_headers [, מחרוזת $additional_parameters ]] )

דואר() שולחת באופן אוטומטי את ההודעה המתוארת ב-message לנמען המתואר ב-to . שליחה להרבה נמענים יכולה להתבצע על ידי כתיבת פסיק בין כל כתובת בפרמטר to . דואל עם קובצים מצורפים (attachments) ועם סוגים מיוחדים של תוכן יכולים להשלח עם הפונקציה הזאת. תהליך זה מושלם דרך ה- MIME-encoding - תקן המאפשר להעביר בדואל כל סוג קובץ. לעוד מידע, עיין ב» מאמר מ-Zend או ב- » PEAR Mime Classes.

הקישורים הבאים ל-RFC יכולים להיות גם כן שימושיים: » RFC 1896, » RFC 2045, » RFC 2046, » RFC 2047, » RFC 2048, ו » RFC 2049.

דואר() מחזירה TRUE אם הדואר נשלח בהצלחה, ו-FALSE אחרת.

Example#1 שליחת דואר

mail("[email protected]", "My Subject", "Line 1\nLine 2\nLine 3");

אם משתנה רביעי מסוג מחרוזת נשלח בנוסף, מחרוזת זו מוכנסת בסוף הכותרת (header). השימוש במשתנה זה הוא לרוב בשביל להוסיף עוד כותרות (headers). בכדי להוסיף כמה כותרות, יש להפרידם בעזרת החזרת הסמן להתחלת השורה (/r) ושורה חדשה (/n).

Note: אתה חייב להשתמש בתווים \r\n כדי להפריד כותרות, למרות שסוכני העברת דואר מסויימים של Unix יכולים לעבוד רק עם שורה חדשה (\n). הכותרת Cc: היא רגישה להבדל בין אותיות קטנות לגדולות (-באנגלית) וחייב להכתב במערכות Win32 כך: Cc:. הכותרת Bcc: אינה נתמכת במערכות Win32.

Example#2 שליחת דואר עם כותרות נוספות.

mail("[email protected]", "the subject", $message,
     "From: webmaster@$SERVER_NAME\r\n"
    ."Reply-To: webmaster@$SERVER_NAME\r\n"
    ."X-Mailer: PHP/" . phpversion());

הפרמטרים הנוספים (additional_parameters ) יכולים לשמש להעברת פרמטרים נוספים לתוכנה המוגדרת לשימוש כששולחים דואר בעזרת התוכנה המוגדרת בתיקיה sendmail_path. לדוגמה, אפשר להשתמש באפשרות זו בשביל לקבוע את מעטפת כתובת השולח כשמשתמשים בתוכנה Sendmail. אתה תהיה צריך להוסיף את המשתמש ששרת האינטרנט מפעיל בהגדרות התוכנה Sendmail בשביל למנוע את הוספת הכותרת 'X-Warning' להודעה שלך, כשאתה קובע את מעטפת כתובת עם השיטה הזאת.

Example#3 שליחת דואר עם תורות נוספות וקביעת פקודה נוספת כפרמטר.

mail("[email protected]", "the subject", $message,
     "From: webmaster@$SERVER_NAME", "-fwebmaster@$SERVER_NAME");

Note: הפרמטר החמישי הוסף בגירסה PHP 4.0.5.

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

Example#4 שליחת הודעות מורכבות.

/* recipients */
$to  = "Moshe <[email protected]>" . ", " ; //אל תשכח את הפסיק!
$to .= "David <[email protected]>";

/* subject */
$subject = "Birthday Reminders for August";

/* message */
$message = '
<html>
<head>
 <title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
 <tr>
  <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
 </tr>
 <tr>
  <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
  <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
 </tr>
</table>
</body>
</html>
';

/* בכדי לשלוח דואר מסוג HTML, את יכול לקבוע את  כותרות סוג התוכן (Content-type).*/
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* כותרות נוספות */
$headers .= "From: Birthday Reminder <[email protected]>\r\n";

$headers .= "Cc: [email protected]\r\n";
$headers .= "Bcc: [email protected]\r\n";

/* ועכשיו - שלח את זה! */
mail($to, $subject, $message, $headers);

Note: וודא את זה שאין לך שום תו של שורה חדשה בפרמטר to או בפרמטר subject , אחרת הדואר לא ישלח היטב.