PHP实现发送邮件(附代码)

  • Post author:
  • Post category:php


发送邮寄功能的实现用到了PHP中的phpmailer函数包,它支持openssl和sockets。


下载地址

下载后找到class.phpmailer.php、class.smtp.php这两个文件,和你的代码放在一个目录。要实现发送邮件的功能,你还得去客户端配置你的邮箱服务,以QQ邮箱为例,找到设置–>账户,开启POP3/SMTP服务。

以上就是主要的准备工作。

下面就需要自己写好HTML文件以及获取前端信息的PHP文件。

PHP文件如下:

<?php
  function sendmail($to,$title,$content){
    //引入PHPmailer的核心文件,使用require_once包含避免出现PHPmailer类重复定义的警告
    require_once("class.phpmailer.php");
    require_once("class.smtp.php");
    //实例化PHPMailer核心类
    $mail=new PHPMailer();
    //启用smtp的debug进行调试
    $mail->SMTPDebug=1;
    //使用smtp鉴权方式发送邮件
    $mail->isSMTP();
    //SMTP需要鉴权,这个必须是true
    $mail->SMTPAuth=true;
    //链接QQ域名邮箱的服务器地址
    $mail->Host='smtp.qq.com';
    //设置使用ssl加密方式登录鉴权
    $mail->SMTPSecure='ssl';
    //设置ssl连接smtp服务器的远程服务器端口号
    $mail->Port=465;
    //设置发件人的主机域,可有可无 默认为localhost
    $mail->Hostname='';
    //设置发送的邮件的编码
    $mail->CharSet='UTF-8';
    //设置发件人的姓名 显示为发件人
    $mail->FromName=$title;
    //smtp登陆的账号
    $mail->Username='498443836@qq.com';
    //密码  使用生成的授权码
    $mail->Password='ixrwqxknssidbgcd';
    //设置发件人的邮箱地址
    $mail->From='498443836@qq.com';
    //邮件正文是否为HTML编码 此处是一个方法 不再是属性
    $mail->isHTML(true);
    $mail->addAddress($to,$title);
    $mail->Subject=$title;
    $mail->Body=$content;
    $status=$mail->send();

    //判断与提示信息
    if($status){
      return true;
    }else{
      return false;
    }

  }
  //获取前端提交的内容
  $title=$_POST['name'];
  $content=$_POST['message'];
  $to=$_POST['email'];
  $flag=sendmail($to,$title,$content);
  if ($flag) {
    echo "<script language=\"JavaScript\">alert(\"发送成功!\");</script>";
    
  }else{
    echo "发送失败!";
  }
?>

这是我设计的前端页面

这是我设计的前端页面

邮件发送前

在这里插入图片描述

成功发送

在这里插入图片描述

需要源码的小伙伴可以投币自取哦!



版权声明:本文为weixin_44918193原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。