91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎么在php中利用curl smtp實現一個郵件發送功能

發布時間:2020-12-10 14:59:45 來源:億速云 閱讀:229 作者:Leah 欄目:開發技術

這篇文章給大家介紹怎么在php中利用curl smtp實現一個郵件發送功能,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

實現方法如下:

$ telnet 郵箱SMTP服務地址 25
Trying 郵箱服務IP地址...
Connected to 郵箱SMTP服務地址.
Escape character is '^]'.
exchange郵箱服務器地址 Microsoft ESMTP MAIL Service ready at Sat, 2 Jun 2012 15:02:12 +0800
EHLO 127.0.0.1
-exchange郵箱服務器地址 Hello [郵箱服務IP地址]
-SIZE
-PIPELINING
-DSN
-ENHANCEDSTATUSCODES
-X-ANONYMOUSTLS
-AUTH NTLM LOGIN
-X-EXPS GSSAPI NTLM
-8BITMIME
-BINARYMIME
-CHUNKING
-XEXCH50
XRDST
AUTH LOGIN
VXNlcm5hbWU6
用戶名(base64_encode)
UGFzc3dvcmQ6
密碼(base64_encode)
2.7.0 Authentication successful
MAIL FROM:發件箱地址
2.1.0 Sender OK
RCPT TO:收件箱地址
2.1.5 Recipient OK
DATA
Start mail input; end with <CRLF>.<CRLF>
要發送的內容(這里的相關的規范有很多)
.
2.6.0 <0b476f30-3b96-4e3d-84d2-395a96d34000@exchange郵箱服務器地址> Queued mail for delivery
QUIT
2.0.0 Service closing transmission channel
Connection closed by foreign host.


php測試代碼:

代碼如下:
<?php
header("content-type:text/html;charset=utf-8");
$smtp = array(
"url" => "郵箱SMTP服務器地址",
"port" => "郵箱SMTP服務器端口", // 一般為25
"username" => "用戶名",
"password" => "密碼",
"from" => "發件地址",
"to" => "收件地址",
"subject" => "測試一下標題",
"body" => "測試一下內容"
);
$CRLF = "\r\n";
$test = "";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $smtp['url']);
curl_setopt($curl, CURLOPT_PORT, $smtp['port']);
curl_setopt($curl, CURLOPT_TIMEOUT,10);
function inlineCode($str){
$str = trim($str);
return $str?'=?UTF-8?B?'.base64_encode($str).'?= ':'';
}
function buildHeader($headers){
$ret = '';
foreach($headers as $k=>$v){
$ret.=$k.': '.$v."\n";
}
return $ret;
}
//
$header = array(
'Return-path'=>'<'.$smtp['from'].'>',
'Date'=>date('r'),
'From'=> '<'.$smtp['from'].'>',
'MIME-Version'=>'1.0',
'Subject'=>inlineCode($smtp['subject']),
'To'=>$smtp['to'],
'Content-Type'=>'text/html; charset=UTF-8; format=flowed',
'Content-Transfer-Encoding'=>'base64'
);
$data = buildHeader($header).$CRLF.chunk_split(base64_encode($smtp['body']));
$content = "EHLO ".$smtp["url"].$CRLF; // 先得hello一下
$content .= "AUTH LOGIN".$CRLF.base64_encode($smtp["username"]).$CRLF.base64_encode($smtp["password"]).$CRLF; // 驗證登陸
$content .= "MAIL FROM:".$smtp["from"].$CRLF; // 發件地址
$content .= "RCPT TO:".$smtp["to"].$CRLF; // 收件地址
$content .= "DATA".$CRLF.$data.$CRLF.".".$CRLF; // 發送內容
$content .= "QUIT".$CRLF; // 退出
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // curl接收返回數據
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $content);
$test = curl_exec($curl);
var_dump($test);
echo "<br/>\r\n";
var_dump($content);
// 結束
curl_close($curl);


關于怎么在php中利用curl smtp實現一個郵件發送功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

台江县| 杭锦后旗| 福清市| 达日县| 湖州市| 沁源县| 台中县| 乳山市| 朔州市| 新乡县| 平山县| 忻城县| 龙江县| 祁阳县| 黔东| 勃利县| 临洮县| 乐亭县| 临安市| 洛南县| 黔西| 新平| 轮台县| 阿克陶县| 繁峙县| 桐乡市| 吉林省| 盐山县| 宜兰市| 鹤峰县| 旌德县| 积石山| 静安区| 和政县| 上蔡县| 瑞安市| 收藏| 田林县| 新巴尔虎右旗| 商南县| 永春县|