16

我是 Mantis 错误跟踪器的新手,我想在注册新帐户后启用电子邮件通知。

好吧,我在本地计算机上正确安装了MantisBT,没有任何问题,我已经更改了管理员的密码并删除了目录中的管理员文件夹。在此之后我注册了一个新帐户,有一条确认消息闪过,说我需要通过电子邮件验证我的注册。我的问题是没有验证消息发送到我的电子邮件。根据我找到的一个教程,我需要先配置我的config_inc.php。安装后,我的 config_inc.php 的初始内容是

<?php
$g_hostname      = 'localhost';
$g_db_username   = '<myUser>';
$g_db_password   = '<myPass>';
$g_database_name = 'bugtracker';
$g_db_type       = 'mysql';
?>

所以我把它改成了。*我在这里使用我的 gmail 帐户

<?php
$g_hostname      = 'localhost';
$g_db_username   = '<myUser>';
$g_db_password   = '<myPass>';
$g_database_name = 'bugtracker';
$g_db_type       = 'mysql';

$g_allow_signup             = ON;
$g_allow_anonymous_login    = OFF;
$g_anonymous_account        = '';

$g_phpMailer_method     = PHPMAILER_METHOD_SMTP; 
$g_smtp_host            = 'smtp.gmail.com';
$g_smtp_username        = '<myUser@gmail.com>';
$g_smtp_password        = '<myPass>';
$g_administrator_email  = '<myUser@gmail.com>';
$g_webmaster_email      = '<myUser@gmail.com>';
$g_from_name            = 'Mantis Bug Tracker';
$g_from_email           = '<myUser@gmail.com>';
$g_return_path_email    = '<myUser@gmail.com>';
$g_email_receive_own    = OFF;
$g_email_send_using_cronjob = OFF;

$g_allow_file_upload    = ON;
$g_file_upload_method   = DATABASE;
$g_absolute_path_default_upload_folder = '';
$g_max_file_size        = 5000000;
$g_preview_attachments_inline_max_size = 256 * 1024;
$g_allowed_files        = '';
$g_disallowed_files     = '';

$g_window_title         = 'MantisBT';
$g_logo_image           = 'images/mantis_logo.gif';
$g_favicon_image        = 'images/favicon.ico';

$g_show_realname = OFF;
$g_show_user_realname_threshold = NOBODY;

$g_default_home_page = 'my_view_page.php';
?>

我用这个覆盖了我的config_inc.php,然后注册了一个新帐户。提交信息后,出现错误提示:

致命错误:在第 1910 行调用 < myDirectory >\mantis\library\phpmailer\class.phpmailer.php 中未定义的方法 SMTP::getError()。

现在我被卡住了,请帮帮我,我需要设置我的电子邮件通知。我只是在创建帐户,但我无法使用它们,因为我需要验证它。

请让我知道是否需要修改一些相关文件以及步骤是什么。

谢谢您的帮助!

4

6 回答 6

32

根据MantisBT 论坛上的帖子,这些是 GMail 的工作设置:

$g_phpMailer_method = PHPMAILER_METHOD_SMTP;
$g_smtp_host = 'smtp.gmail.com';
$g_smtp_username = 'username@gmail.com';
$g_smtp_password = 'yourpassword';
$g_smtp_connection_mode = 'ssl';
$g_smtp_port = 465;
于 2012-03-02T10:20:16.467 回答
3

关于 GMail 的一些补充。这些设置是正确的,但 GMail 已经制定了一些新的安全措施,仍然会阻止使用 SMTP 连接器从 Mantis 或任何其他邮件程序发送电子邮件。

要使用 GMail 执行此操作,您必须“允许不太安全的应用程序访问帐户”。在GMail管理中,有一个设置允许用户控制“安全性较低的应用程序”的访问,必须打开该设置,然后用于发送邮件的用户帐户必须打开“安全性较低的应用程序”的访问权限。上面的链接提供了有关如何配置它的信息。

令人沮丧的是一切似乎都可以正常工作,但没有发送电子邮件。SMTP 服务器没有错误指示。但是,用于发送邮件的用户帐户可能会收到一封来自 GMail 的电子邮件,表明有人正在尝试访问该帐户。我花了几个小时试图追踪这个。

于 2016-04-19T18:57:29.973 回答
3

如果有人在配置时仍然面临问题或错误,请添加日志级别,以便您可以进一步深入研究问题。以下设置对我有用。详细解释写在这里

$g_phpMailer_method = PHPMAILER_METHOD_SMTP;
$g_smtp_host = 'smtp.gmail.com';
$g_smtp_port = '465';
$g_smtp_connection_mode = 'ssl';
$g_smtp_username = 'letzdotesting@gmail.com';
$g_smtp_password = 'xxxxx';
$g_administrator_email = 'letzdotesting@gmail.com';
$g_webmaster_email = 'letzdotesting@gmail.com';
$g_from_email = 'letzdotesting@gmail.com';
$g_return_path_email = 'letzdotesting@gmail.com';
$g_default_timezone = 'UTC';
$g_log_level = LOG_EMAIL | LOG_EMAIL_RECIPIENT;
$g_log_destination = 'file:C:\mantisbt.log';
于 2017-02-08T21:15:24.607 回答
2
$g_phpMailer_method = PHPMAILER_METHOD_SMTP;
$g_smtp_host = 'smtp.gmail.com';
$g_smtp_username        = 'username';   // without @gmail.com
$g_smtp_password        = 'password';
$g_smtp_connection_mode = 'ssl';
$g_smtp_port = 465;

这个对我有用

于 2016-04-03T05:22:37.633 回答
1

2017 更新 (MantisBT 2.3.0) 请按照以下步骤操作:

[ 1 ] 如果您使用的是 Docker

访问运行以下命令的 docker 实例:

docker exec -it {docker-id} bash

[2] MANTISBT 服务器内部

如果您没有任何编辑器:

# sudo apt-get update
# apt-get install vim

创建一个日志文件:

# touch /var/log/mantisbt.log
# cd /var/log/
# chmod 777 mantisbt.log

[3] 编辑 MANTISBT 配置

# vim /var/www/html/config/config_inc.php

将以下内容添加到前面步骤中打开的文件中:

$g_phpMailer_method = PHPMAILER_METHOD_SMTP;
$g_administrator_email = 'your-admin-email@gmail.com';
$g_webmaster_email = 'your-webmaster-email@gmail.com';
$g_return_path_email = 'your-return-email@gmail.com';
$g_from_email = 'your-from-email@gmail.com';

$g_smtp_host = 'smtp.gmail.com';
$g_smtp_port = 465;
$g_smtp_connection_mode = 'ssl';
$g_smtp_username = 'username';
$g_smtp_password = 'password';

$g_log_level = LOG_EMAIL | LOG_EMAIL_RECIPIENT;
$g_log_destination = 'file:/var/log/mantisbt.log';

$g_validate_email = OFF;

[4] 编辑 GMAIL 配置

您需要这样做才能允许 MantisBT 身份验证:

  1. 访问以下网址:

    https://myaccount.google.com

  2. 导航到菜单树下的登录和安全菜单项。

  3. 选中“允许安全性较低的应用程序”选项并设置为 true

图片: 在此处输入图像描述]

你可以走了!使用这些配置进行测试和运行。=]

于 2017-04-08T18:07:29.500 回答
0

通过更新 ca 证书解决了我的问题。我在 Windows 服务器 2012 上使用 Xampp 和 PHP 7.2。

虽然下面的链接为您提供了详细信息,但我也提到了相关部分:

更新 CA 证书

更新 CA 证书 要更新您的 CA 证书,请确保您的操作系统完全是最新的 - CA 证书通常通过操作系统更新来更新。或者,您可以从 curl下载最新的 CA 证书文件,将其安装在可访问的位置(例如 /etc/ssl/cacert.pem),然后从 php.ini 文件中的 openssl.cafile 和 curl.cainfo 指令指向它(这个位置会根据你的操作系统和 PHP 配置而有所不同;你需要把它放在哪里超出了 PHPMailer 的范围!):

openssl.cafile = /etc/ssl/cacert.pem 
curl.cainfo = /etc/ssl/cacert.pem

https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#updating-ca-certificates

于 2018-05-03T11:29:59.893 回答