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.com4 $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端口需要修改加密方式为:tls8
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 <?php2 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 = '邮件测试内容 hello.';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 ?>