使用 gmail 系統無法用程式發信

網路與網站相關議題和知識
回覆文章
dtchang
Site Admin
文章: 84
註冊時間: 2017-01-22, 16:54

使用 gmail 系統無法用程式發信

文章 dtchang » 2021-01-30, 19:12

使用 gmail 系統無法用程式發信
1. 使用 PHP 發信時的問題
2. 確認關閉 gmail 帳號關閉[兩段式驗證]
3. [管理你的帳號],[安全性]控制: [開啟]低安全性應用程式的存取權
4. 發測試信, 若失敗檢查 php_error log 資料
5. 可在主機上開啟 google chrome 或 firefox等, 登入 google 帳號 (不退出)再發測試信
6. 若再度失敗, 檢查 php_error log 裡頭是否有相關的錯誤訊息. 開啟訊息中的鏈結網址,完成指示的作業後, 再度發測試信
7. sendmail.exe 可從網路下載或者不使用外部sendmail.exe (google: fake sendmail for bugzilla/windows)

php.ini

代碼: 選擇全部

[mail function]
; For Win32 only.
; http://php.net/smtp
smtp_server=smtp.gmail.com
; http://php.net/smtp-port
smtp_port = 465
auth_username = xxxx
auth_password = xxxx
sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"
測試信

代碼: 選擇全部

<?php
  $to =" dtchang0322@gmail.com "; //收件者
  $subject = "test"; //信件標題
  $msg = "smtp發信測試 ".date("Y-m-d H:i:s");//信件內容
  $headers = "From: cecm2021@g.chu.edu.tw"; //寄件者
  
  if(mail("$to", "$subject", "$msg", "$headers")):
   echo "信件已經發送成功。";//寄信成功就會顯示的提示訊息
  else:
   echo "信件發送失敗!";//寄信失敗顯示的錯誤訊息
  endif;
?>
範例錯誤訊息
sendmail: Error during delivery: <https://accounts.google.com/signin/cont ... c=1&plt=AK...
CCqOMaxWj3Hxfx7Lmb8pX6i1ki2sHkQX2g_....
-0qz733fKR1UHHE9aC8L_AcO9z6FAiGY81BFJ8dN-HTgrk31yCOqmyzsQG...->
Please log in via your web browser and then try again.

Learn more at
https://support.google.com/mail/answer/... s32sm5496301pfw.2 - gsmt

回覆文章