已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > PHP > 源码

标题: php发邮件

作者: @Ta

时间: 2021-05-06发布,2021-05-06修改

点击: 2927

<?php
/*
使用前先设置发信服务器、邮箱、密码、编码。

php邮件发送函数sendmail(收件地址,标题,内容)说明:
收件地址可以是多个邮箱,用分号(;)隔开。
返回值:成功发送的邮件数。
调试:把本文件内echo前面的注释去掉即可
*/


function sendmail($to, $subject,$body)
{
$smtp_host=""; //smtp服务器
$user=""; //发信邮箱
$pass=""; //邮箱密码
$charset="utf-8"; //根据自己的网页编码选择

$header= "MIME-Version:1.0\r\n";
$header.= "Content-Type:text/html; charset=".$charset."\r\n";
$header.= "To: ".$to."\r\n";
$header.= "From: ".$user."\r\n";
$header.= "Subject: "."=?".strtoupper($charset)."?B?".base64_encode($subject)."?="."\r\n";
$header.= "Date: ".date("r")."\r\n";
$header.= "X-Mailer: By PHP(".phpversion().")\r\n";
list($msec, $sec) = explode(" ", microtime());
$header.= "Message-ID: ".date("YmdHis", $sec).".".$msec."\r\n";

$sent = 0;
$to_arr = explode(";", $to);
foreach ($to_arr as $rcpt_to)
{
$sock = @fsockopen($smtp_host, 25, $errno, $errstr, 10);
  
if ($sock && smtp_ok($sock)) {
if (smtp_cmd($sock,"HELO localhost"))
if (smtp_cmd($sock,"AUTH LOGIN ".base64_encode($user))) 
if (smtp_cmd($sock,base64_encode($pass)))
if (smtp_cmd($sock,"MAIL FROM:<".$user.">")) 
if (smtp_cmd($sock,"RCPT TO:<".$to.">"))
if (smtp_cmd($sock,"DATA")) 
if (smtp_data($sock,$header,$body)) 
if (smtp_cmd($sock,"QUIT")) 
$sent++;

fclose($sock);
}
}
return $sent;
}


function smtp_cmd($sock,$cmd)
{
fputs($sock, $cmd."\r\n");
//echo htmlspecialchars($cmd);
return smtp_ok($sock);
}


function smtp_data($sock,$header,$body)
{
fputs($sock,$header."\r\n");    
fputs($sock,$body."\r\n.\r\n");
return smtp_ok($sock);
}


function smtp_ok($sock)
{
$response = fgets($sock, 512);
if (!preg_match("/^[23]/", $response))
{
fputs($sock, "QUIT\r\n");
fgets($sock, 512);
return FALSE;
}
//echo("<br>".$response."<br><br>");
return TRUE;
}
?>

调用

<?php 
$e=$_POST[e];
$b=$_POST[b];
$n=$_POST[n];
include("e-mail.php");
sendmail($e,$b,$n);
?>
本消息来自粉金版 爱欧博客

[隐藏样式|查看源码]


『回复列表(4|隐藏机器人聊天)』

1.

先马后看

我记得我当时撸php的时候 用的是 https://github.com/PHPMailer/PHPMailer/
小米MIX2s(白)

(/@Ta/2021-05-06 14:31//)

2.

用不来。QQ的搞不来!也不知道这个咋发消息到邮件!
小米8(白)

(/@Ta/2021-05-06 21:08//)

3.
用户被禁言,发言自动屏蔽。
(/@Ta/2021-05-07 12:25//
被禁言
)

4. 拿去,直接改。https://github.com/quanqiubiannuan/MySmarty/blob/master/library/mysmarty/Smtp.php
(/@Ta/2021-05-07 18:22//)

回复需要登录

9月12日 05:37 星期五

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1