Настройка MantisBT для отправки электронных писем с помощью GMail
-
28-10-2019 - |
Вопрос
Я новичок в Mantis bug tracker и хочу включить уведомление по электронной почте после регистрации новой учетной записи.
Что ж, я правильно установил MantisBT без каких-либо проблем на свой локальный компьютер, я уже сменил пароль администратора и удалил папку admin в каталоге.После этого я зарегистрировался в новой учетной записи, появилось подтверждающее сообщение о том, что мне нужно подтвердить свою регистрацию по электронной почте.Моя проблема здесь в том, что на мою электронную почту не было отправлено подтверждающее сообщение.Согласно одному из руководств, которые я нашел, мне нужно сначала настроить мой config_inc.php.После установки первоначальное содержимое my 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 с помощью этого, а затем зарегистрируйте новую учетную запись.После отправки информации возникла ошибка со словами:
Фатальная ошибка:Вызов неопределенного метода SMTP::getError() в < Мой каталог >\mantis\library\phpmailer\class.phpmailer.php в строке 1910.
И теперь я в тупике, пожалуйста, помогите мне с этим, мне нужно настроить уведомление по электронной почте.Я просто создавал учетные записи, но я не могу ими пользоваться, потому что мне нужно это подтвердить.
Пожалуйста, дайте мне знать, нужно ли мне изменить некоторые связанные файлы и каковы необходимые шаги.
Спасибо за помощь!
Решение
Согласно публикация на форумах 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;
Другие советы
Если кто -то все еще сталкивается с проблемой или ошибкой при конфигурации, добавьте уровень журнала, чтобы вы могли дальше просверлить проблему. Ниже настройки работали для меня. Подробное объяснение написано здесь
$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;
меня устраивает
Что -то, чтобы добавить о Gmail. Эти настройки верны, но Gmail установил некоторую новую безопасность, которая все еще не позволит отправлять электронную почту с Mantis или любого другого почтового устройства с использованием разъема SMTP.
Чтобы сделать это с Gmail, вы должны «Разрешить меньше безопасных приложений для доступа к счетам». Анкет В Admin Gmail есть настройка, позволяющая пользователям контролировать доступ из «менее безопасных приложений», которые необходимо включить, а затем учетная запись пользователя, используемая для отправки почты, должна включить доступ из «менее безопасных приложений». Ссылка выше содержит информацию о том, как это настроить.
Разочаровывающая вещь - все будет работать нормально, но электронные письма не отправлены. Нет индикации ошибок с SMTP -сервера. Тем не менее, учетная запись пользователя, используемая для отправки почты, может получить электронное письмо от Gmail, указывающее, что кто -то пытается получить доступ к учетной записи. Я часами пытался отследить это.
ОБНОВЛЕНИЕ 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:
Доступ к следующему URL:
Перейдите к входу и безопасности в меню в Menu-Tree.
Проверить "Разрешить менее безопасные приложения"Опция и установка равны true
Изображение:
Вы готовы идти! Протестировано и работает с этими конфигурациями. знак равно
Моя проблема была решена путем обновления сертификатов центра сертификации.Я использую Xampp с PHP 7.2 на Windows sever 2012.
Хотя приведенная ниже ссылка предоставляет вам подробную информацию, я также упоминаю о части relavent:
Обновление сертификатов центра сертификации
Обновление сертификатов CA Чтобы обновить сертификаты CA, убедитесь, что ваша операционная система полностью обновлена - сертификаты CA обычно обновляются с помощью обновлений операционной системы.В качестве альтернативы, вы можете Скачать последний файл сертификата CA из curl, установите его где-нибудь в доступном месте (например /etc/ssl/cacert.pem) и укажите на него из директив openssl.cafile и curl.cainfo в вашем файле php.ini (это расположение будет отличаться в соответствии с вашей операционной системой и конфигурацией PHP;куда вам нужно это поместить, выходит за рамки PHPMailer!):
openssl.cafile = /etc/ssl/cacert.pem curl.cainfo = /etc/ssl/cacert.pem
https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#updating-ca-certificates