Translate

2016年8月8日 星期一

Xampp 寄google信件服務錯誤

openssl.dll設定問題

1.到php/ext目錄下 找有無php_openssl.dll檔案
2.開啟php.ini
3.找extension的位置 是否有;或沒有加一下 extension=php_openssl.dll
4.可以用php相面打<?php phpinfo() ?>查看openssl suppoort是否為 enalbe


如果為win8的話
1.將xampp\xampp\sendmail\sendmail.exe相容性改一下
2.改windows xp(sp3),再改使用管理員(adminstor)執行


開啟google pop設定→https://support.google.com/mail/answer/13273?hl=en&rd=2
1.到gmail右上的設定
2.選pop/imap
3.再選開啟pop 所有郵件
4.儲存



若以上方法還不行,建議透過以下方法來使用,
1.下載stunnel,stunnel-5.35-installer.exe   (透過它代理ssl連線)
位置在http://www.stunnel.org/downloads.html?extra=/stunnel/win32/stunnel-4.27-installer.exe

2.安裝時會輸入國碼tw,然後接著就輸入一些基本資料,亂打aa也可以安裝,然後開啟桌面捷徑,上方選單選Configuration>edit Configuration改一下下面tag

[ssmtp]
accept  = 465
connect = 25
cert = stunnel.pem

改好後,儲存,關閉,然後上方選單Configuration>Reload Configuration

這邊設定好之後再改原本的php設定
xamp\php\php.ini
[mail function]

SMTP=localhost
smtp_port=25
sendmail_from = googlename@gmail.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
mail.add_x_header=Off

最後再改sendmail的設定
xamp\sendmail\senmail.ini


smtp_server=localhost
smtp_port=25
smtp_ssl=auto
default_domain=gmail.com

重新開啟apache

另外如果寄信google該會問一些較低安全性的問題,直接打開吧!就能收到信了
https://www.google.com/settings/u/1/security/lesssecureapps?rfn=27&rfnc=1&asae=2&anexp=lbe2-R1_C


測試php

<?php
  $to ="receiver@gmail.com"; //收件者
  $title= "test"; //信件標題
  $msg = "smtp發信測試";//信件內容
  $headers = "From:my@gmail.com"; //寄件者

  if(mail("$to", "$title", "$msg", "$headers")):
   echo "信件已經發送成功。";//寄信成功就會顯示的提示訊息
  else:
   echo "信件發送失敗!";//寄信失敗顯示的錯誤訊息
  endif;
?>

沒有留言:

張貼留言