PHP发送邮件,php发送邮件造成代码异常
php 如何通过smtp发送图片邮件?
方法很多。
方法1:可以弄成html,找个服务器,邮件发送时发html就是
方法2:图做成邮件附件
方法3:type= "image/jpeg"修改邮件文件属性发送
如何正确运用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邮件发送
首先去下载一个phpmailer的压缩包(随便一搜就可以找的到)
然后解压
代码如下:
?php
require("phpmailer/class.phpmailer.php"); //引入文件(把刚才解压的那些文件放到对应的路径就可以了)
$mail = new PHPMailer(); //实例化
$mail-IsSMTP(); // 启用SMTP
$mail-Host="smtp.126.com"; //smtp服务器的名称(这里以126邮箱为例)
$mail-SMTPAuth = true; //启用smtp认证
$mail-Username = "******@126.com"; //你的邮箱名
$mail-Password = "*****"; //邮箱密码
$mail-From = "****@126.com"; //发件人地址(也就是你的邮箱地址)
$mail-FromName = "****"; //发件人姓名
$mail-AddAddress("收件人地址","收件人姓名"); //添加收件人
$mail-AddReplyTo("*****@126.com", "****"); //回复地址(可填可不填)
$mail-WordWrap = 50; //设置每行字符长度
$mail-AddAttachment("images/01.jpg", "manu.jpg"); // 添加附件,并指定名称
$mail-IsHTML(true); // 是否HTML格式邮件
$mail-CharSet="utf-8"; //设置邮件编码
$mail-Subject = "****"; //邮件主题
$mail-Body = "******"; //邮件内容
$mail-AltBody = "This is the body in plain text for non-HTML mail clients"; //邮件正文不支持HTML的备用显示
if(!$mail-Send())
{
echo "Message could not be sent. p";
echo "Mailer Error: " . $mail-ErrorInfo;
exit();
} else {
echo "Message has been sent";
}
?
php发邮件需要什么东西
PHP mail() 函数
PHP mail() 函数用于从脚本中发送电子邮件。
语法
mail(to,subject,message,headers,parameters)
参数 描述
to 必需。规定 email 接收者。
subject 必需。规定 email 的主题。注释:该参数不能包含任何新行字符。
message 必需。定义要发送的消息。应使用 LF (\n) 来分隔各行。
headers
可选。规定附加的标题,比如 From、Cc 以及 Bcc。
应当使用 CRLF (\r\n) 分隔附加的标题。
parameters 可选。对邮件发送程序规定额外的参数。
注释:PHP 需要一个已安装且正在运行的邮件系统,以便使邮件函数可用。所用的程序通过在 php.ini 文件中的配置设置进行定义。请在我们的 PHP Mail 参考手册阅读更多内容。
PHP 简易 E-Mail
通过 PHP 发送电子邮件的最简单的方式是发送一封文本 email。