示例分析PHPMailer用PHP发送电子邮件
下面以QQ邮箱为例,按照这四个方面介绍一下PHPMaIiler的使用方法:
PHPMailer介绍第一步:启用QQ邮箱发送邮件第二步:启用PHP使用QQ邮箱发送邮件第三步:编写发送邮件代码ThinkPHP使用PHPMailer发送邮件
PHPMailer简介
可以在任何平台上运行;支持SMTP身份验证;发送邮件时指定多个收件人、抄送地址、暗送地址和回复地址;注意:添加CC和秘密发送只有win平台下的smtp支持。支持多种邮件代码,包括8位、base64、二进制和可引用打印;自定义邮件头信息,类似于php中通过header函数发送邮件头信息。它支持将邮件正文制作成HTMl内容,这样就可以在邮件正文中插入图片;经过测试和兼容的SMTP服务器包括sendmail、qmail、postfix、imail、exchange等。
第一步:启用QQ邮箱发送邮件
我们的电子邮件本来可以发送电子邮件,但是如果我们想在我们的网站上发送电子邮件,我们需要设置我们的QQ电子邮件,因为我们的网站现在作为第三方客户端存在,所以我们需要SMTP服务器来发送电子邮件。在这里,我们建议打开前两项!
进入QQ邮箱-点击设置-点击账号
当您单击“打开”时,它会提示:
当你完成以上步骤后,你会得到一个授权码,你可以先复制,我们以后再用(如果你打开两个项目,你会得到两个授权码,必须是最新的!)。
第二步:启用PHP使用QQ邮箱发送邮件
PHPMailer需要PHP的socket扩展支持,而PHPMailer在链接qq域名邮箱时需要ssl加密,也需要PHP的openssl扩展支持。您可以使用phpinfo来检查是否打开扩展。
如果没有,去PHP安装目录,找到php.ini打开两个扩展支持。
第三步:写发送邮件代码
Index.html法典如下:
!doctype html html lang=' en ' head meta charset=' UTF-8 ' title document/title/head dyform action='。/Index.php '方法='post '邮箱:输入类型=' text' id=' mail '名称=' mail '/标题:输入类型=' text' id=' title '名称=' title '/Content input type=' text ' id=' Content '名称=' content'/inputtype=' submit '值=' send '/form/body/html
封装一个公共方法(写在functions.php文件中):
/* * * send mail方法* @ param $ to:receiver $title:title $ content:mail content * @ return bool true :发送成功false:发送失败*/函数sendmail ($ to,$ title,$ content){ require _ once(' phpmailer/class . phpmailer . require _ once(' phpmailer/class . SMTP . PHP ');//实例化PHPMailer核心类$ mail=new PHPMailer();//通过SMTP身份验证发送邮件$ mail-isSMTP();//smtp需要身份验证。这必须为true $ mail-SMTPAuth=true;//链接qq域邮箱$mail的服务器地址-Host=' SMTP . QQ.com ';//通过ssl加密设置登录身份验证$ mail-SMTPSecure=' SSL ';//为到smtp服务器的ssl连接设置远程服务器端口号。以前的默认值是25,但现在新的似乎不可用。您可以选择465或587美元的邮件-端口=465;//设置发件人的主机域是否可用。默认值为localhost。建议使用您的域名$ mail-hostname=' http://www . lsgogroup.com ';//设置发送邮件的编码。GB2312是可选的。我喜欢utf-8。据说有些客户端收到邮件时utf8会乱码。$ mail-CharSet=' UTF-8 ';//设置发件人姓名(昵称),在收件人邮件的发件人电子邮件地址前显示发件人姓名$mail-FromName='发件人姓名(昵称)';//smtp登录的账号可以用字符串格式的qq号填充$ mail-username='[email protected]';//smtp登录的密码使用生成的授权码(只是刚才保存的最新授权码)$mail-Password='最新授权码';//设置发件人的电子邮件地址。填写上述“发件人电子邮件地址”$ mail-From='[email protected]';//消息体是否为html编码。请注意,这里有一个不再是属性true或false $mail-isHTML(true)的方法。//设置收件人的电子邮件地址。这个方法有两个参数。第一个参数是收件人的电子邮件地址。第二个参数是地址的昵称集。邮箱系统将自动处理更改。这里的第二个参数意义不大。$ mail-addaddaddress($ to,'亲爱的客户');//如果添加多个收件人,可以多次调用方法。//$ mail-addaddaddress(“[电子邮件保护]”、“尊敬的客户”);//添加此电子邮件的主题$ mail-Subject=$ title;//如果在添加邮件正文上方将ishtml设置为true,则可以是一个完整的html字符串$ mail-Body=$ content;$ status=$ mail-send();//判断并提示信息if($ status){ return true;} else { return false}}
Index.php法典如下:
?phprequire_once('。/functions . PHP ');$ to=$ _ POST[' mail '];$ title=$ _ POST[' title '];$ content=$ _ POST[' content '];$flag=sendMail($to,$title,$ content);If($flag){ echo '邮件发送成功!}else{ echo '发送邮件失败!}?
如果您使用qq公司电子邮件,链接QQ域电子邮件的服务器地址和smtp登录密码是不同的:
//链接qq域邮箱$mail的服务器地址-Host=' SMTP . exmail . QQ.com ';//smtp登录密码(QQ企业邮箱的登录密码)$mail-Password='登录密码';
ThinkPHP使用PHPMailer发送邮件
将PHPMailer解压到ThinkPHPLibraryVendor
在“常用”文件夹中创建新的function.php
/** * 邮件发送函数* @param $to:接收者$标题:标题$内容:邮件内容* @返回bool true:发送成功脚手架:发送失败*/函数sendMail($to,$title,$content) { Vendor('PHPMailer .phpmailrautLoad’);供应商(' PhpMailler。上课。SMTP ');$ mail=new PHPMailer();//实例化$ mail-IsSMTP();//启用SMTP $ MAIL-Host=C(' MAIL _ Host ');//smtp服务器的名称$ MAIL-SMTPSecure=C(' MAIL _ SECURE ');$ MAIL-Port=C(' MAIL _ Port ');$ MAIL-SMTPAuth=C(' MAIL _ SMTPAuth ');//启用简单邮件传输协议认证$ MAIL-Username=C(' MAIL _ Username ');//你的邮箱名$ MAIL-Password=C(' MAIL _ Password ');//邮箱密码$ MAIL-From=C(' MAIL _ From ');//发件人地址(也就是你的邮箱地址)$ MAIL-from name=C(' MAIL _ from name ');//发件人姓名$mail-AddAddress($to ',尊敬的客户');$ mail-Worwrap=50;//设置每行字符长度$ MAIL-IshTMl(C(' MAIL _ IshTMl ');//是否超文本标记语言格式邮件$ MaIl-CharSet=C(' MaIl _ CharSet ');//设置邮件编码$ mail-Subject=$ title;//邮件主题$ mail-Body=$ content;//邮件内容$mail-AltBody='您好;//邮件正文不支持超文本标记语言的备用显示退货($ mail-Send());}
添加配置文件config.php
//配置邮件发送服务器MAIL_HOST'='smtp.qq.com ',//smtp服务器的名称MAIL_SMTPAUTH'=true,//启用简单邮件传输协议认证MAIL _ USERNAME '='[电子邮件保护]',//你的邮箱名MAIL_FROM'='[emailprotected]',//发件人地址MAIL _ FROMNAME '='[电子邮件保护]',//发件人姓名MAIL_PASSWORD'='
版权声明:示例分析PHPMailer用PHP发送电子邮件是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。