本地沒有發郵件的伺服器,藉助現成的SMTP伺服器發送郵件是個不錯的選擇,這裡使用到的工具是phpmailer ( Version 5.2.0),SMTP伺服器就選gmail和163。
1. 使用gmail發送的指令碼
include("class.phpmailer.php");include("class.smtp.php");//擷取一個外部檔案的內容$mail = new PHPMailer();$body = file_get_contents('contents.html');$body = eregi_replace("[\]",'',$body);//設定smtp參數$mail->IsSMTP();$mail->SMTPAuth = true;$mail->SMTPKeepAlive = true;$mail->SMTPSecure = "ssl";$mail->Host = "smtp.gmail.com";$mail->Port = 465;//填寫你的gmail帳號和密碼$mail->Username = "yourname@gmail.com";$mail->Password = "password";//設定發送方,最好不要偽造地址$mail->From = "yourname@gmail.com";$mail->FromName = "Webmaster";$mail->Subject = "This is the subject";$mail->AltBody = $body;$mail->WordWrap = 50; // set word wrap$mail->MsgHTML($body);//設定回複地址$mail->AddReplyTo("yourname@gmail.com","Webmaster");//添加附件,此處附件與指令碼位於相同目錄下//否則填寫完整路徑$mail->AddAttachment("attachment.jpg");$mail->AddAttachment("attachment.zip");//設定郵件接收方的郵箱和姓名$mail->AddAddress("toname@gmail.com","FirstName LastName");//使用HTML格式發送郵件$mail->IsHTML(true);//通過Send方法發送郵件//根據發送結果做相應處理if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo;} else { echo "Message has been sent";}
2.使用163發送郵件的指令碼
只需要更改SMTP配置和賬戶密碼即可,SMTP配置如下
//設定smtp參數//注意這裡不需要ssl協議$mail->IsSMTP();$mail->SMTPAuth = true;$mail->SMTPKeepAlive = true;$mail->Host = "smtp.163.com";$mail->Port = 25;
在本地wampserver環境下測試通過,需要開啟php_openssl 擴充。
以上所述就是本文的全部內容了,希望大家能夠喜歡。