[請益] 利用 phpmailer 發 Gmail
各位好,我知道這方面的相關教學在網路上跟版上都有。
可是不知為何這之間利用下班和放假時間,陸陸續續試了快一個月仍無法成功寄出。
這郵件功能主要是需要用在 mantisBT 上面,但由於程式和php方面不太熟
所以想和各位高手請益並附上網路收集的資料和自己的設定方式,
希望也能幫助日後有遇到相同問題的版友參考。
使用軟體:
- AppServ 2.5.10
- Instant Mantis 1.1.1 (apache2, mysql-4.1.16-win32, php-4.4.2-win32)
(由於必須使用這個軟體,若升級php會造成一些程式錯誤)
一、想先確定 Gmail 現在 SMTP 是否仍可透過 phpmailer 使用??
Google 相關設定頁面:
http://support.google.com/mail/bin/answer.py?hl=zh-Hant&answer=13287
二、PHP 設定
A. 複製 ssleay32.dll 和 libeay32.dll 到 C:\Windows\System32\ (for SSL)
B. php.ini 中啟用 extension=php_openssl.dll (去掉前面分號)
C. php.ini 中 [mail function] 加入:
smtp = smtp.gmail.com
smtp_port = 465
sendmail_from = 123@gmail.com
D. config_inc.php 不確定要不要也加入 Mail settings,感覺沒有差別
三、PHPMailer 2.0.4
A. 複製 class.phpmailer.php, class.smtp.php, contents.html 和 language
資料夾到 C:\AppServ\www\root\mantis\
B. 建立一個測試網頁 ex: test_gmail.php (PHPMailer 中的 example 有)
<< 在這邊想問個問題,是不是透過這個測試網頁就可以將所有設定變數
都代入 class.phpmailer.php 和 class.smtp.php 裡??
(雖然我也是試過全部設固定值了) >>
我遇到過很多種錯誤訊息... 因為我會嘗試用不同的測試網頁
目前使用 test_gmail.php 這個跑完測試網頁會出現下面問題
如果加註解 bypass 後會跑很久之後出現整個空白的網頁。
Fatal error: Call to undefined method PHPMailer::getFile()
in C:\AppServ\www\root\mantis\test_gmail.php on line 10
Line 10 內容: $body = $mail->getFile('contents.html');
contents.html 這個檔案我在步驟 A 有丟到同一個資料夾底下
可是那個 getFile() 是要去哪 define??
不會上傳檔案,我該整個貼上來嗎... Qrz
有請各位大大不吝指導,感謝!!
p.s: 第一次在 php 版發文,若有什麼不妥或敘述不夠詳盡之處
煩請告知,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.233.145.37
→
02/24 02:07, , 1F
02/24 02:07, 1F
→
02/24 02:08, , 2F
02/24 02:08, 2F
→
02/24 02:09, , 3F
02/24 02:09, 3F
→
02/24 22:35, , 4F
02/24 22:35, 4F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章