שליחת מייל בעברית באמצעות PHP

פונקציה לשליחת מייל מעוצב (HTML) באמצעות PHP.

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

הפונקציה מקבלת גם to בפורמט name כאשר ה-name יכול להיות גם בעברית ומחזירה True או false בדומה לפונקצית ה-mail המקורית.



function sendHTMLemail($to, $subject, $from, $body) { 
	
if (ereg("(.*)< (.*)>", $from, $regs)) {
	   $from = '=?UTF-8?B?'.base64_encode($regs[1]).'?= < '.$regs[2].'>';
	} else {
	   $from = $from;
	}
	
    $headers = "From: $from\r\n"; 
    $headers .= "MIME-Version: 1.0\r\n"; 
    $boundary = uniqid("HTMLEMAIL"); 
    $headers .= "Content-Type: multipart/alternative;".
                "boundary = $boundary\r\n\r\n"; 
    $headers .= "This is a MIME encoded message.\r\n\r\n"; 
    $headers .= "--$boundary\r\n".
                "Content-Type: text/plain; UTF-8\r\n".
                "Content-Transfer-Encoding: base64\r\n\r\n";         
    $headers .= chunk_split(base64_encode(strip_tags($body))); 
    $headers .= "--$boundary\r\n".
                "Content-Type: text/html; charset=UTF-8\r\n".
                "Content-Transfer-Encoding: base64\r\n\r\n";    
    $headers .= chunk_split(base64_encode($body)); 

    $result = mail($to,'=?UTF-8?B?'.base64_encode($subject).'?=',"",$headers);
    return $result;
}

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

פוסטים נוספים שכדאי לקרוא

יסודות בתכנות

איך TCP עובד? מבט מעמיק

הסבר מעמיק מתחת למנוע על איך תקשורת TCP עובדת כולל ניתוח פקטות.

בינה מלאכותית

יצירת mcp client

יצירת mcp client משלנו כדי שיתחבר לשרתי mcp שונים ויחבר את ה-LLM להכל באופן סטנדרטי.

פתרונות ומאמרים על פיתוח אינטרנט

לא פרצו לנו, רק דלף לנו – לקחים טכניים מפרשת אלקטור

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

יסודות בתכנות

מבוא לאבטחת מידע: גוגל דורקינג

מאמר מבוא המספר בקצרה ובלשון קלה על גוגל דורקינג – טכניקה לביצוע האקינג גם ללא ידע טכני כלל.

גלילה לראש העמוד