2007年10月7日

實作PHPMailer郵件函式庫

  PHPMailer是一個提供電子郵件相關功能的PHP函式庫,功能相當完整,可以讓你很輕鬆的發送郵件。它提供的功能包括:

  • 在發送郵時指定多個收件人,寄送副本,寄送密件副本和回復Email

  • 支援多種郵件編碼包括:8bit,base64,binary和quoted-printable

  • 支持SMTP驗證

  • 支援冗餘SMTP伺服器

  • 支援帶附件的郵件和Html格式的郵件

  • 自定義郵件頭

  • 支援在郵件中嵌入圖片

  • 調試靈活

  • 經測試相容的SMTP伺服器包括:Sendmail,qmail,Postfix,Imail,Exchange等

  • 可運行在任何平臺之上



官方網站
http://phpmailer.sourceforge.net/

下載位址
http://sourceforge.net/project/showfiles.php?group_id=26031

下載下來後,只要引入就可以使用。

以下是一簡單範例及說明:

<?php

//引入文件
require_once("phpmailer/class.phpmailer.php");

//宣告一個PHPMailer物件
$mail = new PHPMailer();

//設定使用SMTP發送
$mail->IsSMTP();

//指定SMTP的服務器位址
$mail->Host = "so-net.net.tw";
//設定SMTP服務的POST
$mail->Port = 25;

//設定為安全驗證方式
$mail->SMTPAuth = true;

//SMTP的帳號
$mail->Username = "xuhao";
//SMTP的密碼
$mail->assword = "********";

//寄件人Email
$mail->From = "xuhao@so-net.net.tw";
//寄件人名稱
$mail->FromName = "大鼻子";

//收件人Email
$mail->AddAddress("bignostriltao@yahoo.com.tw");
//設定收件人的另一種格式("Email","收件人名稱")
$mail->AddAddress("justin@recyclesources.com","阿豪");
//設定密件副本
$mail->AddBCC("bignostriltao@gmail.com");

//回信Email及名稱
$mail->AddReplyTo("xuhao@so-net.net.tw", "大鼻子");

//設定信件字元編碼
$mail->CharSet="utf-8";
//設定信件編碼,大部分郵件工具都支援此編碼方式
$mail->Encoding = "base64";
//設置郵件格式為HTML
$mail->IsHTML(true);
//每50自斷行
$mail->WordWrap = 50;

//傳送附檔
$mail->AddAttachment("upload/temp/filename.zip");
//傳送附檔的另一種格式,可替附檔重新命名
$mail->AddAttachment("upload/temp/filename.zip", "newname.zip");

//郵件標題
$mail->Subject="測試郵件";
//郵件內容
$mail->Body ="
<html>
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
</head>
<body>
這是一封HTML格式的測試信。
</body>
</html>
";

//附加內容
$mail->AltBody = '這是附加的信件內容';

//寄送郵件
if(!$mail->Send())
{
echo "郵件無法順利寄出!";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
echo "郵件已經順利寄出!";

?>