Hướng dẫn dùng 50 php trong PHP

Đóng lại Đăng ký học tại NIIT - ICT Hà Nội

6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!

Chọn khóa học

  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • Khóa học PHP Full stack [2022] cho người mới bắt đầu
  • Khóa học Java Full stack (IJFD)
  • Khóa học lập trình Java Web
  • Khóa học Lập trình Android tại Hà Nội
  • CHƯƠNG TRÌNH ĐÀO TẠO THEO CÔNG NGHỆ
    • Khóa học PYTHON hướng đối tượng
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình PHP với Laravel Framework
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
    • Khóa học JMeter: Performance Testing
    • Lập trình Android Nâng cao
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • CHƯƠNG TRÌNH ĐÀO TẠO CHO DOANH NGHIỆP
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học BIG DATA với Hadoop và Spark
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp

Bạn chưa chọn khóa học cần đăng ký

Tên không được để trống

Số điện thoại không được để trống

Email không được để trống

Đăng ký học thành công!

Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!

  • Sử dụng hàm mail()
  • Gửi HTML trong mail
  • Gửi đính kèm

Gửi mail trong PHP với hàm mail()

PHP có hàm mail() dùng để gửi email. Để gửi mail gọi hàm với cú pháp như sau:

mail($to ,$subject ,$message, [$headers], [$parameters]);

Trong đó:

  • $to địa chỉ nhận mail, có thể một địa chỉ () hoặc nhiều địa chỉ cách nhau bởi , (,)
  • $subject tiêu đề của mail
  • $message nội dung mail
  • $headers tùy chọn này có hoặc không, tham số này mở rộng cho phần header của mail ví dụ From, Cc, Bcc, tham số này cách nhau bởi cặp ký tự \r\n
  • $parameters tùy chọn, nếu có nó thiết lập tham số bổ xung cho trình gửi mail

Nếu mail gửi đi thành công, hàm trả về TRUE

Ví dụ sau gửi đi một email từ địa chỉ đến địa chỉ đồng thời CC đến

Gửi html trong mail

Nếu trong $message gửi đi bạn có trình bày HTML thì để trình đọc email hiểu đó là HTML bạn cần một số thiết lập. Đó là mô tả trong $head các thông số như phiên bản của Mime, kiểu nội dung, mã hóa ký tự (UTF-8 ...)

Trở lại ví dụ trên, thiết lập thêm thông số để gửi đi nội dung HTML

Đây là Email có chứa HTML
                

Đoạn văn trong Email

"; //MỚI $header = "From: \r\n"; $header .= "Cc: \r\n"; $header .= "MIME-Version: 1.0\r\n"; //MỚI $header .= "Content-type: text/html\r\n"; //MỚI $success = mail ($to,$subject,$message,$header); if( $success == true ) { echo "Đã gửi mail thành công..."; } else { echo "Không gửi đi được..."; } ?>

Gửi đính kèm trong mail

Để gửi đính kèm thì phần $header cần thiết lập Content-typemultipart/mixed

Lúc này phần header của email cần mô tả có các vùng, mỗi vùng tương ứng với một nội dung (như vùng cho nội dung email, vùng cho đính kèm).

Định nghĩa vùng trong phần header: Đầu tiên cần có một chuỗi ký tự dài 32 (ví dụ $num có thể tạo ra bằng hàm md5(time());), mỗi vùng bắt đầu bằng thêm ký hiệu -- vào trước $num và khi kết thúc tất cả các phân đoạn dùng --$num-- để kết thúc. Cũng lưu ý thường mã hóa dữ liệu theo base64_encode() và nội dung dài được chia nhỏ thành nhiều dòng bằng hàm chunk_split.

Thực hành diễn giải chi tiết theo ví dụ sau, gửi mail có đính kèm file /home/text.txt:

Trên đây là bạn sử dụng trực tiếp hàm mail() của PHP để gửi email, bạn cần thiết lập PHP từ php.ini để đảm bảo hàm mail() có hoạt động. Ngoài ra nhiều thư viện, framework đã trừu tượng hóa cách gửi mail(), giúp cho việc gửi email được dễ dàng hơn bạn có thể dùng như: PHPMailer - Zend Mail