• 使用PHPmailer发送邮件的详细代码


    一、使用PHPMailer发送邮件的原因

    PHP有内置的mail()方法,但是由于一些主机空间不支持该方法,所以经常会遇到无法发送邮件的情况。

    所以,可以下载PHPMailer类,实现邮件发送。

    二、发送邮件的具体步骤

    1、先保证发件人的邮箱开启了SMTP服务。

    在这里设置,截图如下:

    设置好了就接着往下看,

    2、下载的PHPMailer中,拷贝class.phpmailer.php和class.smtp.php到项目目录下

    sendmail.php

    <?php
      /**
       *  2014-08-25
       *  描述:PHP邮件发送
       *  使用PHPMailer类
       *  发送附件,多人发送
       *  发送附件
       *  发送附件的时候,鉴于本地网络和服务器的速度,如不能正常上传,修改php配置文件中的memory_limit限制
       *  其他可能的限制post_max_size  upload_max_filesize
       *  也可能要将max_execution_time修改
       *  请使用前确认发送邮件的邮箱帐号开启了SMTP
       */ 
    
         set_time_limit(0);                          //如果上传附件卡,将脚本执行限制时间修改为0
         require './class.phpmailer.php';
         require './class.smtp.php';
          date_default_timezone_set("Asia/Shanghai");//设定时区东八区
         $mail=new PHPMailer();                      //建立邮件发送类
         $mail->IsSMTP();                            //使用SMTP形式发送
         $mail->CharSet='utf-8';                     //编码
         $mail->SMTPDebug  = 1;                      // 启用SMTP调试功能
                                                     // 1 = errors and messages
                                                     // 2 = messages only
         
         $mail->SMTPAuth = true;                     // 启用SMTP验证功能
         $mail->Host='smtp.qq.com';                  //qq smtp 服务器,发送邮箱帐号公司的SMTP服务器
         $mail->Port=25;                  // SMTP服务器的端口号
                                  
         $mail->Username='1107989194@qq.com';        //这里填写发件邮箱账号
         $mail->Password='********';                 //这里填写发件邮箱的密码
    
         $mail->AddAddress('357966443@qq.com','bO莱特2');
         //$mail->AddAddress('1107989194@qq.com','风沙渡'); #多人发送
         $mail->IsHTML();
        //$a=$mail->AddAttachment('D:wampwwwuser.sql','z.zip');//附件的绝对位置,上传后附件的名称
         $mail->Subject='发送自PHPMailer的邮箱';
    
         $mail->From='1107989194@qq.com';             //发送人的姓名  地址
         $mail->FromName='风沙渡';
    
         $mail->Body='测试一下4';
         $mail->AltBody='附加信息'; 
        
         if(!$mail->send()){
           echo '邮件发送失败'.'</br>';
           echo '错误原因'.$mail->ErrorInfo;
         }else{
            echo '邮件发送成功';
            
         }    
    ?>

    这样就ok了,可以测试。

    如果出现了下面这图的问题,那就是没有设置发件邮箱开启SMTP服务。设置一下即可

  • 相关阅读:
    IntelliJ IDEA下自动生成Hibernate映射文件以及实体类
    java 调用本地应用程序 Java打开(.word,.txt,.pdf)文件
    使用GooSeeker爬取数据
    pycharm、idea 2018软件安装教程
    GUI JFrame窗体介绍:
    KindEditor的参考文献
    Python自动化开发学习20-Django的form组件
    Navicat安装教程、建表教程
    import与from...import...的区别
    动态添加,删除和保存
  • 原文地址:https://www.cnblogs.com/wuyinghong/p/3935763.html
Copyright © 2020-2023  润新知