今天嘗試了一下使用php的mail函式進行簡單的郵件收發,出現挺多的問題的。最後還好大概能解決了。
首先要用通過配置 xampp 提供的 sendmail 來使得 php 的 mail() 函式可以正常傳送郵件:
我用的是qq測試的收發。。
其他應該也是類似的。
1. 找到 xampp/php/php.ini 檔案,找到 [mail function] 語句塊,修改如下:
1 [mail function]
2 smtp = smtp.qq.com
3 smtp_port = 25
4 sendmail_from = ***@qq.com
5 sendmail_path = "\"你的xampp安裝目錄\xampp\sendmail\sendmail.exe\" -t"
2. 找到 xampp/sendmail/sendmail.ini 檔案,修改如下:
1 [sendmail]
2 smtp_server =
smtp.qq.com
3 smtp_port = 25
4 default_domain = qq.com
debug_logfile=debug.log(這個開啟方便你看錯誤改。)
5 auth_username = 你的郵箱@qq.com
6 auth_password = 郵箱密碼
7 8
force_sender = ***@qq.com(我這裡不填就會出錯。。)
然後就能在程式中正常執行了,截下來出現的是乙個格式問題。
在使用hostmonster主機的mail(),sendmail()函式法郵件時傳送使用者名稱顯示***@box356.hostmonster.com,在郵件使用者名稱中用hostmonster的主機的識別符號,怎麼樣才能使郵件格式為[email protected]?
解決方法如下:
1.修改你的php.ini裡面的sendmail位址sendmail_path = /usr/sbin/sendmail -t -i -f [email protected]
2就是規範發郵件的格式:
examples of headers that should work would be:
examples of headers that willnotwork:
於是乎。 我就在程式中的mail函式函式頭那個引數。應該是第三個引數 參照這種格式
$from = "from: \"你想叫啥\" \r\n";。。。。。。。。
mail($email, '***x', $mesg, $from);
然後之後受到的郵件 就比較正常了。
PHP通過mail 或Socket發郵件
1 php中傳送郵件的方式 1 通過mail 函式傳送郵件 mail 配置php.ini 郵件資訊 需要類似sendmail這樣的元件支援 2 通過socket通訊,使用smtp傳輸 socket 連線 smtp通訊 獲取通訊訊息 傳送 2 mail函式的使用 mail 函式允許您從指令碼中直接傳送...
LINUX發郵件之mail命令
vim etc mail.rc 檔案尾增加以下內容 set from 1968089885 qq.com smtp smtp.qq.com set smtp auth user 1968089885 qq.com smtp auth password 123456 set smtp auth log...
Linux下使用mail命令發郵件
最近想通過shell指令碼監控系統狀況並自動報警,一般linux傳送報警郵件通過本地郵箱或外部郵箱伺服器。這裡需註冊國內的郵件服務商郵箱,也可以使用公司郵箱,我們公司是網易企業郵箱,所以這個文件就以163郵箱為例。需要安裝mailx工具,mailx是乙個小型的郵件傳送程式。具體步驟如下 1 安裝 y...