|
用pear自带的mail类库发邮件,可以用pear install 命令来安装对应的库
$body = "点我重新生成密码";
sendMail_smtp("xxxxxxxx@qq.com",'测试',$body);
function sendMail_smtp($smtpemailto,$mailsubject,$mailbody){
//error_reporting(7);
require_once 'Mail.php';
require_once 'Mail/mime.php';
$from = 'admin@xxx.com';
$to = $smtpemailto;
$password = 'xxxxxx';
$mail_config=array(
"host"=>"smtp.ym.163.com",
"port"=>25,
"auth"=>true,
"username"=>$from,
"password"=>$password,
"from"=>$from,
);
$hdrs = array(
'From'=>$from,
'To' => $to, //收信地址
'Subject'=>$mailsubject
);
$mime = new Mail_mime();
//$mime->setTXTBody($text);
//添加附件
//$mime->addHTMLImage('php.gif','image/gif','12345',true);
$mime->_build_params['html_charset'] = "utf-8";//设置编码格式
$mime->_build_params['head_charset'] = "utf-8";//设置编码格式
$mime->setHTMLBody($mailbody);
$body = $mime->get();
$hdrs = $mime->headers($hdrs);
$mail = Mail::factory('smtp',$mail_config);
$succ = $mail->send($to,$hdrs,$body);
if (PEAR::isError($succ))
{
//echo 'Email sending failed: ' . $succ->getMessage();
$err = 'Email sending failed: ' . $succ->getMessage();
$content = $to."\t".date('Y-m-d H:i:s')."\t ".$err." \r\n" ;
}
else
{
//$content = $to."\t".date('Y-m-d H:i:s')."\t Email sent succesfully \r\n" ;
return true;
}
} 原帖地址:https://www.oschina.net/code/snippet_88671_17839
其他方法:http://www.iyunv.net/article/73978.htm
关于发邮件报错535 Error:authentication failed解决方法
调用163邮箱服务器来发送邮件,我们需要开启POP3/SMTP服务,这时163邮件会让我们设置客户端授权码,这个授权码替代上面代码部分的passwd即可成功发送邮件
|
|
|