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);
?>