PHP邮件发送

 

1、利用自己的服务器发送邮件(建议大家不使用此方法,容易被对方的邮件系统自动转入垃圾邮件中)

此方法需要自己的服务器已装IIS并开启了SMTP Service。

开启方法:“控制面板” ——> “添加或删除程序” ——> “添加/删除windows组件(A)” ——> 双击“Internet 信息服务(IIS)” ——> 勾选“SMTP Service” —— > “确定” ——> “下一步”

mail(to,subject,message,headers,parameters);

参数描述
to必需。规定 email 接收者。
subject必需。规定 email 的主题。注释:该参数不能包含任何新行字符。
message必需。定义要发送的消息。应使用 LF (/n) 来分隔各行。
headers

可选。规定附加的标题,比如 From、Cc 以及 Bcc。应当使用 CRLF (/r/n) 分隔附加的标题。

parameters可选。对邮件发送程序规定额外的参数。

例:

<?php

$to = "tianliao1988@21cn.com";
$subject = "试验邮件";
$message = "试验一下看看能不能发出来";
$from = "281877650@qq.com";
$headers = "From: $from";
mail($to,$subject,$message,$headers);
echo "Mail Sent.";

?>

2、利用别人的邮件服务器发送邮件

此方法需要知道对方的SMTP 服务器地址(如:QQ的SMTP服务器地址是smtp.qq.com)和端口号(默认为25),此外,你还要在此站上有可正常运行帐号和密码。

<?php
if (!$fp = @fsockopen("smtp.qq.com",25,$errorno,$errorstr,30))//打开一个网络的socket连结
{
echo "打开连接失败!";
exit;
}
stream_set_blocking($fp, true);
fputs($fp,"EHLO qq.com/r/n");//连接
fputs($fp,"AUTH LOGIN/r/n");//发送标识

$maildelimiternum = 1;// 邮件头的分隔符,0=使用 LF 作为分隔符,1=使用 CRLF 作为分隔符
$maildelimiter = !empty($maildelimiternum) ? "/r/n" : "/n";
$charset = "gbk";//编码
$user = base64_encode("281877650@qq.com");//帐号 base64编码
$pass = base64_encode("×××");//密码 base64编码
$from = "281877650@qq.com";//发件人地址(选填)
$touser = "tianliao1988@21cn.com";//收件人地址
$subject = "试哈子";//标题
$content = "看看能不能行";//内容
$headers = "MIME-Version: 1.0{$maildelimiter}Content-type: text/plain; charset=".$charset."{$maildelimiter}{$maildelimiter}";//头文件

fputs($fp,$user."/r/n");//发送帐号
fputs($fp,$pass."/r/n");//发送密码
fputs($fp, "MAIL FROM: <".preg_replace("/.*/<(.+?)/>.*/", "//1", $from).">/r/n");//发信人
fputs($fp, "RCPT TO: <$touser>/r/n");//收信人
fputs($fp,"DATA/r/n");//收信人已标识,可以发送内容
$sub = "To:我的好朋友<".$touser.">/r/n";//发信内容,发往/
$sub .= "From:田辽<".$from.">/r/n";//发信内容,来自/
$sub .= "Subject:".$subject."/r/n";//标题
$sub .= $headers;//载入头文件
$sub .= $content;//内容
$sub .= "/r/n./r/n";//结束
fputs($fp,"$sub/r/n");//发信
fputs($fp,"QUIT/r/n");//退出
echo "发送成功!";
?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值