天天看點

php 線上發郵件,PHPMailer+php完美實作線上發送郵件

php本身提供了一個郵件發送函數mail,可以在程式中直接發送電子郵件,不過該函數要求伺服器支援sendmail

或者必須設定一台不需要中繼的郵件發送伺服器,但現在要找到一台不需要身份驗證的郵件發送中繼幾乎不可能.

是以使用mail函數往往無法成功發送email.

自己如果熟悉SMTP協定,結合socket功能就可以編寫高效穩定的郵件發送程式,但對一般使用者來說太困難.好在網際網路上已經有很多别人編寫好的郵件發送子產品,我們隻需要下載下傳後簡單調用即可,十分友善.

在此我們給使用者推薦一個php下功能十分強大,易用且免費的SMTP類子產品-PHPMailer,(下載下傳位址 http://www.fgkj.cc/FGKjPHPMailer.zip )

PHPMailer是一個用于發送電子郵件的PHP函數包。它提供的功能包括:

*.在發送郵時指定多個收件人,抄送位址,暗送位址和回複位址

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

*.支援SMTP驗證

*.支援備援SMTP伺服器

*.支援帶附件的郵件和Html格式的郵件

*.自定義郵件頭

*.支援在郵件中嵌入圖檔

*.調試靈活

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

*.可運作在任何平台之上

下載下傳該元件後,按如下示例編寫代碼即可實作php線上發送郵件.

一:前台表單

phpmailer Unit Test

請你輸入收信的郵箱位址:

郵箱位址:

二:背景PHP程式

require("class.phpmailer.php"); //下載下傳的檔案必須放在該檔案所在目錄

$mail = new PHPMailer(); //建立郵件發送類

$address = $_POST['address'];

$mail->IsSMTP(); // 使用SMTP方式發送

$mail->Host = "mail.xxxxx.com"; // 您的企業郵局域名

$mail->SMTPAuth = true; // 啟用SMTP驗證功能

$mail->Username = "[email protected]"; // 郵局使用者名(請填寫完整的email位址)

$mail->Password = "******"; // 郵局密碼

$mail->From = "[email protected]"; //郵件發送者email位址

$mail->FromName = "您的名稱";

$mail->AddAddress("$address", "");//收件人位址,可以替換成任何想要接收郵件的email信箱,格式是AddAddress("收件人email","收件人姓名")

//$mail->AddReplyTo("", "");

//$mail->AddAttachment("/var/tmp/file.tar.gz"); // 添加附件

//$mail->IsHTML(true); // set email format to HTML //是否使用HTML格式

$mail->Subject = "PHPMailer測試郵件"; //郵件标題

$mail->Body = "Hello,這是測試郵件"; //郵件内容

$mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //附加資訊,可以省略

if(!$mail->Send())

{

echo "郵件發送失敗.

";

echo "錯誤原因: " . $mail->ErrorInfo;

exit;

}

echo "郵件發送成功";

?>