摘要:我之前一直使用郵箱發送需要處理的文件,但是如果操作過于頻繁或者有別的問題,會導致發送失敗,相反現在用的貌似還沒出現過類似情況,不過郵箱配置和有一丟丟不一樣,我還是貼一下,怕朋友們踩到坑建議大家用郵箱,建議大家用郵箱,建議大家用郵箱重要的事情
我之前一直使用163郵箱發送需要處理的文件,但是如果操作過于頻繁【或者有別的問題】,會導致發送失敗,相反現在用QQ的貌似還沒出現過類似情況,不過QQ郵箱配置和163有一丟丟不一樣,我還是貼一下,怕朋友們踩到坑(建議大家用qq郵箱,建議大家用qq郵箱,建議大家用qq郵箱)重要的事情說三遍?。?!
1.下載PHPMailer,我這里推薦大家使用composer安裝
"require": { "phpmailer/phpmailer":"*" },
2.使用PHPMailer,我這里先創建一個類去使用,直接上代碼:
use PHPMailerPHPMailerException; use PHPMailerPHPMailerPHPMailer; class SendEmail { public function __construct($options) { try { $mail = new PHPMailer(); //New instance, with exceptions enabled $mail->CharSet="UTF-8"; //這是設置中文的編碼 $body = $options["body"]; //發送的消息內容 $mail->IsSMTP(); // tell the class to use SMTP $mail->SMTPAuth = true; // enable SMTP authentication $mail->Port = $options["Port"]; // set the SMTP server port $mail->Host = $options["Host"]; // SMTP server 網易是smtp.163.com這個,QQ郵箱是smtp.qq.com $mail->Username = $options["Username"]; // SMTP server username $mail->Password = $options["Password"]; // SMTP server password $mail->AddReplyTo($options["ReplyEmail"], $options["ReplyEmailName"]); //回復地址 $mail->From = $options["From"]; //發送方的郵箱地址 $mail->FromName = $options["FromName"]; //發送方的郵箱名 $to = $options["to"]; //接收方的郵件地址 $mail->AddAddress($to); $mail->Subject = $options["Subject"]; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test $mail->WordWrap = 80; // set word wrap $mail->AddAttachment($options["AddAttachment"]); //可以添加附件 $mail->MsgHTML($body); $mail->Send(); } catch (Exception $e) { echo $e->errorMessage(); } } }
然后就在一個控制器上調用這個類就可以了,繼續上代碼:
$options = [ "Port" => 25, //網易是25端口,其實也不重要,qq照樣能用 "Host" => "smtp.qq.com",//網易是這個,QQ郵箱是smtp.qq.com "Username" => "********@qq.com", //發送郵件的帳號 "Password" => "********", //發送郵件帳號的客戶端授權碼 "ReplyEmail" => "********@163.com", //回復郵件的郵箱地址 "ReplyEmailName" => "********", //回復郵件的郵箱帳號 "From" => "********@qq.com", //發送郵件的郵箱帳號地址 "FromName" => "********", //發送郵件的郵箱帳號名稱 "to" => "********@qq.com", //發送郵件的郵箱帳號名稱 "Subject" => "********",//標題 "body" => "********", "AddAttachment" => dirname($_SERVER["DOCUMENT_ROOT"]) . "/html/test.png" //這是添加附件的東西 ]; $sendmial = new SendEmail($options);
最后說幾個問題,Username的話,網易直接使用郵箱名即可,QQ郵箱請輸入郵箱前綴【用戶名】『eg.1214982635@qq.com
請輸入1214982635』 Password網易直接輸入郵箱密碼即可【有授權碼輸授權碼】,QQ請輸授權碼,發個短信就能生成
至此已經可以發送郵件了,附上兩個郵箱互相發送成功的截圖
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/26140.html
摘要:一,設置郵箱二,下載文件夾三,將文件夾放在網站根目錄,或其他可引入的目錄四,代碼引入的核心文件實例化核心類是否啟用的進行調試開發環境建議開啟生產環境注釋掉即可默認關閉調試模式使用鑒權方式發送郵件需要鑒權這個必須是鏈接域名郵箱的服務器地 一,設置qq郵箱 showImg(https://segmentfault.com/img/bVVugy?w=822&h=187); showImg(h...
摘要:圖中其他兩個文件和是郵件發送類的核心文件,為了簡化調用,抽取了出來,詳細的用法和參數設置,可以參考的使用說明注意點在此步驟中,我們需要注意幾點是你設置的郵件發送的賬號是否已經開啟并且找對對應的安全協議和端口號。 1、環境說明 阿里云centos7thinkphp5.0.11swoole2.0.8 2、tp實現郵件發送 在項目下建立如下的文件目錄:showImg(https://segm...
摘要:并利用提供的云引擎服務實現在周五給全員發送郵件提醒填寫周報,周六周日分別再次對未填人員發送郵件進行填寫提醒。雖然提供的免費云引擎,本身就支持服務,但是免費版是做測試用的,會自動休眠,不夠穩定,經常掛掉。 This just is a README. showImg(https://segmentfault.com/img/remote/1460000013260535);showImg...
摘要:并利用提供的云引擎服務實現在周五給全員發送郵件提醒填寫周報,周六周日分別再次對未填人員發送郵件進行填寫提醒。雖然提供的免費云引擎,本身就支持服務,但是免費版是做測試用的,會自動休眠,不夠穩定,經常掛掉。 This just is a README. showImg(https://segmentfault.com/img/remote/1460000013260535);showImg...
閱讀 3496·2021-10-18 13:30
閱讀 2951·2021-10-09 09:44
閱讀 1969·2019-08-30 11:26
閱讀 2299·2019-08-29 13:17
閱讀 765·2019-08-29 12:17
閱讀 2253·2019-08-26 18:42
閱讀 478·2019-08-26 13:24
閱讀 2960·2019-08-26 11:39