Настройка MantisBT для отправки писем с помощью GMail
Я новичок в отслеживании ошибок 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 = '<[email protected]>';
$g_smtp_password = '<myPass>';
$g_administrator_email = '<[email protected]>';
$g_webmaster_email = '<[email protected]>';
$g_from_name = 'Mantis Bug Tracker';
$g_from_email = '<[email protected]>';
$g_return_path_email = '<[email protected]>';
$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 с этим, а затем регистрирую новую учетную запись. После отправки информации произошла ошибка:
Неустранимая ошибка: вызов метода undefined SMTP:: getError() в <myDirectory> \mantis\library\phpmailer\class.phpmailer.php в строке 1910.
И теперь я застрял, пожалуйста, помогите мне в этом, мне нужно настроить свое уведомление по электронной почте. Я просто создавал учетные записи, но я не могу их использовать, потому что мне нужно проверить его.
Пожалуйста, дайте мне знать, если мне нужно изменить некоторые связанные файлы и какие шаги.
Спасибо за помощь!
Ответы
Ответ 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;
Это работает для меня
Ответ 3
Что-то добавить о GMail. Эти настройки верны, но GMail установил новую безопасность, которая по-прежнему не позволяет отправлять электронную почту от Mantis или любой другой почтовой программы, используя соединитель SMTP.
Чтобы сделать это с помощью GMail, вы должны "Разрешить менее безопасные приложения для доступа к учетным записям" . В администраторе GMail есть параметр, позволяющий пользователям контролировать доступ из "менее безопасных приложений", который должен быть включен, а затем учетная запись пользователя, используемая для отправки почты, должна включать доступ из "менее безопасных приложений". В приведенной выше ссылке содержится информация о том, как настроить это.
Отвратительная вещь - все будет работать нормально, но не отправляются электронные письма. На SMTP-сервере нет сообщений об ошибках. Однако учетная запись пользователя, используемая для отправки почты, может получать электронное письмо от GMail, указывающее, что кто-то пытается получить доступ к учетной записи. Я потратил часы, пытаясь отследить это.
Ответ 4
Если кто-то все еще сталкивается с проблемой или ошибкой во время конфигурации, добавьте уровень журнала, чтобы можно было продолжить изучение проблемы. Ниже настройки помогли мне. Подробное объяснение написано здесь
$g_phpMailer_method = PHPMAILER_METHOD_SMTP;
$g_smtp_host = 'smtp.gmail.com';
$g_smtp_port = '465';
$g_smtp_connection_mode = 'ssl';
$g_smtp_username = '[email protected]';
$g_smtp_password = 'xxxxx';
$g_administrator_email = '[email protected]';
$g_webmaster_email = '[email protected]';
$g_from_email = '[email protected]';
$g_return_path_email = '[email protected]';
$g_default_timezone = 'UTC';
$g_log_level = LOG_EMAIL | LOG_EMAIL_RECIPIENT;
$g_log_destination = 'file:C:\mantisbt.log';
Ответ 5
Обновление 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] ИЗМЕНЕНИЕ КОНФИГУРАЦИИ MANTISBT
# vim /var/www/html/config/config_inc.php
добавьте следующий файл в файл, открытый на предыдущем шаге:
$g_phpMailer_method = PHPMAILER_METHOD_SMTP;
$g_administrator_email = '[email protected]';
$g_webmaster_email = '[email protected]';
$g_return_path_email = '[email protected]';
$g_from_email = '[email protected]';
$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-адресу:
-
Перейдите в пункт меню "Вход и безопасность" в дереве меню.
-
Установите флажок " Разрешить менее безопасные приложения" и установите значение равным true
Изображение:
Тебе хорошо идти! Протестировано и работает с этими конфигурациями. =]
Ответ 6
Моя проблема была решена путем обновления сертификатов ca. Я использую Xampp, с PHP 7.2 на Windows от 2012 года.
Хотя приведенная ниже ссылка предоставляет вам подробные сведения, я также упоминаю о том,
Обновление сертификатов CA
Обновление сертификатов CA Чтобы обновить сертификаты CA, убедитесь, что ваша операционная система полностью обновлена - сертификаты CA обычно обновляются через обновления ОС. Кроме того, вы можете загрузить последний файл CA cert из 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