本文目录一览:
- 1、win2003服务器上安装Advanced SMTP Server使用php程序发送邮件全部都提示被当做垃圾邮件屏蔽掉,怎么回事
- 2、php发送邮件到hotmail、QQ邮箱等变垃圾邮件的解决办法
- 3、php提交表单到邮箱多次后,出现垃圾邮件被退回的现象要怎么解决
- 4、如何正确运用PHP发送邮件函数
- 5、php发送的邮件都被默认为垃圾邮件,该怎么解决
win2003服务器上安装Advanced SMTP Server使用php程序发送邮件全部都提示被当做垃圾邮件屏蔽掉,怎么回事
把smtp服务器设置成使用默认的就好了,然后服务器端将smtp设置清空,不保存和使用账号密码就好了、
php发送邮件到hotmail、QQ邮箱等变垃圾邮件的解决办法
使用socket 连接专业的邮件服务器(如QQ、 163等)完成发送邮件,这样就不会被认为是垃圾邮件了
fsockopen("smtp.qq.com", 25)
php提交表单到邮箱多次后,出现垃圾邮件被退回的现象要怎么解决
这个是无法解决的,一个邮箱如果收到过非常多次同一个人发的邮件,那么这个人将会被标记成垃圾邮件。这本身是邮件系统的防御功能。当然如163,qq等有更先进的防护措施,包括自动识别,云数据库
如何正确运用PHP发送邮件函数
PHP发送邮件函数的应用代码示例:
#echo send_mail($_POST["email"],$tosubject,$_POST["errortext"]);
echo send_mail('someone@126.com','only a test mail for test php mail function','一封垃圾邮件');
echo time();
function send_mail($to, $subject = 'No subject', $body) {
$loc_host = "mail.server"; //发信计算机名,可随意
$smtp_acc = "smp@163.com"; //Smtp认证的用户名
$smtp_pass="pwdpwd"; //Smtp认证的密码,一般等同pop3密码
$smtp_host="smtp.163.com"; //SMTP服务器地址,类似 smtp.tom.com
$from="smp@163.com"; //发信人Email地址,你的发信信箱地址
$deliver=$smtp_acc; //回复到指定邮箱
$headers = "Content-Type: text/plain; charset="gb2312"rnContent-Transfer-Encoding: base64";
$lb="rn"; //linebreak
$hdr = explode($lb,$headers); //解析后的hdr
if($body) {$bdy = preg_replace("/^./","..",explode($lb,$body));}//解析后的Body
$smtp = array(
//1、EHLO,期待返回220或者250
array("EHLO ".$loc_host.$lb,"220,250","HELO error: "),
//2、发送Auth Login,期待返回334
array("AUTH LOGIN".$lb,"334","AUTH error:"),
//3、发送经过Base64编码的用户名,期待返回334
array(base64_encode($smtp_acc).$lb,"334","AUTHENTIFICATION error : "),
//4、发送经过Base64编码的密码,期待返回235
array(base64_encode($smtp_pass).$lb,"235","AUTHENTIFICATION error : "));
//5、发送Mail From,期待返回250
$smtp[] = array("MAIL FROM: ".$from."".$lb,"250","MAIL FROM error: ");
//6、发送Rcpt To。期待返回250
$smtp[] = array("RCPT TO: ".$to."".$lb,"250","RCPT TO error: ");
//7、发送DATA,期待返回354
$smtp[] = array("DATA".$lb,"354","DATA error: ");
//8.0、发送From
$smtp[] = array("From: ".$deliver.$lb,"","");
//8.2、发送To
$smtp[] = array("To: ".$to.$lb,"","");
//8.1、发送标题
$smtp[] = array("Subject: ".$subject.$lb,"","");
//8.3、发送其他Header内容
foreach($hdr as $h) {$smtp[] = array($h.$lb,"","");}
//8.4、发送一个空行,结束Header发送
$smtp[] = array($lb,"","");
//8.5、发送信件主体
if($bdy) {foreach($bdy as $b) {$smtp[] = array(base64_encode($b.$lb).$lb,"","");}}
//9、发送“.”表示信件结束,期待返回250
$smtp[] = array(".".$lb,"250","DATA(end)error: ");
//10、发送Quit,退出,期待返回221
$smtp[] = array("QUIT".$lb,"221","QUIT error: ");
//打开smtp服务器端口
$fp = @fsockopen($smtp_host, 25);
if (!$fp) echo "bError:/b Cannot conect to ".$smtp_host."br";
while($result = @fgets($fp, 1024)){if(substr($result,3,1) == " ") { break; }}
$result_str="";
//发送smtp数组中的命令/数据
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;
}
希望上面这段代码示例能让大家充分掌握PHP发送邮件函数的运用。
php发送的邮件都被默认为垃圾邮件,该怎么解决
现在的垃圾邮件的拦截机制主要靠的是你发送邮件的IP的信用度,如果没有维护过的话默认情况下你的信用度是极低的,所有信件都会默认辨识为垃圾邮件。
比较好的方法是使用一些信用度高的邮件服务器来发送邮件。比方说Mailchimp