Use sock technology to send emails without server support. Fast! !
Copy code The code is as follows:
function send_mail($to,$subject,$body)
{
//////////////Smtp information can be modified to yours, /// ///////
$loc_host = "longbill"; //Sending computer name, optional
$smtp_acc = "longbill.mail"; //Smtp authenticated username,
$ smtp_pass = "longbill"; //Smtp authentication password,
$smtp_host = "smtp.163.com"; //SMTP server address,
$from = "longbill.mail@163.com"; / /Must correspond to smtp information, otherwise it will fail
//////////////Smtp information ends///////////////////// /////////////
$headers = "Content-Type: text/plain; charset="gb2312"rnContent-Transfer-Encoding: base64";
$lb="rn "; "; /","..",explode($lb,$body));
}//Parsed Body
$smtp = array(
//1. EHLO, expect to return 220 or 250
array("EHLO ".$loc_host.$lb,"220,250","HELO error: "),
//2. Send Auth Login, expecting to return 334
array("AUTH LOGIN". $lb,"334","AUTH error:"),
//3. Send the Base64-encoded username, expecting to return 334
array(base64_encode($smtp_acc).$lb,"334", "AUTHENTIFICATION error : "),
//4. Send the Base64-encoded password and expect a return of 235
array(base64_encode($smtp_pass).$lb,"235","AUTHENTIFICATION error : "));
//5. Send Mail From, expecting to return 250
$smtp[] = array("MAIL FROM: <".$from.">".$lb,"250","MAIL FROM error: ");
//6. Send Rcpt To.Expect to return 250
$smtp[] = array("RCPT TO: <".$to.">".$lb,"250","RCPT TO error: ");
//7 , send DATA, expecting to return 354
$smtp[] = array("DATA".$lb,"354","DATA error: ");
//8.0, send From
$smtp[ ] = array("From: ".$from.$lb,"","");
//8.2. Send To
$smtp[] = array("To: ".$to.$ lb,"","");
//8.1. Send title
$smtp[] = array("Subject: ".$subject.$lb,"","");
/ /8.3. Send other Header content
foreach($hdr as $h) {$smtp[] = array($h.$lb,"","");}
//8.4. Send an empty OK, end Header sending
$smtp[] = array($lb,"","");
//8.5. Send the letter body
if($bdy)
{
foreach($bdy as $b)
{
$smtp[] = array(base64_encode($b.$lb).$lb,"","");
}
}
//9. Send "." to indicate the end of the letter and expect a return of 250
$smtp[] = array(".".$lb,"250","DATA(end)error: ");
//10. Send Quit, exit, and expect to return 221
$smtp[] = array("QUIT".$lb, "221", "QUIT error: ");
//Open the smtp server port
$fp = @fsockopen($smtp_host, 25);
if (!$fp) echo "Error: Cannot conect to ".$smtp_host."
";
while($result = @fgets($fp, 1024))
{
if(substr($result,3,1) == " ") { break; }
}
$result_str="";
//Send the command/data in the smtp array
foreach($smtp as $req)
{
//Send information
@fputs( $fp, $req[0]);
//If you need to receive information returned by the server, then
if($req[1])
{
//Receive information
while( $result = @fgets($fp, 1024))
{ if(substr($result,3,1) == " ") { break; }
}
if (!strstr ($req[1],substr($result,0,3))) 🎜> }
}
//Close the connection
@fclose($fp);
if ($result_str==""){return "Sent successfully!!";}else {return $ result_str;}
}
http://www.bkjia.com/PHPjc/318466.html
www.bkjia.com
truehttp: //www.bkjia.com/PHPjc/318466.htmlTechArticleUse sock technology to send emails without server support. Fast! ! Copy the code as follows: functionsend_mail($to,$subject,$body) { /////////////Smtp information, you can modify it to yours...