求助,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通讯要先写登录过程