mantisbt2.22.1 中使用自带的phpmailer发送邮件(实测可用)
mantis最新版本安装无难度,直接集成LAMP环境,解压放到web目录下运行,按界面显示一步步操作。
1.前提默认已安装好mantis,自带phpmailer的路径为:mantisbt2/vendor/phpmailer/phpmailer (这里不用管该目录下的内容,不需要做任何修改,只是说明下路径)。
2.只需要修改mantis目录config/config_inc.php文件即可(若当前目录没有,手动touch创建一个)
# --- Email Configuration ---
$g_phpMailer_method = PHPMAILER_METHOD_SMTP; #使用SMTP传送协议
$g_smtp_host = 'smtp.163.com';#我使用的163邮箱,若使用QQ的就直接修改为:smtp.qq.com
$g_smtp_port = ; #994是163免费邮箱的端口号,若使用QQ的 需要修改为:
$g_smtp_username = 'testtestets';#邮箱地址前缀,就是 @ 前边的
$g_smtp_password = 'xxxxfabadfsadfmhea1';#第三方登录时申请的邮箱授权码,不是自己注册的明文密码。需要登录官方webmail地址,一般在首页的 设置→帐户→POP3/SMTP 申请开启服务,按要求操作会返回一个 授权码(就是左边用的密码)
$g_smtp_connection_mode = 'ssl';#163的994端口使用ssl加密,若使用QQ的587端口需要修改加密方式为:tls $g_enable_email_notification = ON;#开启邮件通知
$g_send_reset_password = ON;#开启通过邮件重设密码
$g_lost_password_feature = ON;#开启密码丢失找回,首页那个“忘记密码”
$g_max_lost_password_in_progress_count = ;#忘记密码可找回的最大次数,超过则锁定帐号 $g_webmaster_email = 'testtest@163.com';#应该是左下角那个联系管理员,显示的邮箱地址
$g_from_email = 'testest@163.com'; #From处显示发件人地址
$g_return_path_email = 'testest@163.com'; #邮件发送失败的退回地址
$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 若有问题依据结果排查即可
<?php
use phpmailer\phpmailer\PHPMailer;
use phpmailer\phpmailer\Exception;
//引入项目
require './phpmailer/src/Exception.php';
require './phpmailer/src/PHPMailer.php';
require './phpmailer/src/SMTP.php'; //实例化PHPMail类
$mail = new PHPMailer(true);
try {
//Server settings
$mail->SMTPDebug = ;
$mail->isSMTP();
$mail->Host = 'smtp.163.com';
$mail->SMTPAuth = true;
$mail->Username = 'testtest@163.com';
$mail->Password = '13123123qtxxxxxmhea1';#跟上边一样的授权码 $mail->SMTPSecure = 'ssl';
$mail->Port = ;
$mail->CharSet='UTF-8'; //发件人
$mail->setFrom('testtest@163.com', 'Mailer'); //收件人。多收件人可设置多个addAddress
$mail->addAddress('123456789@qq.com', 'nickname');//收件人邮箱地址,收件人姓名(选填) //发送附件
#$mail->addAttachment('/var/tmp/file.tar.gz'); // 添加附件
#$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // 设置附件以及附件名称 //邮件内容
$mail->isHTML(true); // 发送html格式邮件
$mail->Subject = '标题'; //邮件标题
$mail->Body = '邮件测试内容 <b>hello.</b>'; $mail->send();
echo 'Message has been sent';
} catch (Exception $e) {
echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}
45 ?>
mantisbt2.22.1 中使用自带的phpmailer发送邮件(实测可用)的更多相关文章
- android开发中系统自带语音模块的使用
android开发中系统自带语音模块的使用需求:项目中需要添加语音搜索模块,增加用户体验解决过程:在网上搜到语音搜索例子,参考网上代码,加入到了自己的项目,完成产品要求.这个问题很好解决,网上能找到很 ...
- python-django如何在sae中使用自带ImageField和FileField -django-上善若水小站
python-django如何在sae中使用自带ImageField和FileField -django-上善若水小站 python-django如何在sae中使用自带ImageField和FileF ...
- STM32中的位带(bit-band)操作(转)
源:STM32中的位带(bit-band)操作 支持了位带操作后,可以使用普通的加载/存储指令来对单一的比特进行读写.在 CM3 中,有两个区中实现了位带.其中一个是 SRAM 区的最低 1MB 范围 ...
- 在命令行中直接运行带main方法的java
用了很久的java,基本都是交给服务器完成的执行,有page之类的入口,或者是在IDE工具中直接 Run As Java Application. 并且一直对安装java之后配置JAVA_HOME,p ...
- c语言中使用自带的qsort(结构体排序)+ 快排
c中没有自带的sort函数emm 不过有自带的qsort函数 (其实用法都差不多(只是我经常以为c中有sort 头文件要用 #include <stdlib.h> 一定要重新把指针指向的值 ...
- java中如何创建带路径的文件
请教各位大侠了,java中如何创建带路径的文件,说明下 这个路径不存在 ------回答--------- ------其他回答(2分)--------- Java code File f = new ...
- 利用WPF建立自己的3d gis软件(非axhost方式)(十)SDK中一些自带的展示面板应用
原文:利用WPF建立自己的3d gis软件(非axhost方式)(十)SDK中一些自带的展示面板应用 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV ...
- 【剑指offer】面试题 22. 链表中倒数第 K 个节点
面试题 22. 链表中倒数第 K 个节点
- 【Linux开发】OpenCV在ARM-linux上的移植过程遇到的问题4---共享库中嵌套库带路径【已解决】
[Linux开发]OpenCV在ARM-linux上的移植过程遇到的问题4-共享库中嵌套库带路径[已解决] 标签:[Linux开发] 紧接着上一篇,我居然又尝试了一下编译opencv,主要是因为由于交 ...
随机推荐
- 解析.xml并保存结点信息至.txt中
@ 思路 利用java开源库dom4j解析.xml: dom4j操作xml - 读取xml,生成一个document实例: SAXReader reader = new SAXReader(); Do ...
- lua 发送http请求
lua发送http请求,luajit默认没有http.lua库,需要下载并存放到luajit对应目录. 一.下载http.lua和http_headers.lua库 参考:https://www.zi ...
- cookie、session 和 token 区别
1.什么是 cookie cookie 是保存在本地终端的数据.cookie 由服务器生成,发送给浏览器,浏览器把 cookie 以 kv 形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该 ...
- centos下配置LNMP环境(源码安装)
准备工作,安装依赖库 yum -y install gcc automake autoconf libtool make gcc-c++ glibc libxslt-devel libjpeg lib ...
- Nginx入门资料
最近在学习Nginx,记录一下自己的学习历程. 1. Nginx开发从入门到精通 (淘宝技术团队编写,值得一看) 2. <深入理解Nginx:模块开发与架构解析> 3. Nginx模块开发 ...
- Java——SSM整合所需的Maven配置文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...
- Q - Play With Sequence HDU - 3971 线段树 重新排序建树
Q - Play With Sequence HDU - 3971 这个题目是一个线段树,比较特别的线段树,就是c询问一定次数之后重新排序建树来优化减低复杂度. 第一次碰到这种题目有点迷. 这个题目写 ...
- 李婷华 201771010113 《面向对象程序设计(java)》 第二周学习总结
第一部分:理论知识学习部分 第三章 java的基本程序设计结构 本章主要学习数据类型.变量.运算符.类型转换.字符串.输入输出.控制流程.大数值.数组等内容. 1.基本知识 (1)标识符:由字母.下划 ...
- Android(H5)互相调用方法
记录一下前面混合开发时很重要的java与js互调方法进行数据交互. 混合开发就需要webview这个控件了 这就很玄学了,哈哈哈 这篇文章https://www.jianshu.com/p/3d9a9 ...
- Android 8.1 关机充电动画(三)Android模式
system:Android 8.1 platform:RK3326/PX30 uboot kernel system/core/healthd Android 8.1 关机充电动画(一)模式选择 A ...