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 phpmailer\phpmailer\PHPMailer; 3 use phpmailer\phpmailer\Exception; 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 ?>