配置MantisBT使用GMail发送电子邮件

时间:2012-02-20 06:12:41

标签: notifications bug-tracking mantis bug-tracker

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

好吧,我在本地计算机上正确安装了MantisBT,我已经更改了管理员密码并删除了目录中的admin文件夹。在此之后,我注册了一个新帐户,有一条确认消息闪过,说我需要通过电子邮件验证我的注册。我的问题是没有向我的电子邮件发送验证消息。根据我发现的其中一个教程,我需要先配置 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 ,然后注册一个新帐户。提交信息后,发生错误说:

  

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

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

如果我需要修改一些相关文件以及步骤是什么,请告诉我。

感谢您的帮助!

6 个答案:

答案 0 :(得分:31)

根据posting on the MantisBT forums,这些是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;

答案 1 :(得分: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;

它对我有用

答案 2 :(得分:2)

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

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

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

答案 3 :(得分:1)

如果在配置添加日志级别时仍有人遇到问题或错误,以便您可以进一步深入了解问题。以下设置对我有用。详细解释写于here

$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’;

答案 4 :(得分:1)

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

[1]如果您使用DOCKER

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

docker exec -it {docker-id} bash

[2] INSIDE MANTISBT SERVER

如果你没有任何编辑:

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

创建一个日志文件:

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

[3]编辑拼图配置

# 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. 导航至登录&amp;菜单树下的安全菜单项。

  3. 选中&#34; 允许安全性较低的应用&#34;选项并将equals设置为true

  4. 图像: enter image description here]

    你很高兴去! 使用这些配置进行测试和运行。 =]

答案 5 :(得分:0)

通过更新ca证书解决了我的问题。 我正在使用Xampp,在Windows Server 2012上使用PHP 7.2。

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

  

更新CA证书

     

更新CA证书要更新CA证书,请确保   您的操作系统是完全最新的 - 通常是CA证书   通过OS更新更新。或者,您可以download最新的CA.   来自curl的cert文件,将其安装在可访问的地方(例如   /etc/ssl/cacert.pem)并从openssl.ca文件指向它   php.ini文件中的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