1、使用PHPMailer發送郵件的緣由php
PHP有內置的mail()方法,可是因爲一些主機空間不支持該方法,因此常常會遇到沒法發送郵件的狀況。sql
因此,能夠下載PHPMailer類,實現郵件發送。服務器
2、發送郵件的具體步驟網絡
一、先保證發件人的郵箱開啓了SMTP服務。post
在這裏設置,截圖以下:測試
設置好了就接着往下看,ui
二、下載的PHPMailer中,拷貝class.phpmailer.php和class.smtp.php到項目目錄下編碼
sendmail.phpspa
<?php /** * 2014-08-25 * 描述:PHP郵件發送 * 使用PHPMailer類 * 發送附件,多人發送 * 發送附件 * 發送附件的時候,鑑於本地網絡和服務器的速度,如不能正常上傳,修改php配置文件中的memory_limit限制 * 其餘可能的限制post_max_size upload_max_filesize * 也可能要將max_execution_time修改 * 請使用前確認發送郵件的郵箱賬號開啓了SMTP */ set_time_limit(0); //若是上傳附件卡,將腳本執行限制時間修改成0 require './class.phpmailer.php'; require './class.smtp.php'; date_default_timezone_set("Asia/Shanghai");//設定時區東八區 $mail=new PHPMailer(); //創建郵件發送類 $mail->IsSMTP(); //使用SMTP形式發送 $mail->CharSet='utf-8'; //編碼 $mail->SMTPDebug = 1; // 啓用SMTP調試功能 // 1 = errors and messages // 2 = messages only $mail->SMTPAuth = true; // 啓用SMTP驗證功能 $mail->Host='smtp.qq.com'; //qq smtp 服務器,發送郵箱賬號公司的SMTP服務器 $mail->Port=25; // SMTP服務器的端口號 $mail->Username='1107989194@qq.com'; //這裏填寫發件郵箱帳號 $mail->Password='********'; //這裏填寫發件郵箱的密碼 $mail->AddAddress('357966443@qq.com','bO萊特2'); //$mail->AddAddress('1107989194@qq.com','風沙渡'); #多人發送 $mail->IsHTML(); //$a=$mail->AddAttachment('D:\wamp\www\user.sql','z.zip');//附件的絕對位置,上傳後附件的名稱 $mail->Subject='發送自PHPMailer的郵箱'; $mail->From='1107989194@qq.com'; //發送人的姓名 地址 $mail->FromName='風沙渡'; $mail->Body='測試一下4'; $mail->AltBody='附加信息'; if(!$mail->send()){ echo '郵件發送失敗'.'</br>'; echo '錯誤緣由'.$mail->ErrorInfo; }else{ echo '郵件發送成功'; } ?>
這樣就ok了,能夠測試。調試
若是出現了下面這圖的問題,那就是沒有設置發件郵箱開啓SMTP服務。設置一下便可