Question

I am new to Mantis bug tracker and I want to enable the email notification after registering for a new account.

Well, I installed the MantisBT correctly without any problem on my local computer, I already changed the admin's password and removed the admin folder in the directory. After this I signed up for a new account, there was a confirmation message flashed saying that I need to verify my registration via email. My problem here is that no verification message was sent to my email. According to one of the tutorials I found, I need to configure first my config_inc.php. After the installation, the initial content of my config_inc.php was

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

So I changed it to. *I am using my gmail account here

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

I overwrite my config_inc.php with this one and then register for a new account. After submitting the information, an error occured saying:

Fatal error: Call to undefined method SMTP::getError() in < myDirectory >\mantis\library\phpmailer\class.phpmailer.php on line 1910.

And now I'm stucked, please help me with this, I need to setup my email notification. I was just creating accounts but I cannot use them because I need to verify it.

Please let me know if I need to modify some of the related files and what are the steps.

Thanks for the help!

Was it helpful?

Solution

According to a posting on the MantisBT forums, these are working settings for 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;

OTHER TIPS

If anyone still faces issue or error while configuration add log level so that you can drill down the problem further. Below settings worked for me. Detailed explanation is written 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';
$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;

it Works for me

Something to add about GMail. These settings are correct but GMail has instituted some new security that will still prevent email from being sent from Mantis or any other mailer using the SMTP connector.

In order to do this with GMail, you must "Allow less secure apps to access accounts". In GMail admin, there is a setting to allow users to control access from "less secure apps," which must be turned on, and then the user account used to send mail must turn on access from "less secure apps." The link above provides the information on how to configure this.

The frustrating thing is everything will appear to work fine but no emails are sent. There is no error indication from the SMTP server. However, the user account used to send mail may receive an email from GMail indicating someone is trying to access the account. I spent hours trying to track this down.

2017 update (MantisBT 2.3.0) Please follow the steps below:

[1] IF YOU'RE USING DOCKER

Access the docker instance running the command below:

docker exec -it {docker-id} bash

[2] INSIDE MANTISBT SERVER

if you dont have any editor:

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

create a log file:

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

[3] EDITING MANTISBT CONFIGURATION

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

add the following content to the file opened in the earlier step:

$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] EDITING GMAIL CONFIGURATION

You need to do this in order to allow MantisBT authentication:

  1. Access the following URL:

    https://myaccount.google.com

  2. Navigate to the Sign-in & Security menu-item under menu-tree.

  3. Check the "Allow less secure apps" option and set equals to true

Image: enter image description here]

You're good to go! Tested and running with these configurations. =]

My issue was solved by updating ca certificates. I am using Xampp, with PHP 7.2 on Windows sever 2012.

Although the below link provides you with the details, I mention the relavent part too:

Updating CA certificates

Updating CA certificates To update your CA certificates, make sure your operating system is fully up to date - CA certs are usually updated via OS updates. Alternatively, you can download the latest CA cert file from curl, install it somewhere accessible (for example /etc/ssl/cacert.pem) and point at it from the openssl.cafile and curl.cainfo directives in your php.ini file (this location will vary according to your OS and PHP config; where you need to put it is beyond the scope of PHPMailer!):

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

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top