使用sock技術發郵件,無需伺服器支援。速度快!!
複製** **如下:
function send_mail($to,$subject,$body)
//解析後的body
$smtp = array(
//1、ehlo,期待返回220或者250
array("ehlo ".$loc_host.$lb,"220,250","helo error: "),
//2、傳送auth login,期待返回334
array("auth login".$lb,"334","auth error:"),
//3、傳送經過base64編碼的使用者名稱,期待返回334
array(base64_encode($smtp_acc).$lb,"334","authentification error : "),
//4、傳送經過base64編碼的密碼,期待返回235
array(base64_encode($smtp_pass).$lb,"235","authentification error : "));
//5、傳送mail from,期待返回250
$smtp = array("mail from: ".$lb,"250","mail from error: ");
//6、傳送rcpt to。期待返回250
$smtp = array("rcpt to:程式設計客棧 ".$lb,"250","rcpt to error: ");
//7、傳送data,期待返回354
$smtp = array("data".$lb,"354","data error: ");
傳送from
$smtp = array("from: ".$from.$lb,"","");
傳送to
$smtp = array("to: ".$to.$lb,"","");
傳送標題
$smtp = array("subject: ".$subject.$lb,"","");
傳送其他header內容
foreach($hdr as $h)
傳送乙個空行,結束header傳送
$smtp = array($lb,"","");
傳送信件主體
if($bdy)
}
//9、傳送「.」表示信件結束,期待返回250
$smtp = array(".".$lb,"250","data(end)error: ");
//10、傳送quit,退出,期待返回221
$smtp = array("quit".$lb,"221","quit error: ");
//開啟smtp伺服器端口
$fp = @fsockopen($smtp_host, 25);
if (!$fp) echo "error: cannot conect to ".$smtp_host."
";
while($result = @fgets($fp, 1024))
}
$result_str="";
//傳送smtp陣列中的命令/資料
foreach($smtp as $req)
}
if (!strstr($req[1],substr($result,0,3)))
}
}
//關閉連線
@fclose($fp);
if ($result_str=="")else
}
本文標題: php 用sock技術傳送郵件的函式
本文位址:
php 用sock技術傳送郵件的函式
使用sock技術發郵件,無需伺服器支援。速度快!code function send mail to,subject,body 解析後的body tp array 1 ehlo,期待返回220或者250 array ehlo loc host.lb,220,250 helo error 2 傳送au...
用PHP傳送MIME郵件 三)
值得說明的其它兩個方法是print mail 和send mail 兩個都使用了 force引數。print mail 輸出整個郵件資訊,send mail 使用php 的mail 函式傳送資訊。可選的,send mail 使用了乙個 tp物件和它的傳送方法 由使用者指定 來傳送 郵件。結論建立乙個...
用PHP傳送MIME郵件(二)
作者 kartic krishnamurthy 譯者 limodou 好,如何建立符合mime的資訊呢?通過上面的一般性的描述,讓我們現在看一下所謂的mime資訊到底是什麼!最簡單的mime資訊 這個資訊沒有任何段,也就是,沒有附件。然而,因為它是乙個mime訊息,它必須有必要的頭。from php...