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,主要是因为由于交 ...
随机推荐
- keras-深度学习处理文本数据
深度学习用于自然语言处理是将模式识别应用于单词.句子和段落,这与计算机视觉是将模式识别应用于像素大致相同.深度学习模型不会接收原始文本作为输入,它只能处理数值张量,因此我们必须将文本向量化(vecto ...
- 内存淘汰机制——LRU与LFU
内存淘汰机制之LRU与LFU LRU(Least Recently Used):淘汰 近期最不会访问的数据 LFU(Least Frequently Used):淘汰 最不经常使用(访问次数少) 所谓 ...
- FMT/FWT学习笔记
目录 FMT/FWT学习笔记 FMT 快速莫比乌斯变换 OR卷积 AND卷积 快速沃尔什变换(FWT/XOR卷积) FMT/FWT学习笔记 FMT/FWT是算法竞赛中求or/and/xor卷积的算法, ...
- Jmeter-接口测试参数化后循环断言不同内容的方法
前言 各位小伙伴在做接口自动化有没遇到过这样的问题,CSV文件参数化测试数据后,只能通过人工的的方法去查看结果,不懂写代码去循环断言返回的结果.今天我们来学习一下,不用写代码,就用响应断言,怎么实现循 ...
- B - Lawrence HDU - 2829 斜率dp dp转移方程不好写
B - Lawrence HDU - 2829 这个题目我觉得很难,难在这个dp方程不会写. 看了网上的题解,看了很久才理解这个dp转移方程 dp[i][j] 表示前面1~j 位并且以 j 结尾分成了 ...
- IDEA 2020.1 安装教程
目录 IDEA 2020.1 安装教程 准备工作 破解教程 IDEA 2020.1 安装教程 IDEA 2020.1 安装教程 Win 10 版 64位操作系统 准备工作 IDEA旗舰版下载地址 je ...
- iOS的内存管理和引用计数规则、Block的用法以及三种形式(stack、malloc、global)
学习内容 iOS的内存管理和引用计数规则 内存管理的思考方式 自己生成的对象自己持有 非自己生成的对象自己也能持有 自己持有的对象不需要时释放 非自己持有的对象不能释放 ARC有效时,id类型和对象类 ...
- c++11 符号修饰与函数签名、函数指针、匿名函数、仿函数、std::function与std::bind
一.符号修饰与函数签名 1.符号修饰 编译器将c++源代码编译成目标文件时,用函数签名的信息对函数名进行改编,形成修饰名.GCC的C++符号修饰方法如下: 1)所有符号都以_z开头 2)名字空间的名字 ...
- Spring方法注入的使用与实现原理
一.前言 这几天为了更详细地了解Spring,我开始阅读Spring的官方文档.说实话,之前很少阅读官方文档,就算是读,也是读别人翻译好的.但是最近由于准备春招,需要了解很多知识点的细节,网上几乎 ...
- C# 委托delegate的基本用法
委托:就是一个方法的类型,下面3个调用情况来详细熟悉一下: 1.调用组合委托 //委托:就是一个方法的类型 public delegate int TestDelegateStr(); public ...