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,主要是因为由于交 ...
随机推荐
- 监控之--Nagios如何监控本地主机及本地服务
上一节内容介绍了Nagios监控服务在linux环境下的安装过程,本节内容将详细介绍如何使用已经安装的Nagios服务的一些配置文件的使用以及如何监控本地相关服务,如要完成对一台主机的监控Nagios ...
- python基础1习题练习
python基础1习题练习: #encoding:utf-8 #1.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败! name=input('na ...
- 疯子的算法总结(九) 图论中的矩阵应用 Part 2 矩阵树 基尔霍夫矩阵定理 生成树计数 Matrix-Tree
定理: 1.设G为无向图,设矩阵D为图G的度矩阵,设C为图G的邻接矩阵. 2.对于矩阵D,D[i][j]当 i!=j 时,是一条边,对于一条边而言无度可言为0,当i==j时表示一点,代表点i的度. 即 ...
- 使用docker搭建自己的博客(一)
购买服务器 首先服务器选择腾讯云学生服务器,25岁以下实名认证后月租10块,还是很适合我这种简约派的 又财大气粗买了个一年的域名,后面涨价再说吧 安装docker 使用xshell连上服务器 安装必要 ...
- andorid jar/库源码解析之retrofit2
目录:andorid jar/库源码解析 Retrofit2: 作用: 通过封装okhttp库,来进行web通讯,并且使用动态代理的方式,来调用接口地址,通过回调赋值结果. 栗子: 定义一个接口,用于 ...
- ArcMap 0 (ArcGIS10.2安装)
一如GIS深似海,从此相逢是故人(这句话适合初步接触GIS的,我算是初窥门径.还是道行太浅,只是多了感慨) 前言: 1. 本人GIS专业,对于ArcGIS较为熟悉.由于专业和其它经历需要,接触过不少各 ...
- 你应该知道的Vue高级特性
本文使用的Vue版本:2.6.10 Vue为我们提供了很多高级特性,学习和掌握它们有助于提高你的代码水平. 一.watch进阶 从我们刚开始学习Vue的时候,对于侦听属性,都是简单地如下面一般使用: ...
- while持续输入的几种常用使用方法
while(scanf("%d,&n")!=EOF) 如果n被成功读入,则返回值为1, 如果n未被成功读入,则返回值为0, 如果遇到错误或遇到end of file,返回值 ...
- MySQL连接不上
access denied for user root @localhost 解决办法: create user 'root'@'localhost' identified by '你的密码'; gr ...
- 多线程高并发编程(8) -- Fork/Join源码分析
一.概念 Fork/Join就是将一个大任务分解(fork)成许多个独立的小任务,然后多线程并行去处理这些小任务,每个小任务处理完得到结果再进行合并(join)得到最终的结果. 流程:任务继承Recu ...