php用win系统内置发邮件,mantisbt2.22.1 中使用自带的phpmailer发送邮件(实测可用)...

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() 查看运行结果即可:

6ff0f16e825b92b9ca92cda217dcfd65.png

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 ?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值