您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php使用smtp发送邮件的实现代码

2024/8/26 6:43:25发布32次查看
为大家举一个php使用smtp发送邮件的代码,简单实用,有需要的朋友,可以参考下。完整代码如下。 '脚本学堂', //这里填写网站名称 );$mail = array ( 'state' => 1, 'server' => 'smtp.abc.com', 'port' => 25, 'auth' => 1, 'username' => 'admin@abc.com', 'password' => '123456', 'charset' => 'gbk', 'mailfrom' => 'admin@abc.com' );function sendmail($mail_to, $mail_subject, $mail_message) { global $mail, $bfconfig; date_default_timezone_set('prc'); $mail_subject = '=?'.$mail['charset'].'?b?'.base64_encode($mail_subject).'?='; $mail_message = chunk_split(base64_encode(preg_replace(/(^|(\r\n))(\.)/, \1.\3, $mail_message))); $headers .= ; $headers .= mime-version:1.0\r\n; $headers .= content-type:text/html\r\n; $headers .= content-transfer-encoding: base64\r\n; $headers .= from: .$bfconfig['sitename'].\r\n; $headers .= date: .date(r).\r\n; list($msec, $sec) = explode( , microtime()); $headers .= message-id: \r\n; if(!$fp = fsockopen($mail['server'], $mail['port'], $errno, $errstr, 30)) { exit(connect - unable to connect to the smtp server); } stream_set_blocking($fp, true); $lastmessage = fgets($fp, 512); if(substr($lastmessage, 0, 3) != '220') { exit(connect - .$lastmessage); } fputs($fp, ($mail['auth'] ? 'ehlo' : 'helo'). befen\r\n); $lastmessage = fgets($fp, 512); if(substr($lastmessage, 0, 3) != 220 && substr($lastmessage, 0, 3) != 250) { exit(helo/ehlo - .$lastmessage); } while(1) { if(substr($lastmessage, 3, 1) != '-' || empty($lastmessage)) { break; } $lastmessage = fgets($fp, 512); } if($mail['auth']) { fputs($fp, auth login\r\n); $lastmessage = fgets($fp, 512); if(substr($lastmessage, 0, 3) != 334) { exit($lastmessage); } fputs($fp, base64_encode($mail['username']).\r\n); $lastmessage = fgets($fp, 512); if(substr($lastmessage, 0, 3) != 334) { exit(auth login - .$lastmessage); } fputs($fp, base64_encode($mail['password']).\r\n); $lastmessage = fgets($fp, 512); if(substr($lastmessage, 0, 3) != 235) { exit(auth login - .$lastmessage); } $email_from = $mail['mailfrom']; } fputs($fp, mail from: \r\n); $lastmessage = fgets($fp, 512); if(substr($lastmessage, 0, 3) != 250) { fputs($fp, mail from: \r\n); $lastmessage = fgets($fp, 512); if(substr($lastmessage, 0, 3) != 250) { exit(mail from - .$lastmessage); } } foreach(explode(',', $mail_to) as $touser) { $touser = trim($touser); if($touser) { fputs($fp, rcpt to: \r\n); $lastmessage = fgets($fp, 512); if(substr($lastmessage, 0, 3) != 250) { fputs($fp, rcpt to: \r\n); $lastmessage = fgets($fp, 512); exit(rcpt to - .$lastmessage); } } } fputs($fp, data\r\n); $lastmessage = fgets($fp, 512); if(substr($lastmessage, 0, 3) != 354) { exit(data - .$lastmessage); } fputs($fp, $headers); fputs($fp, to: .$mail_to.\r\n); fputs($fp, subject: $mail_subject\r\n); fputs($fp, \r\n\r\n); fputs($fp, $mail_message\r\n.\r\n); $lastmessage = fgets($fp, 512); if(substr($lastmessage, 0, 3) != 250) { exit(end - .$lastmessage); } fputs($fp, quit\r\n);}?>
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product