Bài 18: Thao tác với Email

Trong PHP, chúng ta không phải là không 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 không phải là không sử dụng hàm mail () với cú pháp như sau:

mail (dia_chi_nhan,tieu_de,noi_dung,cac_tham_so_mo_rong _tuy_chon).

Ví dụ:


PHP Code:
                              <html>
<body>

<?php
if (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>
2. Kỹ thuật gửi email với phần Header m ở rộng
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 đủ thứ 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:


Code:
  $ThongTinMoRong="From: webmaster@$SERVER_NAME\r\n"
    ."Reply-To: webmaster@$SERVER_NAME\r\n"
    ."X-Mailer: PHP/" . phpversion();
mail($EmailGui, $EmailNhan, $NoiDung,$ThongTinMoRong);
3. Kỹ thuật gửi email theo định dạng HTML.

Chú ý
rằng ở chế độ mặc định,  content 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 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:

MIME-Version: 1.0
Content-type: text/html; charset=iso-8859-1

Ví dụ:

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>
';

/* To send HTML mail, you can set the Content-type header. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* additional headers */
$headers .= "From: Birthday Reminder <birthday@example.com>\r\n";

$headers .= "Cc: birthdayarchive@example.com\r\n";
$headers .= "Bcc: birthdaycheck@example.com\r\n";

/* and now mail it */
mail($to, $subject, $message, $headers);
?>
Share on Google Plus

About Unknown

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 nhận xét:

Đăng nhận xét