Trong PHP, chúng ta có thể viết các ứng dụng email ngon lành cỡ outlook một cách khá đơn giản.
Bài viết này giới thiệu một số kỹ thuật dùng để gửi và nhận email bằng PHP.
Phần I. Gửi email bằng PHP
Trong PHP có hai cách gửi mail: Gửi email trực tiếp bằng hàm mail (chạy trực tiếp trên máy chủ) và gửi email thông qua một mail server khác (cách này phức tạp hơn so với cách trên vì ta phải kết nối tới máy kia và biết cách họat động của chùm giao thức SMTP).
1. Gửi email thông qua hàm mail()
Để gửi email trực tiếp từ máy chủ, ta có thể sử dụng hàm mail () với cú pháp như sau:
PHP Code:
mail (dia_chi_nhan,tieu_de,noi_dung,cac_tham_so_mo_rong _tuy_chon).
PHP Code:
<html>
<body>
<?phpif (isset($_REQUEST['email']))//if "email" is filled out, send email
{
//send email
$email = $_REQUEST['email'] ;
$to = $_REQUEST['to'] ;
$subject = $_REQUEST['subject'] ;
$message = $_REQUEST['message'] ;
mail( $to, "Subject: $subject",$message" );
echo "Thank you for using our mail form";
}
else
//if "email" is not filled out, display the form
{
echo "<form method='post' action='phpmail.php'>
Người gửi: <input name='email' type='text' /><br />
Gửi tới: <input name='to' type='text' /><br />
Tiêu đề: <input name='subject' type='text' /><br />
Nội dung:<br />
<textarea name='message' rows='15' cols='40'>
</textarea><br />
<input type='submit' />
</form>";
}
?>
</body>
</html>
Kỹ thuật này sẽ cho phép bạn đưa thêm một số thông tin vào phần Header của thông điệp email (Nếu bạn kiểm tra email sẽ có phần Header, trong đó ghi rất nhiều thông tin , chẳng hạn như địa chỉ IP xuất phát, qua những máy email nào, thời điểm...).
Ở đây chúng ta sẽ sử dụng phần tham số mở rộng.
VD:
PHP Code:
$ThongTinMoRong="From: webmaster@$SERVER_NAME\r\n"
."Reply-To: webmaster@$SERVER_NAME\r\n"
."X-Mailer: PHP/" . phpversion();mail($EmailGui, $EmailNhan, $NoiDung,$ThongTinMoRong);
Chú ý
rằng ở chế độ mặc định, nội dung thông điệp được truyền tải đi dưới
dạng văn bản thuần túy (plain text), và không thể hiện được các cấu
trúc HTML thông thường. Để có thể đưa định dạng HTML vào mail, qua đó
cho phép hiển thị hình ảnh, định dạng font chữ..., ta phải đưa thêm
dòng sau đây vào phần header:
PHP Code:
MIME-Version: 1.0
Content-type: text/html; charset=iso-8859-1
PHP Code:
<?/* recipients */$to = "Mary <mary@example.com>" . ", " ; //note the comma$to .= "Kelly <kelly@example.com>";
/* subject */$subject = "Birthday Reminders for August";
/* message */$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
<th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
<td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';
Blog tổng hợp những kinh nghiệm được học, áp dụng và chia sẻ