欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

curl 发送MAIL-求助

程序员文章站 2024-02-20 14:04:28
...
求助,CURL发送MAIL失败,请教一下代码哪里有问题
 "smtp.qq.com", "port" => "25", "username" => "11111@qq.com", "password" => "11111", "from" => "11111@qq.com", "to" => "11111@qq.com", "subject" => "testtttt", "body" => "testtttt" ); $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'=>'', 'Date'=>date('r'), '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 "
\r\n"; var_dump($content); // 结束 curl_close($curl);


回复讨论(解决方案)

谁能帮忙指点一下吗?

真不知道curl还有这个功能。我都直接用sendmail
还有用socket通讯要先写登录过程