服务热线 400-660-8066

石家庄网站建设
首页 站内资讯

石家庄网站建设

站内资讯
石家庄网站建设 / 站内资讯 / 产品资讯 / 正文

网站制作之PHP发送系统邮件

来源: All文章
发布时间:2023-06-14 09:31:19

  利用邮件服务商的IMAP/TP服务,这里我们用163邮箱在说明一下,实现发送邮件功能的流程

  1.登入163邮箱在设置里开启IMAP/TP服务

  2.在客户端授权密码设置授权密码(需要手机验证),POP3/IMAP/TP/Exchange/CardD/CalD服务。

  3.确认php.ini中;extension=php_openssl.dll是否开启,没有则添加extension=php_openssl.dll。

  4.选择php自带函数mail()或者PHPMaile第三方的类进行发送邮件,下面介绍第一种自带mail()

  一:

  /*需要添加一个发送邮件的代理在config配置文件中*/

  'MAIL_ADDRESS'='****@16

  3.com',//初始化邮箱地址

  'MAIL_TP'='smtp.16

  3.com',//初始化邮箱TP服务器

  'MAIL_LOGINNAME'='****@16

  3.com',//初始化邮箱登录帐号

  'MAIL_PASSWORD'='****',//初始化邮箱密码

  'MAIL_CHARSET'='UTF-8',//编码

  'MAIL_AUTH'=true,//邮箱认证

  'MAIL_HTML'=true,//trueHTML格式falseTXT格式

  /*以下是控制器中的使用*/

  import('Org.Util.Mail');//导入邮件类

  $sendTitle=邮件标题;//邮件标题

  $sendData=邮件内容,可以使用html代码;//发送内容

  $toMail=xxxxx@16

  3.com;//收件人

  $theme=留言反馈邮件;//邮件主题

  SendMail($toMail,$sendTitle,$sendData,$theme);

  二、

  *phpemail邮件发送服务类,下载的phpmail把src时的文件放入指定文件夹,同时修改去除PHPMailer.php和TP.php时的命名空间即可

  *库下载地址:https://github.com/PHPMailer/PHPMailer

  这是封装的一个类

  classSendemailService{

  function__construct(){

  $config=array(

  'MAIL_CHARSET'='UTF-8',

  'MAIL_TPAUTH'=true,//是否使用身份验证

  'MAIL_ISHTML'=true,//是否使用html

  'MAIL_USERNAME'='',//发件地址

  'MAIL_TPHOST'='',//smtp地址

  'MAIL_PASSWORD'='',//发件地址密码

  'MAIL_TPSECURE'='',//使用ssl协议方式,ssl协议方式端口号是465/994

  'MAIL_PORT'='25',//端口

  'MAIL_GET_ADDRESS'='',//默认单一收件箱

  );

  $this-mailconfig=$config;

  }

  /**

  *发送邮件

  *@param$get_email

  *@param$dataarray('title'='','detail'='')

  *@returnbool

  */

  publicfunctionsendEmail($data,$get_email=''){

  vendor('PHPMailer.PHPMailer');

  vendor('PHPMailer.TP');

  $mail=new\PHPMailer();

  $mail=$this-setBaseConfig($mail,$data,$get_email);

  if(!$mail-send()){

  returnMailerError:.$mail-ErrorInfo;//返回错误信息

  }else{

  return0;//为0表示发送成功

  }

  }

  /**

  *邮件基本设置

  *@param$mail

  *@param$data

  *@paramstring$get_email

  *@returnmixed

  */

  publicfunctionsetBaseConfig($mail,$data,$get_email=''){

  $config=$this-mailconfig;

  $get_email=$get_email?$get_email:$config['MAIL_GET_ADDRESS'];

  $mail-isTP();//使用TP服务

  $mail-CharSet=utf8;//编码格式为utf8,不设置编码的话,中文会出现乱码

  $mail-Host=$config['MAIL_TPHOST'];//发送方的TP服务器地址

  $mail-TPAuth=$config['MAIL_TPAUTH'];//是否使用身份验证

  $mail-Username=$config['MAIL_USERNAME'];//发送方的163邮箱用户名

  $mail-Password=$config['MAIL_PASSWORD'];//发送方的邮箱密码,注意用163邮箱这里填写的是客户端授权密码而不是邮箱的登录密码!

  $mail-TPSecure=$config['MAIL_TPSECURE'];//使用ssl协议方式

  $mail-Port=$config['MAIL_PORT'];//163邮箱的ssl协议方式端口号是465/994

  $mail-IsHTML($config['MAIL_ISHTML']);//支持html格式内容

  $mail-setFrom($config['MAIL_USERNAME'],'');//设置发件人信息,如邮件格式说明中的发件人,这里会显示为Mailer(xxxx@16

  3.com),Mailer是当做名字显示

  $mail-addAddress($get_email,'');//设置收件人信息,如邮件格式说明中的收件人,这里会显示为Liang(yyyy@16

  3.com)

  //$mail-addReplyTo(,王);//设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址

  //$mail-addCC(920348356@qq.com);//设置邮件抄送人,可以只写地址,上述的设置也可以只写地址

  //$mail-addBCC();//设置秘密抄送人

  //$mail-addAttachment(bug0.jpg);//添加附件

  $mail-Subject=$data['title'];//邮件标题

  $mail-Body=$data['detail'];//邮件正文

  //$mail-AltBody=Thisistheplaintext纯文本;//这个是设置纯文本方式显示的正文内容,如果不支持Html方式,就会用到这个,基本无用

  return$mail;

  }

  }

  调用方法

  $mail=new\Fwadmin\Service\SendemailService();

  $send['title']=$title;

  $send['detail']=$content;

  $flag=$mail-sendEmail($send,$email);

* 文章来源于网络,如有侵权,请联系客服删除处理。
在线 咨询

添加动力小姐姐微信

微信 咨询

电话咨询

400-660-8066

我们联系您

电话 咨询
微信扫码关注动力小姐姐 X
qr