• About
  • Advertise
  • Privacy & Policy
  • Contact
NQ NEWS
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
NQ NEWS
No Result
View All Result
Home Kiến thức tổng hợp Lập trình

Gửi Email sử dụng PHP

@admiz by @admiz
26/12/2021
in Lập trình
0
Lap Trinh Trong Php 640 3

PHP phải được định cấu hình một cách chính xác trong file php.ini với các chi tiết về cách hệ thống của bạn gửi email. Mở php.ini có sẵn trong thư mục /etc/ và tìm phần có bắt đầu với [mail function].

Người dùng Windows nên chắc chắn rằng có 2 chỉ thị được cung cấp. Cái đầu tiên được gọi là SMTP, nó định nghĩa địa chỉ email Server của bạn. Thứ 2 được gọi là sendmail_from, nó định nghĩa địa chỉ email của riêng bạn.

Cấu hình cho Windows trông giống như sau:

[mail function]
; For Win32 only.
SMTP = smtp.secureserver.net

; For win32 only
sendmail_from = [email protected]

Người dùng Linux cần cho PHP biết vị trí của ứng dụng sendmail. Đường dẫn path phải được xác định cho chỉ thị sendmail_path.

Cấu hình cho Linux sẽ kiểu như sau:

[mail function]
; For Win32 only.
SMTP =

; For win32 only
sendmail_from =

; For Unix only
sendmail_path = /usr/sbin/sendmail -t -i

Bây giờ chúng ta cùng thực hiện việc gửi Email bằng cách sử dụng PHP.

Gửi email văn bản đơn giản trong PHP

PHP sử dụng hàm mail() để gửi một email. Hàm này yêu cầu 3 tham số bắt buộc để xác định địa chỉ email người nhận, tiêu đề email và nội dung email, ngoài ra có thêm 2 tham số tùy chọn nữa.

mail( to, subject, message, headers, parameters );

Bảng dưới miêu tả các tham số này:

Tham sốMiêu tả
toBắt buộc. Chỉ ra địa chỉ email của người nhận
subjectBắt buộc. Chỉ ra tiêu đề của email. Tham số này không thể chứa kí tự newline (dòng mới)
messageBắt buộc. Chỉ ra nội dung của email. Các dòng phân cách nhau bởi một LF (n). Mỗi dòng không vượt quá 70 kí tự
headersTùy ý. Xác định đầu đề bổ sung, như From, Cc và Bcc. Các đầu đề bổ sung nên được tách biệt với một CRLF (rn)
parametersTùy ý. Xác định một tham số bổ sung cho chương trình gửi mail

Ngay khi hàm mail được gọi, PHP sẽ gửi email này, sau đó nó sẽ trả về true nếu thành công và false nếu thất bại.

Bạn có thể chỉ định nhiều người nhận bằng cách gán một list địa chỉ email của người nhận, phân tách nhau bằng dấu phẩy (,) cho tham số đầu tiên của hàm mail().

Gửi email HTML trong PHP

Khi bạn gửi một thư văn bản sử dụng PHP, tất cả nội dung sẽ được xử lý như văn bản đơn giản. Thậm chí nếu bạn thêm các thẻ HTML trong một email văn bản, nó sẽ hiển thị như văn bản thông thường và các thẻ HTML sẽ không được định dạng theo cú pháp HTML. Tuy nhiên, PHP cung cấp tùy chọn gửi email HTML như một email HTML thực sự.

Khi gửi một thông điệp email, bạn có thể xác định một phiên bản Mime, kiểu nội dung và tập kí tự để gửi một email HTML.

Ví dụ

Ví dụ sau sẽ gửi một email HTML tới [email protected] sao chép nó sang [email protected] Bạn có thể code chương trình này dưới dạng: Người dùng sẽ nhập vào tất cả nội dung và sau đó nó sẽ gửi email đi.

<html>
   
   <head>
      <title>Gửi email sử dụng PHP</title>
   </head>
   
   <body>
      
      <?php
         $to = "[email protected]";
         $subject = "Đây là tiêu đề email";
         
         $message = "<b>Đây là nội dung email.</b>";
         $message .= "<h1>Chúc ngày mới tốt lành!</h1>";
         
         $header = "From:[email protected] rn";
         $header .= "Cc:[email protected] rn";
         $header .= "MIME-Version: 1.0rn";
         $header .= "Content-type: text/htmlrn";
         
         $retval = mail ($to,$subject,$message,$header);
         
         if( $retval == true ) {
            echo "Email đã gửi thành công...";
          else {
            echo "Email không gửi được...";
          
      ?>
      
   </body>
</html>

Gửi đính kèm cùng Email trong PHP

Để gửi một email với nội dung hỗn hợp thì cần thiết lập header Content-type thành multipart/mixed. Sau đó văn bản và phần đính kèm có thể được xác định bên trong các ranh giới (boundary).

Một boundary được bắt đầu với 2 dấu gạch ngang theo sau bởi một số duy nhất mà không thể xuất hiện trong nội dung của email. Hàm md5() của PHP được sử dụng để tạo một số hexa 32 chữ số và là số duy nhất. Boundary cuối cùng biểu thị phần cuối cùng của email cũng phải kết thúc với hai dấu gạch nối.

<?php
   // Đây là các biến quan trọng phải có
   $from = $_REQUEST["from"];
   $emaila = $_REQUEST["emaila"];
   $filea = $_REQUEST["filea"];
   
   if ($filea) {
      function mail_attachment ($from , $to, $subject, $message, $attachment){
         $fileatt = $attachment; // Đường dẫn tới file
         $fileatt_type = "application/octet-stream"; // Loại file 
         
         $start = strrpos($attachment, '/') == -1 ? 
            strrpos($attachment, '//') : strrpos($attachment, '/')+1;
				
         $fileatt_name = substr($attachment, $start, 
            strlen($attachment)); // Tên file sẽ được sử dụng cho file như phần đính kèm
         
         $email_from = $from; // Địa chỉ email của gười gửi
         $subject = "Email đính kèm mới";
         
         $email_subject =  $subject; // Tiêu đề email 
         $email_txt = $message; // Nội dung email 
         $email_to = $to; // Địa chỉ email người nhận
         
         $headers = "Từ: ".$email_from;
         $file = fopen($fileatt,'rb'); 
         $data = fread($file,filesize($fileatt)); 
         fclose($file); 
         
         $msg_txt="nn Bạn đã nhận được email đính kèm mới từ $from";
         $semi_rand = md5(time()); 
         $mime_boundary = "==Multipart_Boundary_x{$semi_rand x"; 
         $headers .= "nMIME-Version: 1.0n" . "Content-Type: multipart/mixed;n" . "
            boundary="{$mime_boundary "";
         
         $email_txt .= $msg_txt;
			
         $email_message .= "Đây là email gồm nhiều phần trong định dạng MIME.nn" . 
            "--{$mime_boundary n" . "Content-Type:text/html; 
            charset = "iso-8859-1"n" . "Content-Transfer-Encoding: 7bitnn" . 
            $email_txt . "nn";
				
         $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: 
            base64nn" . $data . "nn" . "--{$mime_boundary --n";
				
         $ok = mail($email_to, $email_subject, $email_message, $headers);
         
         if($ok) {
            echo "File đã gửi thành công.";
            unlink($attachment); // Xóa file sau khi Attachment đã được gửi.
          else {
            die("Rất tiếc email không thể gửi, vui lòng thử lại!");
          
       
      move_uploaded_file($_FILES["filea"]["tmp_name"],
         'temp/'.basename($_FILES['filea']['name']));
			
      mail_attachment("$from", "[email protected].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 = 
                     "Đang đính kèm file... Bạn vui lòng chờ một lát";
                
             
          
      </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">Tên bạn:</td>
                     </tr>
                     
                     <tr>
                        <td><input name = "from" type = "text" 
                           id = "from" size = "30"></td>
                     </tr>
                     
                     <tr valign = "bottom">
                        <td height = "20">Địa chỉ email của bạn:</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>

Theo tutorialspoint

Bài trước: Session trong PHP

Bài tiếp: Upload File trong PHP

  • Cách gửi hình ảnh, ghi âm qua email bằng VoNo
  • Cách gửi email nặc danh bí mật trên Eskiimo
Post Views: 190
Tags: cách gửi Email sử dụng PHPđính kèm email phpGửi đính kèm cùng Email trong PHPgửi email bằng phpgửi email phpGửi email văn bản đơn giản trong PHPGửi HTML email trong PHPhọc phphướng dẫn php
Previous Post

Thuộc tính class trong HTML

Next Post

Điều chỉnh độ phân giải màn hình trên Windows 10 / 8 / 7

Related Posts

Dien Tich Tam Giac 640 1
Lập trình

Công thức tính diện tích tam giác: vuông, thường, cân, đều

26/12/2021
Huong Dan Cai Dat Node Js 640 1
Lập trình

Hướng dẫn cài đặt Node.js

26/12/2021
Cau Truc Du Lieu Hang Doi Queue 640 1
Lập trình

Cấu trúc dữ liệu hàng đợi (Queue)

26/12/2021
Hoc Css 640 8
Lập trình

Thanh điều hướng – Navigation Bar trong CSS

26/12/2021
Ms Sql Server Management Studio 640 3
Lập trình

Quản lý MS SQL Server bằng Management Studio

26/12/2021
Java Development Kit 1
Lập trình

Tải Java Development Kit 8-update-281

26/12/2021
Next Post
Do Phan Giai Man Hinh 1 1

Điều chỉnh độ phân giải màn hình trên Windows 10 / 8 / 7

Bài mới nhất

4 Lưu ý Khi Sử Dụng Email Marketing Hiệu Quả Tránh Spam Cho Doanh Nghiệp 612d0db271290.jpeg

4 Lưu ý khi sử dụng email marketing hiệu quả tránh spam cho doanh nghiệp

07/05/2025
Tổng Hợp 10 Mẫu Email Marketing Giới Thiệu Sản Phẩm Nổi Bật Nhất Hiện Nay 612d0da97658c.png

Tổng hợp 10 mẫu email marketing giới thiệu sản phẩm nổi bật nhất hiện nay

07/05/2025
Dịch Vụ Thiết Kế Website Tại Hải Dương Chuyên Nghiệp, ấn Tượng Và Uy Tín 612d25752b14f.png

Dịch vụ thiết kế website tại Hải Dương chuyên nghiệp, ấn tượng và uy tín

06/05/2025
Top Công Ty Thiết Kế Website Tại Biên Hòa Chuyên Nghiệp, Chuẩn Seo 612d259494e93.jpeg

Top công ty thiết kế website tại Biên Hòa chuyên nghiệp, chuẩn SEO

06/05/2025
Top Công Ty Thiết Kế Website Tại Vinh – Nghệ An Uy Tín 612d259a9cae3.jpeg

Top công ty thiết kế website tại Vinh – Nghệ An uy tín

05/05/2025

Danh mục

  • Android
  • Bảo mật máy tính
  • Bảo mật, Antivirus
  • Chuyện công nghệ
  • Deep Learning
  • Development
  • Dịch vụ công trực tuyến
  • Dịch vụ nhà mạng
  • Giải pháp bảo mật
  • Hệ thống
  • Hệ thống
  • iPhone
  • Kiến thức bảo mật
  • Kiến thức cơ bản phổ thông
  • Kiến thức Marketing căn bản
  • Kiến thức tổng hợp
  • Lập trình
  • Linux
  • Linux OS
  • macOS
  • Mail Server
  • Mạng LAN – WAN
  • Máy ảo
  • Máy chủ
  • ms excel
  • ms-powerpoint
  • Nền tảng điện toán đám mây
  • Phần cứng
  • Phần Mềm
  • Quản trị hệ thống
  • Raspberry Pi
  • Sửa lỗi máy tính
  • Tăng tốc máy tính
  • Thủ thuật
  • Thủ thuật SEO
  • Thủ thuật Wifi
  • Tiện ích hệ thống
  • Tin học văn phòng
  • Tin tức
  • Uncategorized
  • Ứng dụng
  • Website
  • Windows Server 2012

Thẻ

#app #chatbot #chatbot tự động #CRM #Kiến thức cơ bản #Techblog #Thiết kế website Android apple CPU Email Marketing Google Google Drive hacker HTML hàm python hàm python có sẵn hình nền hình nền máy tính học css học python học SQL ios iphone iphone 12 iPhone X macos Microsoft mssql MS SQL Server ngôn ngữ lập trình python Raspberry Pi Samsung smartphone SQL SQL Server tham số trong C thủ thuật windows 10 tài liệu python windows windows 10 YouTube điện thoại thông minh ứng dụng
  • About
  • Advertise
  • Privacy & Policy
  • Contact

© 2022 Pha Le Solution

No Result
View All Result
  • Home

© 2022 Pha Le Solution