在前面的文章《PHP實作傳送郵件(三)》中,我們簡單介紹了透過PHPMailer這個方法庫來實現發送郵件的功能效果。以下我們繼續結合上篇文章內容來跟大家講解如何透過PHPMailer來實現發送郵件的具體功能。
email.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 = '244103592@qq.com'; // 这个就是之前得到的授权码,一共16位 $mail->Password = 'hlclkdigsqqdbged'; $mail->setFrom('244103592@qq.com', 'send_user_name'); // $to 为收件人的邮箱地址,如果想一次性发送向多个邮箱地址,则只需要将下面这个方法多次调用即可 $mail->addAddress($to); // 该邮件的主题 $mail->Subject = $title; // 该邮件的正文内容 $mail->Body = $content; // 使用 send() 方法发送邮件 if(!$mail->send()) { return '发送失败: ' . $mail->ErrorInfo; } else { return "发送成功"; } } // 调用发送方法,并在页面上输出发送邮件的状态 var_dump(sendMail('2286445505@qq.com','会议主题','今天下午开会'));
PHPMailer方法庫下載位址:http://www.php.cn/ xiazai/learn/5627
上述程式碼sendMail方法中,引入PHPMailerAutoload.php、實例化PHPMailer後,就可以呼叫相關函數方法。
$mail->isSMTP()則表示使用SMTP服務;
$mail->SMTPAuth設定是否使用驗證(必須為true);
$mail->Host設定發送方的SMTP伺服器位址;
##$mail-> ;Username設定發送方的qq郵箱使用者名稱;
$mail->Password 設定發送方的郵箱密碼,注意用qq郵箱這裡填寫的是「授權密碼」而不是郵箱的登入密碼! (qq授權碼取得方法參考文章《PHP實作發送郵件(一)》)
#$mail->setFrom()用來設定寄件者訊息,如郵件格式說明中的寄件者,這裡會顯示為send_user_name(xxxx@qq.com),send_user_name是當做名字顯示。
$mail->addAddress()用來設定收件者的郵件地址。
$mail->Subject 設定郵件標題;
#$mail->Body 設定郵件正文。
以上是PHP實作發送郵件(四)的詳細內容。更多資訊請關注PHP中文網其他相關文章!