Khóa đào tạo PHP phải được cấu hình đúng trong tệp php.ini với các chi tiết về cách hệ thống của bạn gửi email. Mở tệp php.ini có sẵn trong thư mục / etc / và tìm phần đầu [chức năng thư] .
Người dùng Windows cần đảm bảo rằng hai chỉ thị được cung cấp. Đầu tiên được gọi là SMTP xác định địa chỉ máy chủ email của bạn. Thứ hai được gọi là sendmail_from xác định địa chỉ email của riêng bạn.
Người dùng Linux chỉ cần cho Khóa đào tạo PHP biết vị trí của ứng dụng sendmail của họ . Đường dẫn và bất kỳ công tắc mong muốn nào phải được chỉ định cho lệnh sendmail_path.
Cấu hình cho Linux sẽ trông giống như thế này
Khóa đào tạo PHP sử dụng hàm mail () để gửi email. Hàm này yêu cầu ba đối số bắt buộc chỉ định địa chỉ email của người nhận, chủ đề của thư và thông báo thực tế ngoài ra còn có hai tham số tùy chọn khác.
Ngay khi chức năng thư được gọi là Khóa đào tạo PHP sẽ cố gắng gửi email thì nó sẽ trả về đúng nếu thành công hoặc sai nếu thất bại.
Nhiều người nhận có thể được chỉ định làm đối số đầu tiên cho hàm mail () trong danh sách được phân tách bằng dấu phẩy.
Khi bạn gửi tin nhắn văn bản bằng PHP thì tất cả nội dung sẽ được coi là văn bản đơn giản. Ngay cả khi bạn sẽ bao gồm các thẻ HTML trong một tin nhắn văn bản, nó sẽ được hiển thị dưới dạng văn bản đơn giản và các thẻ HTML sẽ không được định dạng theo cú pháp HTML. Nhưng Khóa đào tạo PHP cung cấp tùy chọn để gửi một tin nhắn HTML như tin nhắn HTML thực tế.
Trong khi gửi email, bạn có thể chỉ định phiên bản Mime, loại nội dung và ký tự được đặt để gửi email HTML.
Ví dụ sau đây sẽ gửi một thông điệp email HTML đến sao chép nó vào . Bạn có thể mã chương trình này theo cách nó sẽ nhận được tất cả nội dung từ người dùng và sau đó nó sẽ gửi email.
Một ranh giới được bắt đầu với hai dấu gạch nối theo sau là một số duy nhất không thể xuất hiện trong phần thông báo của email.
Người dùng Windows cần đảm bảo rằng hai chỉ thị được cung cấp. Đầu tiên được gọi là SMTP xác định địa chỉ máy chủ email của bạn. Thứ hai được gọi là sendmail_from xác định địa chỉ email của riêng bạn.
![]() |
| Học lập trình PHP chuyên nghiệp |
Cấu hình cho Windows sẽ trông giống như thế này
[mail function]
; For Win32 only.
SMTP = smtp.secureserver.net
; For win32 only
sendmail_from = webmaster@tutorialspoint.com
Người dùng Linux chỉ cần cho Khóa đào tạo PHP biết vị trí của ứng dụng sendmail của họ . Đường dẫn và bất kỳ công tắc mong muốn nào phải được chỉ định cho lệnh sendmail_path.
Cấu hình cho Linux sẽ trông giống như thế này
[mail function]
; For Win32 only.
SMTP =
; For win32 only
sendmail_from =
; For Unix only
sendmail_path = /usr/sbin/sendmail -t -i
Bây giờ bạn đã sẵn sàng để đi
Gửi email văn bản đơn giảnKhóa đào tạo PHP sử dụng hàm mail () để gửi email. Hàm này yêu cầu ba đối số bắt buộc chỉ định địa chỉ email của người nhận, chủ đề của thư và thông báo thực tế ngoài ra còn có hai tham số tùy chọn khác.
mail( to, subject, message, headers, parameters );Dưới đây là mô tả cho từng tham số.
| Không. | Mô tả về Thông Số |
|---|---|
| 1 | đến Cần thiết. Chỉ định người nhận / người nhận email |
| 2 | môn học Cần thiết. Chỉ định chủ đề của email. Tham số này không thể chứa bất kỳ ký tự dòng mới nào |
| 3 | thông điệp Cần thiết. Xác định tin nhắn sẽ được gửi. Mỗi dòng nên được phân tách bằng một LF (\ n). Các dòng không quá 70 ký tự |
| 4 | tiêu đề Không bắt buộc. Chỉ định các tiêu đề bổ sung, như From, Cc và Bcc. Các tiêu đề bổ sung phải được phân tách bằng CRLF (\ r \ n) |
| 5 | thông số Không bắt buộc. Chỉ định một tham số bổ sung cho chương trình gửi thư |
Nhiều người nhận có thể được chỉ định làm đối số đầu tiên cho hàm mail () trong danh sách được phân tách bằng dấu phẩy.
Gửi email HTML
Khi bạn gửi tin nhắn văn bản bằng PHP thì tất cả nội dung sẽ được coi là văn bản đơn giản. Ngay cả khi bạn sẽ bao gồm các thẻ HTML trong một tin nhắn văn bản, nó sẽ được hiển thị dưới dạng văn bản đơn giản và các thẻ HTML sẽ không được định dạng theo cú pháp HTML. Nhưng Khóa đào tạo PHP cung cấp tùy chọn để gửi một tin nhắn HTML như tin nhắn HTML thực tế.
Trong khi gửi email, bạn có thể chỉ định phiên bản Mime, loại nội dung và ký tự được đặt để gửi email HTML.
Ví dụ sau đây sẽ gửi một thông điệp email HTML đến sao chép nó vào . Bạn có thể mã chương trình này theo cách nó sẽ nhận được tất cả nội dung từ người dùng và sau đó nó sẽ gửi email.
<html> <head> <title>Sending HTML email using PHP</title> </head> <body> <?php $to = "xyz@somedomain.com"; $subject = "This is subject"; $message = "<b>This is HTML message.</b>"; $message .= "<h1>This is headline.</h1>"; $header = "From:abc@somedomain.com \r\n"; $header .= "Cc:afgh@somedomain.com \r\n"; $header .= "MIME-Version: 1.0\r\n"; $header .= "Content-type: text/html\r\n"; $retval = mail ($to,$subject,$message,$header); if( $retval == true ) { echo "Message sent successfully..."; }else { echo "Message could not be sent..."; } ?> </body> </html>
Gửi tệp đính kèm với email
Để gửi email có nội dung hỗn hợp, yêu cầu đặt tiêu đề Kiểu nội dung thành nhiều phần / hỗn hợp . Sau đó, văn bản và phần đính kèm có thể được chỉ định trong ranh giới .Một ranh giới được bắt đầu với hai dấu gạch nối theo sau là một số duy nhất không thể xuất hiện trong phần thông báo của email.
Hàm md5 () của Khóa đào tạo PHP được sử dụng để tạo số thập lục phân 32 chữ số để tạo số duy nhất. Một ranh giới cuối cùng biểu thị phần cuối cùng của email cũng phải kết thúc bằng hai dấu gạch nối.
<?php // request variables // important $from = $_REQUEST["from"]; $emaila = $_REQUEST["emaila"]; $filea = $_REQUEST["filea"]; if ($filea) { function mail_attachment ($from , $to, $subject, $message, $attachment){ $fileatt = $attachment; // Path to the file $fileatt_type = "application/octet-stream"; // File Type $start = strrpos($attachment, '/') == -1 ? strrpos($attachment, '//') : strrpos($attachment, '/')+1; $fileatt_name = substr($attachment, $start, strlen($attachment)); // Filename that will be used for the file as the attachment $email_from = $from; // Who the email is from $subject = "New Attachment Message"; $email_subject = $subject; // The Subject of the email $email_txt = $message; // Message that the email has in it $email_to = $to; // Who the email is to $headers = "From: ".$email_from; $file = fopen($fileatt,'rb'); $data = fread($file,filesize($fileatt)); fclose($file); $msg_txt="\n\n You have recieved a new attachment message from $from"; $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; $email_txt .= $msg_txt; $email_message .= "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset = \"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $email_txt . "\n\n"; $data = chunk_split(base64_encode($data)); $email_message .= "--{$mime_boundary}\n" . "Content-Type: {$fileatt_type};\n" . " name = \"{$fileatt_name}\"\n" . //"Content-Disposition: attachment;\n" . //" filename = \"{$fileatt_name}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n" . "--{$mime_boundary}--\n"; $ok = mail($email_to, $email_subject, $email_message, $headers); if($ok) { echo "File Sent Successfully."; unlink($attachment); // delete a file after attachment sent. }else { die("Sorry but the email could not be sent. Please go back and try again!"); } } move_uploaded_file($_FILES["filea"]["tmp_name"], 'temp/'.basename($_FILES['filea']['name'])); mail_attachment("$from", "youremailaddress@gmail.com", "subject", "message", ("temp/".$_FILES["filea"]["name"])); } ?> <html> <head> <script language = "javascript" type = "text/javascript"> function CheckData45() { with(document.filepost) { if(filea.value ! = "") { document.getElementById('one').innerText = "Attaching File ... Please Wait"; } } } </script> </head> <body> <table width = "100%" height = "100%" border = "0" cellpadding = "0" cellspacing = "0"> <tr> <td align = "center"> <form name = "filepost" method = "post" action = "file.php" enctype = "multipart/form-data" id = "file"> <table width = "300" border = "0" cellspacing = "0" cellpadding = "0"> <tr valign = "bottom"> <td height = "20">Your Name:</td> </tr> <tr> <td><input name = "from" type = "text" id = "from" size = "30"></td> </tr> <tr valign = "bottom"> <td height = "20">Your Email Address:</td> </tr> <tr> <td class = "frmtxt2"><input name = "emaila" type = "text" id = "emaila" size = "30"></td> </tr> <tr> <td height = "20" valign = "bottom">Attach File:</td> </tr> <tr valign = "bottom"> <td valign = "bottom"><input name = "filea" type = "file" id = "filea" size = "16"></td> </tr> <tr> <td height = "40" valign = "middle"><input name = "Reset2" type = "reset" id = "Reset2" value = "Reset"> <input name = "Submit2" type = "submit" value = "Submit" onClick = "return CheckData45()"></td> </tr> </table> </form> <center> <table width = "400"> <tr> <td id = "one"> </td> </tr> </table> </center> </td> </tr> </table> </body> </html>

Không có nhận xét nào:
Đăng nhận xét