中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

我的php學習筆記(42) PHP通過mail()或Socket發從郵件

發布時間:2020-07-22 21:54:54 來源:網絡 閱讀:424 作者:aiyunyisheng 欄目:web開發

PHP通過mail()或Socket發從郵件
php發送郵件是直接通過mail函數實現的,但是很多人在使用的時候發

送不成功,原因是因為相應的文件沒有配置完整,而且配置的過程比較

麻煩,兼容性很差。要配置的文件有:php.ini文件以及類似sendmail這

樣的組件的支持。

另外一種發送郵件的方式是通過socket通訊,使用SMTP傳輸。通過使

用socket的方式發送郵件的兼容性比較強,但是代碼量就會變得多了

一點。
用socket方式發送郵件的過程:
socket連接-->SMTP通訊-->獲取通訊信息-->發送

mail函數的使用
mail(to,subject,message,headers,parameters)
如果郵件的投遞被成功地接收,則返回true,否則返回false
各參數的含義:
to 必需。規定郵件的接收者。
subject 必需。規定郵件的主題。該參數不能包含任何換行字符。
message 必需。規定要發送的消息。
headers 可選。規定額外的報頭,比如 From, Cc 以及 Bcc。
parameters 可選。規定 sendmail 程序配置的額外參數。
注:如果要使用mail函數,必須在php.ini文件配置成功和獲得

Sendmail的支持

socket方式發送原理
使用fsockopen函數打開一個Internet連接
fsockopen(string hostname, int port, int [errno], string [errstr], int

[timeout]);
使用的是SMTP協議,所以端口號是25,連接成功后,會返回一個

socket句柄,使用它就可以像使用文件句柄一樣。
可以使用像其他文件句柄一樣,會返回一些值,下面是一些常見的返回

值:
220 服務就緒(在socket連接成功時,會返回此信息)
221 正在處理
250 請求郵件動作正確,
354 開始發送數據,結束以 .
500 語法錯誤,命令不能識別
550 命令不能執行,郵箱無效
552 中斷處理:用戶超出文件空間

例子:(socket)

<?php  
    require_once('pw.php');  
    require_once('email.class.php');  
      
    $smtpserver = "smtp.qq.com";  
    $smtpserverport = 25;  
    $smtpemail = "woai12346@qq.com";  
    $smtpemailto = "441508867@qq.com";  
      
    $smtpuser = "hhq";  
    $smtppass=$pw;  
    $mailsubject = "test";  
    $mailbody = "It is a test.";  
    $mailtype = "txt";  
    $smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);  
    $smtp->debug = true;  
    $smtp->sendmail($smtpemailto,$smtpemail,$mailsubject,$mailbody,$mailtype);
?>


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

菏泽市| 昌图县| 文化| 太仆寺旗| 禄劝| 满洲里市| 蛟河市| 抚松县| 大厂| 富源县| 镇坪县| 阆中市| 景洪市| 随州市| 花莲市| 鄂州市| 德州市| 平泉县| 鹤庆县| 吴桥县| 吉首市| 桐梓县| 勐海县| 宁南县| 平顺县| 利辛县| 乐昌市| 卓资县| 黎川县| 房产| 秦安县| 万荣县| 曲阳县| 绩溪县| 鹤岗市| 松阳县| 吉木乃县| 淄博市| 会理县| 丹东市| 曲水县|