• mantisbt2.22.1 中使用自带的phpmailer发送邮件(实测可用)


    mantis最新版本安装无难度,直接集成LAMP环境,解压放到web目录下运行,按界面显示一步步操作。

    1.前提默认已安装好mantis,自带phpmailer的路径为:mantisbt2/vendor/phpmailer/phpmailer (这里不用管该目录下的内容,不需要做任何修改,只是说明下路径)。

    2.只需要修改mantis目录config/config_inc.php文件即可(若当前目录没有,手动touch创建一个)

     1 # --- Email Configuration ---
     2 $g_phpMailer_method             = PHPMAILER_METHOD_SMTP; #使用SMTP传送协议
     3 $g_smtp_host                    = 'smtp.163.com';#我使用的163邮箱,若使用QQ的就直接修改为:smtp.qq.com
     4 $g_smtp_port                    = 994;  #994是163免费邮箱的端口号,若使用QQ的 需要修改为:587
     5 $g_smtp_username                = 'testtestets';#邮箱地址前缀,就是 @ 前边的
     6 $g_smtp_password                = 'xxxxfabadfsadfmhea1';#第三方登录时申请的邮箱授权码,不是自己注册的明文密码。需要登录官方webmail地址,一般在首页的 设置→帐户→POP3/SMTP 申请开启服务,按要求操作会返回一个 授权码(就是左边用的密码)
     7 $g_smtp_connection_mode         = 'ssl';#163的994端口使用ssl加密,若使用QQ的587端口需要修改加密方式为:tls
     8 
     9 $g_enable_email_notification    = ON;#开启邮件通知
    10 $g_send_reset_password          = ON;#开启通过邮件重设密码
    11 $g_lost_password_feature        = ON;#开启密码丢失找回,首页那个“忘记密码”
    12 $g_max_lost_password_in_progress_count = 3;#忘记密码可找回的最大次数,超过则锁定帐号
    13 
    14 $g_webmaster_email              = 'testtest@163.com';#应该是左下角那个联系管理员,显示的邮箱地址
    15 $g_from_email                   = 'testest@163.com'; #From处显示发件人地址
    16 $g_return_path_email = 'testest@163.com'; #邮件发送失败的退回地址
    17 $g_from_name = 'Bug Tracker'; #发件人昵称

    3.以上所有的配置信息,其实在目录 mantis/config_defaults_inc.php 里均有,建议直接复制到上边的config_inc.php单独修改配置

    4.发送邮件失败可能遇到的问题(无论是linux或win端):需要查看对应的端口是否被占用或被防火墙阻止:

    a.我使用的Centos7.5,放行端口:firewall-cmd --permanent --zone=public --add-port=994/tcp,重载生效:firewall-cmd --reload

    b.保证php启用了OPENSSL,使用phpinfo() 查看运行结果即可:

    5.实在不行,就使用php发送邮件直接测试查看错误,

    a.首先打开php的调试模式,修改..../etc/php.ini中的display_errors = On,调试完记得关闭;

    b.添加如下代码,保存为sendmail.php文件,执行php sendmail.php 若有问题依据结果排查即可

     1 <?php
     2 use phpmailerphpmailerPHPMailer;
     3 use phpmailerphpmailerException;
     4 //引入项目
     5 require './phpmailer/src/Exception.php';
     6 require './phpmailer/src/PHPMailer.php';
     7 require './phpmailer/src/SMTP.php';
     8 
     9 //实例化PHPMail类
    10 $mail = new PHPMailer(true);
    11 try {
    12     //Server settings
    13     $mail->SMTPDebug = 2;
    14     $mail->isSMTP(); 
    15     $mail->Host = 'smtp.163.com';
    16     $mail->SMTPAuth = true;
    17     $mail->Username = 'testtest@163.com';
    18     $mail->Password = '13123123qtxxxxxmhea1';#跟上边一样的授权码
    19 
    20     $mail->SMTPSecure = 'ssl';
    21     $mail->Port = 994;
    22     $mail->CharSet='UTF-8';
    23 
    24     //发件人
    25     $mail->setFrom('testtest@163.com', 'Mailer');
    26 
    27     //收件人。多收件人可设置多个addAddress
    28     $mail->addAddress('123456789@qq.com', 'nickname');//收件人邮箱地址,收件人姓名(选填)
    29 
    30 
    31     //发送附件
    32     #$mail->addAttachment('/var/tmp/file.tar.gz'); // 添加附件
    33     #$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // 设置附件以及附件名称
    34 
    35     //邮件内容
    36     $mail->isHTML(true); // 发送html格式邮件
    37     $mail->Subject = '标题'; //邮件标题
    38     $mail->Body    = '邮件测试内容 <b>hello.</b>';
    39 
    40     $mail->send();
    41     echo 'Message has been sent';
    42 } catch (Exception $e) {
    43     echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
    44 }
    45 ?>
     
  • 相关阅读:
    traceroute原理
    IP转发和子网路由
    Dijkstra算法
    String源码学习
    多线程的参数传递
    hbase参数配置优化
    hadoop 点点滴滴(一)
    Win8安装教程!笔记本用U盘安装Win8只需三步
    CentOS 6.4下编译安装MySQL 5.6.14
    Nginx配置文件说明
  • 原文地址:https://www.cnblogs.com/sc912/p/11864683.html
Copyright © 2020-2023  润新知