שליחת מייל בphp
-
יש כזה דבר?
-
-
@לעזור-לכולם צריך קודם להתקין ולהגדיר משהו, לא?
ומאיזה זיהוי זה ייצא? -
@שמואל-ש כתב בשליחת מייל בphp:
צריך קודם להתקין ולהגדיר משהו, לא?
לא צריך בדרך כלל (תלוי באיזה שרת אתה עובד)
@שמואל-ש כתב בשליחת מייל בphp:
ומאיזה זיהוי זה ייצא
פה יש לך הסבר בעברית ויותר ברור
-
@לעזור-לכולם זה מה שראיתי שם תוכל להסביר לי איזה פרטים אני מכניס?
<?php 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: $fromrn"; $headers .= "MIME-Version: 1.0rn"; $boundary = uniqid("HTMLEMAIL"); $headers .= "Content-Type: multipart/alternative;". "boundary = $boundaryrnrn"; $headers .= "This is a MIME encoded message.rnrn"; $headers .= "--$boundaryrn". "Content-Type: text/plain; UTF-8rn". "Content-Transfer-Encoding: base64rnrn"; $headers .= chunk_split(base64_encode(strip_tags($body))); $headers .= "--$boundaryrn". "Content-Type: text/html; charset=UTF-8rn". "Content-Transfer-Encoding: base64rnrn"; $headers .= chunk_split(base64_encode($body)); $result = mail($to,'=?UTF-8?B?'.base64_encode($subject).'?=',"",$headers); return $result;
-
@לעזור-לכולם @שמואל-ש או שזה זה
<?php $to = 'ran@bar-zik.com'; $subject = 'SUBJECT'; $message = 'BODY'; $headers = 'From: ran@bar-zik.com' . "rn" . 'Reply-To: ran@bar-zik.com' . "rn" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers);
-
@לעזור-לכולם @שמואל-ש
זה קוד עובד רק השאלה איך אני יכול לעשות שיצורפו קבצים מהשרת<?php $to = 'ran@bar-zik.com'; $subject = 'SUBJECT'; $message = 'BODY'; $headers = 'From: ran@bar-zik.com' . "rn" . 'Reply-To: ran@bar-zik.com' . "rn" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers);
-
@121244 יש כזה דבר TBV VEUS```
עבור לתוכן הדף
תכנות אתרי אינטרנט ומדריכיםשליחת email מעוצב בעברית עם PHP
מחבר: יוסי בן הרוש בתאריך: 19.09.2013
במדריך זה נלמד כיצד לשלוח מייל PHP מעוצב בעברית. בחרתי להדגים על שנה טובה, שכוללת עיצוב פשוט ותמונה. אתם מוזמנים להתאים את התוכן והצורה לפי הצורך. כך ייראה ה-email המוכן:שנה טובה
שלום לכולם,רציתי לאחל שנה טובה ומוצלחת
מדגים תמונה שניתן לשבץ במייל
מיוסי.
לאתר השולח
קוד ה-html תוכן ה-email נכתב ב-html. בקוד המצורף, הדגמה של ה-html. שימו לב שהעיצוב כלול בתגיות עצמן. <html lang="he-IL"> <head> <meta charset="utf-8"> </head> <body dir="rtl" style="width:97%;margin:10px auto;padding:0;color:#990033;font-size:2em;line-height:2;font-family:Arial,Helvetica,sans-serif;"> <div style="border:1px solid #339900;"> <div id="header" style="background:#33FF00;border-bottom:1px solid #339900;"> <div style="padding:20px;text-align:center;margin:0 auto;"> <h1>שנה טובה</h1> </div> </div> <div style="width:100%;background:#ffffff;"> <div style="width:100%;margin-right:20px;"> <p>שלום לכולם,</p> <p>רציתי לאחל שנה טובה ומוצלחת</p> <p style="text-align:center;"> <img src="//www.mysite.co.il/img/new_year.jpg" alt="מדגים תמונה שניתן לשבץ במייל" style="height:400px;width:400px;border:1px solid #339900;" /> </p> <p>מיוסי.</p> </div> </div> <div id="footer" style="background:#33FF00;border-top:1px solid #339900;"> <div style="padding:20px;text-align:center;margin:0 auto;"> <a href="//www.abc.co.il" style="font-size:0.8em;">לאתר השולח</a> </div> </div> </div> </body> </html> מספר נקודות חשובות: 1. כל תוכנו של ה-email צריך להימצא בין תגיות html, ולכלול head ו-body. 2. חובה לעשות התאמות לעברית: <html lang="he-IL"> <meta charset="utf-8">בין תגיות ה-<head> 3. את העיצוב מכניסים ישירות לתוך תגיות ה-html באמצעות style. 4. במדריך השתמשתי בעיצוב רספונסיבי כדי שיתאים לגדלים שונים של מסכים. 5. הנתיב לתמונה צריך לכלול את הנתיב המלא, שמתחיל ב-//www.mysite.co.il קוד ה-PHP כדי לשלוח את המייל צריך להשתמש בפונקציה mail של PHP. כך היא נראית: mail($to, $subject, $message, $headers); $to - כתובת הemail של הנמען או הנמענים (אם כמה נמענים אז מופרדים בפסיק) $subject - כותרת הemail, שהנמען רואה לפני שהוא פותח את הemail. $message - המשתנה שמכיל את ה-html. $headers - כולל את קידוד הטקסט (utf-8), וכתובת השולח. כל שורה מופרדת ב . נחבר את הכל ביחד לקוד שעובד: <?php //כתובת הנמען $to = 'some_email@gmail.com'; //נושא המייל $subject = "ברכות לשנה החדשה"; //headers $headers = array( "From: " . "abc@def.co.il"//כתובת השולח, "Reply-To: " . "abc@def.co.il"//להיכן להשיב, "Content-Type: text/html; charset=utf-8"//בשביל עברית, "MIME-Version: 1.0"//MIME, "X-Mailer: PHP/" . PHP_VERSION ); $headers = implode("\r\n", $headers); //תוכן המייל. להקפיד שלא יהיו רווחים מיותרים $message = '<html lang="he-IL">'; $message .= '<head><meta charset="utf-8"></head>'; $message .= '<body dir="rtl" style="width:97%;margin:10px auto;padding:0;color:#990033;font-size:2em;line-height:2;font-family:Arial,Helvetica,sans-serif;">'; $message .= '<div style="border:1px solid #339900;">'; $message .= '<div id="header" style="background:#33FF00;border-bottom:1px solid #339900;">'; $message .= '<div style="padding:20px;text-align:center;width:50%;margin:0 auto;">'; $message .= '<h1>ברכות לשנה החדשה</h1>'; $message .= '</div>'; $message .= '</div>'; $message .= '<div style="width:100%;background:#ffffff;">'; $message .= '<div style="width:100%;margin-right:20px;">'; $message .= '<p>שלום לכולם,</p>'; $message .= '<p>רציתי לאחל שנה טובה ומוצלחת</p>'; $message .= '<p style="text-align:center;">'; $message .= '<img src="//www.yoursite.co.il/new_year.jpg" alt="שנה טובה" style="width:auto;height:auto;border:1px solid #339900;" />'; $message .= '</p>'; $message .= '<p>מיוסי.</p>'; $message .= '</div>'; $message .= '</div>'; $message .= '<div id="footer" style="background:#33FF00;border-top:1px solid #339900;">'; $message .= '<div style="padding:20px;text-align:center;width:50%;margin:0 auto;">'; $message .= '<a href="//www.yoursite.co.il" style="font-size:0.8em;">האתר שלי'; $message .= '</div></div></div>'; $message .= '</body></html>'; //הפונקציה mail($to, $subject, $message, $headers); ?>
-
@רק-טוב
תודה רבה רבה!!
אך אם אפשר שתעשה את ההודעה יותר ברורה -
@צצ בסדר סידרתי
-
@רק-טוב
תודה רבה רבה...
זה יכול להיות מאד מאד שימושי לכולם... -
עדיף להשתמש ב-PHPMailer.
קודם כל יש להוריד את החבילה באמצעות composer:
composer require phpmailer/phpmailer
וזה קוד לדוגמא:
<?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'vendor/autoload.php'; // Include Composer's autoloader $mail = new PHPMailer(true); try { // SMTP Configuration $mail->isSMTP(); $mail->Host = 'smtp.example.com'; // Replace with your SMTP host $mail->SMTPAuth = true; $mail->Username = 'your_email@example.com'; // Your email $mail->Password = 'your_email_password'; // Your email password $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // Use `PHPMailer::ENCRYPTION_SMTPS` for SSL $mail->Port = 587; // Change to 465 if using SSL // Sender & Recipient $mail->setFrom('your_email@example.com', 'Your Name'); $mail->addAddress('recipient@example.com', 'Recipient Name'); // Attachments $mail->addAttachment('/path/to/file.pdf'); // Example: Attach a PDF $mail->addAttachment('/path/to/image.jpg', 'CustomFileName.jpg'); // Rename attachment // Email Content $mail->isHTML(true); $mail->Subject = 'Test Email with Attachment'; $mail->Body = '<h3>Hello,</h3><p>This is a test email with an attachment.</p>'; $mail->AltBody = 'Hello, This is a test email with an attachment.'; // Plain text fallback // Send Email $mail->send(); echo 'Email sent successfully!'; } catch (Exception $e) { echo "Email could not be sent. Error: {$mail->ErrorInfo}"; } ?>