[請益] 利用 phpmailer 發 Gmail

看板PHP作者 (史密提威威傑格曼傑森)時間12年前 (2013/02/24 00:44), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/3 (看更多)
各位好,我知道這方面的相關教學在網路上跟版上都有。 可是不知為何這之間利用下班和放假時間,陸陸續續試了快一個月仍無法成功寄出。 這郵件功能主要是需要用在 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
有 require_once 或 include_once phpmailer嗎?
02/24 02:07, 1F

02/24 02:08, , 2F
看起來你似乎沒有把 phpmailer 載入到你的 php 檔案裡
02/24 02:08, 2F

02/24 02:09, , 3F
所以在呼叫 getFile() 的時候找不到這個 function
02/24 02:09, 3F

02/24 22:35, , 4F
hi Bambe, 有喔 我開頭有用 require_once 載入 phpmailer
02/24 22:35, 4F
文章代碼(AID): #1HAF7rTN (PHP)
文章代碼(AID): #1HAF7rTN (PHP)