日期 2017/04/18
XAMPP 3.2.2
PHP 5.6.24
AVAST 17.3.2291
利用XAMPP完成觸發事件後自動送信
1.到Google申請伺服器專用帳號
允許安全性較低的應用程式使用 https://myaccount.google.com/lesssecureapps
設定 > 轉寄和POP/IMAP > POP下載 > 對所有郵件啟用POP功能
2.下載 phpmailer https://github.com/PHPMailer/PHPMailer
3. 將phpmailer解壓到xampphtdocs裡並在內新增index.php
4.index.php的內容如下:
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->SMTPDebug = 2; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = '寄件帳號@gmail.com'; // SMTP username
$mail->Password = '寄件密碼'; // SMTP password
$mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port to connect to
$mail->setFrom('寄件帳號@gmail.com', 'Mailer');
$mail->addAddress('收件者@gmail.com', 'Joe User'); // Add a recipient
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->send()){
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
5.到xampp/php/ext確認有沒有 php_openssl.dll 通常都會有,接下來我們要把他打開
6.到php.ini裡把;extension=php_openssl.dll前面的分號刪掉
※ 此板會有兩個extension=php_openssl.dll,其實預設已經幫你做好了。
7.把XAMPP/PHP裡ssleay32.dll和libeay32.dll丟到windows/system32裡面
8.到瀏覽器輸入127.0.0.1/PHPMailer/測試信送不送的出去
通常都會送的出去,今天做系統時無奈怎樣都送不出去
找bug找了12小時,一直懷疑我到底哪裡寫錯
後來找到的問題 SMTP ERROR: Failed to connect to server: (0)
不是我寫錯而是防毒軟體會擋
所幸關掉防毒軟體就可以讓他送信
但要如何在有防毒軟體保護下送信我還要看看
時間晚了 來睡
2017/04/18 03:03 更新:如何在有Avast防毒軟體保護下送信?
設定 > 元件 電子郵件防護 > 取消 掃描外寄的郵件(SMTP)
打完收工。
------------------------------------------------------------------
資管系學生 愛好程式設計 樂於分享技術
接過很多專案 但較喜歡料理。
------------------------------------------------------------------