21,886
社区成员
发帖
与我相关
我的任务
分享
<?php
$subject = 'Test'; //邮件主题
$loc_host="pop.163.com"; //外部邮件pop3地址
$smtp_host = "smtp.163.com"; //外部邮件smtp地址
$smtp_acc = "xxx@163.com"; //发送邮件的帐号
$smtp_pass = "xxxx"; //发送帐号的密码
$from = "管理员"; //显示的发件人名称
send_mail("xxx@163.com",$subject ,"23232<p>",$from,$loc_host,$smtp_host,$smtp_acc,$smtp_pass);
function send_mail($to,$subject = 'No subject',$content, $from = "论坛留言",$loc_host,$smtp_host,$smtp_acc,$smtp_pass) {
global $mail_host,$mail_smtp_host,$mail_smtp_acc,$mail_smtp_pass;
//$content='34343<br><p>234333333';
$bdy=array(decodeHtmlChar($content));
$headers = "Content-type: text/html; charset=gb2312";
$lb = " "; //linebreak
$hdr = @ explode($lb, $headers);
if ($body) {
$bdy = @ preg_replace("/^./", "..", @ explode($lb, $body));
}
$smtp = array (array ("EHLO " . $loc_host . $lb,"995,2620","HELO error: "),
array ("AUTH LOGIN" . $lb,"334","AUTH error:"),
array (@ base64_encode($smtp_acc) . $lb,"334","AUTHENTIFICATION error : "),
array (@ base64_encode($smtp_pass) . $lb, "235", "AUTHENTIFICATION error : ")
);
$smtp[] = array ("MAIL FROM: <" . $from . ">" . $lb,"250","MAIL FROM error: ");
$smtp[] = array ("RCPT TO: <" . $to . ">" . $lb,"250","RCPT TO error: ");
$smtp[] = array ("DATA" . $lb,"354","DATA error: ");
$smtp[] = array ("From: " . $from . $lb,"","");
$smtp[] = array ("To: " . $to . $lb,"","");
$smtp[] = array ("Subject: " . $subject . $lb,"","");
foreach ($hdr as $h) {
$smtp[] = array ($h . $lb,"","");
}
$smtp[] = array ($lb,"","");
if (!empty($bdy)) {
foreach ($bdy as $b) {
$smtp[] = array (
$b . $lb . $lb, "", "");
/// $bdy . $lb, "", "");
}
}
$smtp[] = array ("." . $lb,"250","DATA(end)error: ");
$smtp[] = array ("QUIT" . $lb,"221","QUIT error: ");
$fp = @ fsockopen($smtp_host, 25);
if (!$fp)
echo "<b>发生错误如下:</b>未能连接到主机: " . $smtp_host . "<br>";
while ($result = @ fgets($fp, 1024)) {
if (@ substr($result, 3, 1) == " ") {
break;
}
}
$result_str = "";
foreach ($smtp as $req) {
@ fputs($fp, $req[0]);
if ($req[1]) {
while ($result = @ fgets($fp, 1024)) {
if (@ substr($result, 3, 1) == " ") {
break;
}
};
if (!@ strstr($req[1], @ substr($result, 0, 3))) {
$result_str .= $req[2] . $result . "<br>";
}
}
}
@ fclose($fp);
return $result_str;
}