2024年10月php 发邮件(PHP使用邮箱发送邮件(phpmailer/phpmailer))

 更新时间:2024-10-12

  ⑴php发邮件(PHP使用邮箱发送邮件(phpmailer/phpmailer

  ⑵网上可以下载得到$mail?=?new?PHPMailer();?//建立邮件发送类$mail-》CharSet?=?“UTF-“;$address?=““;$mail-》IsSMTP();?//?使用SMTP方式发送$mail-》Host?=?“smtp..“;?//?您的企业邮局域名$mail-》SMTPAuth?=?true;?//?启用SMTP验证功能$mail-》Username?=?““;?//?邮局用户名(请填写完整的email地址)$mail-》Password?=?““;?//?邮局密码$mail-》Port=;$mail-》From?=?““;?//邮件发送者email地址$mail-》FromName?=?“在线Q聊“;$mail-》AddAddress(“$address“,?“a“);//收件人地址,var$check=;//您的email帐号名称var$username=““;//您的email密码var$password=““;//此email必需是发信服务器上的emailvar$s_from=““;/**功能:发信初始化设置*$from你的发信服务器上的邮箱*$password你的邮箱密码*$smtp您的SMTP服务器供应商,本文目录PHP使用邮箱发送邮件(phpmailer/phpmailer如何使用PHP通过SMTP发送电子邮件php如何发送邮件PHP使用邮箱发送邮件(phpmailer/phpmailer本文以QQ邮箱为案例.配置QQ邮箱,获取SMTP密码.开启PHP模块(php.iniPHPMailer需要PHP的sockets扩展支持,可以是域名或IP地址var$smtp=““;//SMTP需要要身份验证设值为不需要身份验证值为,《?phpset_time_limit();/**邮件发送类*/classsmail{//您的SMTP服务器供应商,现在大多数的SMTP服务商都要验证*/functionsmail($from,$password,$smtp,$check=){if(preg_match(“/^{,}/“,$from)){$this-》username=substr($from,,strpos($from,““));$this-》password=$password;$this-》smtp=$smtp?$smtp:$this-》smtp;$this-》check=$check;$this-》s_from=$from;}}/**功能:发送邮件*$to目标邮箱*$from来源邮箱*$subject邮件标题*$message邮件内容*/functionsend($to,$from,$subject,$message){//连接服务器$fp=fsockopen($this-》smtp,,$errno,$errstr,);if(!$fp)return“联接服务器失败“.__LINE__;set_socket_blocking($fp,true);$lastmessage=fgets($fp,);if(substr($lastmessage,,)!=)return“错误信息:$lastmessage“.__LINE__;//HELO$yourname=“YOURNAME“;if($this-》check==““)$lastact=“EHLO“.$yourname.“

  ⑶“;else$lastact=“HELO“.$yourname.“

  ⑷“;fputs($fp,$lastact);$lastmessage==fgets($fp,);if(substr($lastmessage,,)!=)return“错误信息:$lastmessage“.__LINE__;while(true){$lastmessage=fgets($fp,);if((substr($lastmessage,,)!=“-“)or(empty($lastmessage)))break;}//身份验证if($this-》check==““){//验证开始$lastact=“AUTHLOGIN“.“

  ⑸“;fputs($fp,$lastact);$lastmessage=fgets($fp,);if(substr($lastmessage,,)!=)return“错误信息:$lastmessage“.__LINE__;//用户姓名$lastact=base_encode($this-》username).“

  ⑹“;fputs($fp,$lastact);$lastmessage=fgets($fp,);if(substr($lastmessage,,)!=)return“错误信息:$lastmessage“.__LINE__;//用户密码$lastact=base_encode($this-》password).“

  ⑺“;fputs($fp,$lastact);$lastmessage=fgets($fp,);if(substr($lastmessage,,)!=““)return“错误信息:$lastmessage“.__LINE__;}//FROM:$lastact=“MAILFROM:《“.$this-》s_from.“》

  ⑻“;fputs($fp,$lastact);$lastmessage=fgets($fp,);if(substr($lastmessage,,)!=)return“错误信息:$lastmessage“.__LINE__;//TO:$lastact=“RCPTTO:《“.$to.“》

  ⑼“;fputs($fp,$lastact);$lastmessage=fgets($fp,);if(substr($lastmessage,,)!=)return“错误信息:$lastmessage“.__LINE__;//DATA$lastact=“DATA

  ⑽“;fputs($fp,$lastact);$lastmessage=fgets($fp,);if(substr($lastmessage,,)!=)return“错误信息:$lastmessage“.__LINE__;//处理Subject头$head=“Subject:$subject

  ⑾“;$message=$head.“

  ⑿“.$message;//处理From头$head=“From:$from

  ⒀“;$message=$head.$message;//处理To头$head=“To:$to

  ⒁“;$message=$head.$message;//加上结束串$message.=“

  ⒂“;//发送信息fputs($fp,$message);$lastact=“QUIT

  ⒃“;fputs($fp,$lastace);fclose($fp);return;}}//发送示例//只需要把这部分改成你的信息就行$sm=newsmail(“用户名“,“密码“,“发件smtp服务器“);$end=$sm-》send(“收件人“,“发件人(可以伪造哦)“,“标题“,“内容“);if($end)echo$end;elseecho“发送成功,可以是域名或IP地址*$checkSMTP需要要身份验证设值为不需要身份验证值为,.poser安装最新版发送邮件类库poserrequirephpmailer/phpmailer:..TP.类库封装如何使用PHP通过SMTP发送电子邮件使用PHP类可以实现。

  ⒄PHP使用邮箱发送邮件(phpmailer/phpmailer

  ⒅本文以QQ邮箱为案例.配置QQ邮箱,获取SMTP密码.开启PHP模块(php.iniPHPMailer需要PHP的sockets扩展支持,而登录QQ邮箱SMTP服务器则必须通过SSL加密,故PHP还得包含openssl的支持。.poser安装最新版发送邮件类库poserrequirephpmailer/phpmailer:..TP.类库封装

  ⒆如何使用PHP通过SMTP发送电子邮件

  ⒇使用PHP类可以实现,例如:phpmailer,下面是示例代码

  ⒈require(“class.phpmailer.php“);?//这个是一个smtp的php文档,网上可以下载得到$mail?=?new?PHPMailer();?//建立邮件发送类$mail-》CharSet?=?“UTF-“;$address?=““;$mail-》IsSMTP();?//?使用SMTP方式发送$mail-》Host?=?“smtp..“;?//?您的企业邮局域名$mail-》SMTPAuth?=?true;?//?启用SMTP验证功能$mail-》Username?=?““;?//?邮局用户名(请填写完整的email地址)$mail-》Password?=?““;?//?邮局密码$mail-》Port=;$mail-》From?=?““;?//邮件发送者email地址$mail-》FromName?=?“在线Q聊“;$mail-》AddAddress(“$address“,?“a“);//收件人地址,可以替换成任何想要接收邮件的email信箱,格式是AddAddress(“收件人email“,“收件人姓名“)//$mail-》AddReplyTo(““,?““);//$mail-》AddAttachment(“/var/tmp/file.tar.gz“);?//?添加附件$mail-》IsHTML(true);?//?set?email?format?to?HTML?//是否使用HTML格式$mail-》Subject?=?“在线Q聊“;?//邮件标题$mail-》Body?=?“在线Q聊网站欢迎访问“;?//邮件内容,上面设置HTML,则可以是HTMLif(!$mail-》Send()){????echo?“邮件发送失败.?《p》“;????echo?“错误原因:?“?.?$mail-》ErrorInfo;????exit;}

  ⒉你好,用这个邮件类,需要在调用时,填写一个smtp服务器和你的用户名密码。《?phpset_time_limit();/**邮件发送类*/classsmail{//您的SMTP服务器供应商,可以是域名或IP地址var$smtp=““;//SMTP需要要身份验证设值为不需要身份验证值为,现在大多数的SMTP服务商都要验证,如不清楚请与你的smtp服务商联系。var$check=;//您的email帐号名称var$username=““;//您的email密码var$password=““;//此email必需是发信服务器上的emailvar$s_from=““;/**功能:发信初始化设置*$from你的发信服务器上的邮箱*$password你的邮箱密码*$smtp您的SMTP服务器供应商,可以是域名或IP地址*$checkSMTP需要要身份验证设值为不需要身份验证值为,现在大多数的SMTP服务商都要验证*/functionsmail($from,$password,$smtp,$check=){if(preg_match(“/^{,}/“,$from)){$this-》username=substr($from,,strpos($from,““));$this-》password=$password;$this-》smtp=$smtp?$smtp:$this-》smtp;$this-》check=$check;$this-》s_from=$from;}}/**功能:发送邮件*$to目标邮箱*$from来源邮箱*$subject邮件标题*$message邮件内容*/functionsend($to,$from,$subject,$message){//连接服务器$fp=fsockopen($this-》smtp,,$errno,$errstr,);if(!$fp)return“联接服务器失败“.__LINE__;set_socket_blocking($fp,true);$lastmessage=fgets($fp,);if(substr($lastmessage,,)!=)return“错误信息:$lastmessage“.__LINE__;//HELO$yourname=“YOURNAME“;if($this-》check==““)$lastact=“EHLO“.$yourname.“

  ⒊“;else$lastact=“HELO“.$yourname.“

  ⒋“;fputs($fp,$lastact);$lastmessage==fgets($fp,);if(substr($lastmessage,,)!=)return“错误信息:$lastmessage“.__LINE__;while(true){$lastmessage=fgets($fp,);if((substr($lastmessage,,)!=“-“)or(empty($lastmessage)))break;}//身份验证if($this-》check==““){//验证开始$lastact=“AUTHLOGIN“.“

  ⒌“;fputs($fp,$lastact);$lastmessage=fgets($fp,);if(substr($lastmessage,,)!=)return“错误信息:$lastmessage“.__LINE__;//用户姓名$lastact=base_encode($this-》username).“

  ⒍“;fputs($fp,$lastact);$lastmessage=fgets($fp,);if(substr($lastmessage,,)!=)return“错误信息:$lastmessage“.__LINE__;//用户密码$lastact=base_encode($this-》password).“

  ⒎“;fputs($fp,$lastact);$lastmessage=fgets($fp,);if(substr($lastmessage,,)!=““)return“错误信息:$lastmessage“.__LINE__;}//FROM:$lastact=“MAILFROM:《“.$this-》s_from.“》

  ⒏“;fputs($fp,$lastact);$lastmessage=fgets($fp,);if(substr($lastmessage,,)!=)return“错误信息:$lastmessage“.__LINE__;//TO:$lastact=“RCPTTO:《“.$to.“》

  ⒐“;fputs($fp,$lastact);$lastmessage=fgets($fp,);if(substr($lastmessage,,)!=)return“错误信息:$lastmessage“.__LINE__;//DATA$lastact=“DATA

  ⒑“;fputs($fp,$lastact);$lastmessage=fgets($fp,);if(substr($lastmessage,,)!=)return“错误信息:$lastmessage“.__LINE__;//处理Subject头$head=“Subject:$subject

  ⒒“;$message=$head.“

  ⒓“.$message;//处理From头$head=“From:$from

  ⒔“;$message=$head.$message;//处理To头$head=“To:$to

  ⒕“;$message=$head.$message;//加上结束串$message.=“

  ⒖“;//发送信息fputs($fp,$message);$lastact=“QUIT

  ⒗“;fputs($fp,$lastace);fclose($fp);return;}}//发送示例//只需要把这部分改成你的信息就行$sm=newsmail(“用户名“,“密码“,“发件smtp服务器“);$end=$sm-》send(“收件人“,“发件人(可以伪造哦)“,“标题“,“内容“);if($end)echo$end;elseecho“发送成功!$x“;?》

您可能感兴趣的文章:

相关文章