關於php發郵件mail函式的一些處理

2021-06-22 19:16:41 字數 1345 閱讀 8367

今天嘗試了一下使用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...