php 實現傳送郵箱功能
不同型別的郵箱傳送郵件的方式也是不同的。
下面我們就先給大家舉例介紹qq郵箱開啟發送郵件服務的方法。
首先我們登入qq郵箱,開啟設定,選擇帳戶。
然後在帳戶下,找到如下所示的開啟服務部分。
開啟服務中,前兩個選項均可實現郵件傳送服務。點選開啟,會出現驗證提示。
確認驗證,成功開啟POP3/SMTP服務後,就會出現以下授權碼。
那麼此授權碼就可以用於PHP實現郵件傳送的開發方法中。
注:每次開啟生成的授權碼都會不同,安全性較高。
實現傳送郵件的php程式碼如下:
<?php /*傳送郵件方法 *@param $to:接收者 $title:標題 $content:郵件內容 *@return bool true:傳送成功 false:傳送失敗*/ function sendMail($to,$title,$content) { // 這個PHPMailer 就是之前從 Github上下載下來的那個專案 require './PHPMailer/PHPMailerAutoload.php'; $mail = new PHPMailer; //使用smtp鑑權方式傳送郵件 $mail->isSMTP(); //smtp需要鑑權 這個必須是true $mail->SMTPAuth = true; // qq 郵箱的 smtp伺服器地址,這裡當然也可以寫其他的 smtp伺服器地址 $mail->Host = 'smtp.qq.com'; //smtp登入的賬號 這裡填入字串格式的qq號即可 $mail->Username = '[email protected]'; // 這個就是之前得到的授權碼,一共16位 $mail->Password = 'xccemvofmwcvdgjg'; $mail->setFrom('[email protected]', '你的主管'); // $to 為收件人的郵箱地址,如果想一次性發送向多個郵箱地址,則只需要將下面這個方法多次呼叫即可 $mail->addAddress($to); // 該郵件的主題 $mail->Subject = $title; // 該郵件的正文內容 $mail->Body = $content; // 使用 send() 方法傳送郵件 if(!$mail->send()) { return '傳送失敗: ' . $mail->ErrorInfo; } else { return "傳送成功"; } } // 呼叫傳送方法,並在頁面上輸出傳送郵件的狀態 var_dump(sendMail('[email protected]','會議主題','今天下午開會'));
此方法中,首先我們引入了PHPMailer中的PHPMailerAutoload.php這個檔案。PHPMailer是一個用來發送電子郵件的函式包,PHPMailerAutoload.php則是一個自動載入的檔案,方便快捷。
那麼PHP實現郵件傳送的功能,就可以通過PHPMailerAutoload.php來實現。在引入PHPMailerAutoload.php後,我們需要對其中的PHPMailer類進行例項化。
最後就可以直接呼叫PHPMailer類中的相關方法來實現郵件傳送功能。
$mail->isSMTP()則表示使用SMTP服務;
$mail->SMTPAuth設定是否使用身份驗證(必須為true);
$mail->Host設定傳送方的SMTP伺服器地址;
$mail->Username設定傳送方的qq郵箱使用者名稱;
$mail->Password 設定傳送方的郵箱密碼,注意用qq郵箱這裡填寫的是“授權密碼”而不是郵箱的登入密碼!
$mail->setFrom()用來設定發件人資訊,如郵件格式說明中的發件人,這裡會顯示為send_user_name([email protected]),send_user_name是當做名字顯示。
$mail->addAddress()用來設定收件人的郵箱地址。
$mail->Subject 設定郵件標題;
$mail->Body 設定郵件正文。
最後使用 send() 方法傳送郵件,並判斷郵件是否傳送成功,失敗則輸出錯誤資訊$mail->ErrorInfo。
注:PHPMailer中class.phpmailer.php是主檔案,用來實現具體功能,class.smtp.php是使用smtp需要的檔案。
檢視郵件,傳送成功。
宣告 本人部落格的所有東西,部分源於網路書籍和視訊,其他的是個人的理解感悟,經過自己整理撰寫成部落格。 本人部落格均只用於個人學習、複習,不作為商業用途,如有侵權,請聯絡我修改或刪除。 聯絡郵箱:15121014713@163.com