Hướng dẫn dùng e mail trong PHP
Hầu hết các website bạn thường thấy có trang contact cho phép người dùng điền thông tin và gửi mail đi. Bài viết này mình sẽ hướng dẫn các bạn gửi mail trong PHP với hàm mail() . Show Tạo form gửi mail trong PHPTạo file contact.php và thiết kế form điền thông tìn đơn giản như sau : Form trên bao gồm một field email để người dùng nhập địa chỉ email của họ và field message để họ nhập tin nhắn cần gửi. Thực thi hàm gửi mail trong PHPTiếp đến, trong trang contact.php chúng ta sẽ thêm đoạn code sau để thực hiện việc gửi mail khi người dùng ấn nút submit: Giải thích về đoạn code trên :
Tổng kết: Mục đích của bài viết chia sẽ cho các bạn cách tạo form và gửi mail trong PHP bằng hàm mail() . Đây là cách gửi mail đơn giản, dành cho các bạn đang tìm hiểu về PHP hoặc làm các hệ thống nhỏ, đối với các hệ thống lớn thì sẽ có những cách gửi mail khác phù hợp. Chúc các bạn học tốt ! Có thể bạn quan tâmPHP cung cấp sẵn một hàm tên email được dùng để gửi email đi. Hàm này truy cập chương trình sendmail trong hệ điều hành linux. (Hãy xem sendmail - exim). Do vậy, để dùng được hàm mail cần đảm bảo Server của bạn có dịch vụ sendmail cài đặt chính xác. Nội dung chính Show
Gửi mail trong PHP với hàm mail()Hàm mail() dùng để gửi email, cú pháp gửi mail như sau: mail($to ,$subject ,$message, [$headers], [$parameters]); Trong đó:
Nếu mail gửi đi thành công, hàm trả về Ví dụ sau gửi đi một email từ địa chỉ đến địa chỉ đồng thời CC đến $to = ""; $subject = "Tiêu đề email"; $message = "Nội dung email"; $header = "From: \r\n"; $header .= "Cc: \r\n"; $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 HTML trong mailNếu trong Trở lại ví dụ trên, thiết lập thêm thông số để gửi đi nội dung HTML $to = ""; $subject = "Tiêu đề email"; $message = " Gửi đính kèm trong mailĐể gửi đính kèm thì phần 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ụ $to = ""; $subject = "Tiêu đề email"; $message = "Nội dung email"; $header = "From: \r\n"; $header .= "Cc: \r\n"; $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..."; }0 có thể tạo ra bằng hàm $to = ""; $subject = "Tiêu đề email"; $message = "Nội dung email"; $header = "From: \r\n"; $header .= "Cc: \r\n"; $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..."; }1), mỗi vùng bắt đầu bằng thêm ký hiệu $to = ""; $subject = "Tiêu đề email"; $message = "Nội dung email"; $header = "From: \r\n"; $header .= "Cc: \r\n"; $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..."; }2 vào trước $to = ""; $subject = "Tiêu đề email"; $message = "Nội dung email"; $header = "From: \r\n"; $header .= "Cc: \r\n"; $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..."; }0 và khi kết thúc tất cả các phân đoạn dùng $to = ""; $subject = "Tiêu đề email"; $message = "Nội dung email"; $header = "From: \r\n"; $header .= "Cc: \r\n"; $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..."; }4 để kết thúc. Cũng lưu ý thường mã hóa dữ liệu theo $to = ""; $subject = "Tiêu đề email"; $message = "Nội dung email"; $header = "From: \r\n"; $header .= "Cc: \r\n"; $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..."; }5 và nội dung dài được chia nhỏ thành nhiều dòng bằng hàm $to = ""; $subject = "Tiêu đề email"; $message = "Nội dung email"; $header = "From: \r\n"; $header .= "Cc: \r\n"; $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..."; }6. Thực hành diễn giải chi tiết theo ví dụ sau, gửi mail có đính kèm file $to = ""; $subject = "Tiêu đề email"; $message = "Nội dung email"; $header = "From: \r\n"; $header .= "Cc: \r\n"; $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..."; }7 $to = ""; $subject = "Gửi email có đính kèm file"; $message = "Đây là nội dung email."; //Mở file để đọc nội dung $file = fopen( "/home/text.txt", "r" ); if( $file == false ) { echo "Error in opening file"; exit(); } $size = filesize("/home/text.txt"); $content = fread( $file, $size); //Nội dung file //Mã hóa nội dung đính kèm - chia nhỏ nội dung thành nhiều dong $encoded_content = chunk_split( base64_encode($content)); //Tạo ra một chuỗi 32 dùng đề phân vùng mô tả $num = md5( time() ); //Phần header chính $header = "From:\r\n"; $header .= "MIME-Version: 1.0\r\n"; $header .= "Content-Type: multipart/mixed; "; $header .= "boundary=$num\r\n"; $header .= "--$num\r\n"; //Phần nội dùng Email $header .= "Content-Type: text/plain\r\n"; $header .= "Content-Transfer-Encoding:8bit\r\n\n"; $header .= "$message\r\n"; $header .= "--$num\r\n"; //Phần nội dung đính kèm $header .= "Content-Type: multipart/mixed; "; $header .= "name=\"test.txt\"\r\n"; $header .= "Content-Transfer-Encoding:base64\r\n"; $header .= "Content-Disposition:attachment; "; $header .= "filename=\"text.txt\"\r\n\n"; $header .= "$encoded_content\r\n"; $header .= "--$num--"; //Kết thúc các phân đoạn //Gửi mail $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..."; } ?> Trên đây là bạn sử dụng trực tiếp hàm $to = ""; $subject = "Tiêu đề email"; $message = "Nội dung email"; $header = "From: \r\n"; $header .= "Cc: \r\n"; $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..."; }8 của PHP để gửi email, bạn cần thiết lập PHP từ $to = ""; $subject = "Tiêu đề email"; $message = "Nội dung email"; $header = "From: \r\n"; $header .= "Cc: \r\n"; $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..."; }9 để đả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. Những chương trình này cũng hỗ trợ SMTP, để bạn có thể sử dụng dịch vụ email từ bên ngoài (như gmail) thay vì dùng sendmail mặc định của server. |
Bài Viết Liên Quan
Hansol tuyển dụng mới nhất 2023
Trước đây là Intel và Samsung, mới đây nhất là 11 nhà máy trong chuỗi cung ứng của Apple chuyển sang VN, góp phần khiến nhân lực ngành điện tử đã thiếu nay ...
Hướng dẫn dùng x modifiers trong PHP
Trong bài này, chúng ta sẽ tìm hiểu về cách sử dụng access modifier trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình ...
How do i change cursor to pointer in css?
ExampleCSS can generate a bunch of different mouse cursors: .alias {cursor: alias;}.all-scroll {cursor: all-scroll;}.auto {cursor: auto;}.cell {cursor: cell;}.col-resize {cursor: ...
Hướng dẫn dùng sparse array python
Một ví dụ rất hữu ích và thích hợp là trong sự trợ giúp!import scipy.sparse as sp help(sp) Điều này mang lại:Example 2 --------- Construct a matrix in COO format: >>> from ...
Hướng dẫn ... in javascript es6
ES6Học Web Chuẩn sẽ giới thiệu với các bạn một số thay đổi của ES6 gần đây. Sẽ giúp bạn hiểu hơn khi bắt đầu học các thư viện hay JS Frameworks thịnh ...
Hướng dẫn php header(refresh)
Thường thì mình hay dùng Javascript để refresh (làm mới) lại trang hay còn gọi là F5 lại trang, ở bài này mình sẽ hướng dẫn bạn refresh lại trang bằng PHP.Bài ...
How do i get the file path in html?
A file path describes the location of a file in a web sites folder structure.File Path Examples PathDescription The picture.jpg file is located in the same folder as the current page The ...
How to get digits of a number in python
Im very sorry for necro-threading but I wanted to provide a solution without converting the integer to a string. Also I wanted to work with more computer-like thinking so thats why the answer from ...
Hướng dẫn dùng errror trong PHP
Trong bài này, chúng ta sẽ tìm hiểu về cách xử lý lỗi (error) trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web ...
Can a single python statement be written over multiple lines?
Python statements are the code instructions that are executed by the Python interpreter. Python executes statements one by one as they appear in the code.Let’s look at some simple statement ...
Lương 2023 tăng
Giai đoạn 2023-2025, phấn đấu tốc độ tăng thu từ hoạt động xuất nhập khẩu bình quân khoảng 5%/nămThu NSNN: Phấn đấu tăng thu từ xuất nhập khẩu khoảng ...
Hướng dẫn pagination php w3schools
Learn how to create a pagination with CSS.How To Create a PaginationTry it Yourself »Step 1) Add HTML:Example « 1 2 3 4 5 6 » Step 2) Add CSS:Example /* Pagination links ...
How do i find my mongodb database?
Docs Home → MongoDB ManualEvery mongod instance has its own local database, which stores data used in the replication process, and other instance-specific data. The local database is invisible to ...
How object oriented programming is implemented in php?
What is OOPs?Object Oriented is an approach to software development that models application around real world objects such as employees, cars, bank accounts, etc. A class defines the properties and ...
Hướng dẫn python json loads apostrophe
I have a json object that I am loading and replacing single with double quotes as I do. The syntax for this is:response = json.loads(response.text.replace(, )) Within my data I have key/value ...
Hướng dẫn phpe9568f36-d428-11d2-a769-00aa001acf42
PHPE9568F34-D428-11d2-A769-00AA001ACF42 for ASP.NET / IIS7 This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the ...
Hướng dẫn text-align css
Trang chủTham khảoCSSThuộc tính text-alignĐịnh nghĩa và sử dụngThuộc tính text-align sắp xếp các nội dung theo chiều ngang.Cấu trúc tag { text-align: giá ...
Hướng dẫn python play sound async
I have a while loop for my cameras(with opencv) to take a photos when something moves. I would like to call a function to play a sound as well. But when I call and play it, it will stop looping for ...
Hướng dẫn localhost/wordpress/wp-admin login
If уou run a ᴡebѕite or blog ᴡith WordPreѕѕ then уou ѕhould knoᴡ hoᴡ to acceѕѕ the WordPreѕѕ admin or login page. So here I am going to ѕhoᴡ уou, 3 Waуѕ to acceѕѕ the ...
How to use javascript variable in php sql query
I am running a mysql select query in php like this