Hàm mail() trong PHP
Định nghĩa và cách sử dụng
Hàm mail() cho phép bạn gửi email trực tiếp từ script.
Nếu việc gửi email được chấp nhận thành công, thì trả về true, ngược lại trả về false.
Ngữ pháp
mail(to,subject,message,headers,parameters)
Tham số | Mô tả |
---|---|
to | Bắt buộc. Quy định người nhận của email. |
subject | Bắt buộc. Quy định chủ đề của email. Tham số này không thể chứa bất kỳ ký tự xuống dòng nào. |
message | Bắt buộc. Quy định thông điệp cần gửi. |
headers | Bắt buộc. Quy định các tiêu đề bổ sung, chẳng hạn như From, Cc và Bcc. |
parameters | Bắt buộc. Quy định các tham số bổ sung cho chương trình sendmail. |
Mô tả
Trong message Trong thông điệp được quy định bởi các tham số, các dòng phải được phân tách bằng một LF (\n). Mỗi dòng không thể vượt quá 70 ký tự.
(Trên Windows)Khi PHP kết nối trực tiếp đến máy chủ SMTP, nếu tìm thấy dấu chấm đầu dòng, nó sẽ bị xóa bỏ. Để tránh vấn đề này, hãy thay thế dấu chấm đơn thành dấu chấm kép.
<?php $text = str_replace("\n.", "\n..", $text); ?>
Hướng dẫn và ghi chú
Ghi chú:Bạn cần nhớ rằng việc email được chấp nhận không có nghĩa là email đã đến được địa điểm dự kiến.
Mô hình
Ví dụ 1
Gửi một email đơn giản:
<?php $txt = "Dòng đầu tiên của văn bản\nDòng thứ hai của văn bản"; // Nếu một dòng có hơn 70 ký tự, hãy sử dụng wordwrap(). $txt = wordwrap($txt,70); // Gửi email mail("somebody@example.com","My subject",$txt); ?>
Ví dụ 2
Gửi email với tiêu đề bổ sung:
<?php $to = "somebody@example.com"; $subject = "My subject"; $txt = "Hello world!"; $headers = "From: webmaster@example.com" . "\r\n" . "CC: somebodyelse@example.com"; mail($to,$subject,$txt,$headers); ?>
Ví dụ 3
Gửi một email HTML:
<?php $to = "somebody@example.com, somebodyelse@example.com"; $subject = "Email HTML"; $message = " <html> <head> <title>Email HTML</title> </head> <body> <p>Email này chứa thẻ HTML!</p> <table> <tr> <th>Tên</th> <th>Họ</th> </tr> <tr> <td>Bill</td> <td>Gates</td> </tr> </table> </body> </html> "; // Khi gửi email HTML, hãy luôn thiết lập content-type $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; // Thêm nhiều header $headers .= 'From: <webmaster@example.com>' . "\r\n"; $headers .= 'Cc: myboss@example.com' . "\r\n"; mail($to,$subject,$message,$headers); ?>