Настройка MantisBT для отправки писем с использованием GMail - PullRequest
15 голосов
/ 20 февраля 2012

Я новичок в Mantis bug tracker и хочу включить уведомление по электронной почте после регистрации новой учетной записи.

Хорошо, я без проблем установил 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 этим и затем регистрирую новую учетную запись. После предоставления информации произошла ошибка:

Неустранимая ошибка: вызов неопределенного метода SMTP :: getError () в \ mantis \ library \ phpmailer \ class.phpmailer.php в строке 1910.

А теперь я застрял, пожалуйста, помогите мне, мне нужно настроить уведомление по электронной почте. Я только создавал учетные записи, но не могу их использовать, потому что мне нужно это проверить.

Пожалуйста, дайте мне знать, если мне нужно изменить некоторые связанные файлы и каковы действия.

Спасибо за помощь!

Ответы [ 6 ]

31 голосов
/ 02 марта 2012

Согласно сообщению на форумах 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;
2 голосов
/ 09 февраля 2017

Если кто-то все еще сталкивается с проблемой или ошибкой во время конфигурации, добавьте уровень журнала, чтобы вы могли детализировать проблему дальше. Ниже настройки работали для меня. Подробное объяснение написано здесь

$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’;
2 голосов
/ 19 апреля 2016

Что-то добавить о GMail.Эти настройки верны, но GMail установил некоторые новые меры безопасности, которые по-прежнему будут препятствовать отправке электронной почты из Mantis или любого другого почтовика с использованием SMTP-соединителя.

Чтобы сделать это с GMail, необходимо "Разрешить менее защищенным приложениям доступ к учетным записям ".В админке GMail есть настройка, позволяющая пользователям контролировать доступ из «менее безопасных приложений», который должен быть включен, а затем учетная запись пользователя, используемая для отправки почты, должна включать доступ из «менее безопасных приложений».Ссылка выше предоставляет информацию о том, как это настроить.

Огорчает то, что все будет работать нормально, но письма не отправляются.На SMTP-сервере отсутствует сообщение об ошибке.Однако учетная запись пользователя, используемая для отправки почты, может получать электронное письмо от GMail, указывающее, что кто-то пытается получить доступ к учетной записи.Я часами пытался отследить это.

2 голосов
/ 03 апреля 2016
$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;

у меня работает

1 голос
/ 08 апреля 2017

2017 обновление (MantisBT 2.3.0) Пожалуйста, следуйте инструкциям ниже:

[ 1 ] ЕСЛИ ВЫ ИСПОЛЬЗУЕТЕ DOCKER

Получите доступ к экземпляру докера, выполнив следующую команду:

docker exec -it {docker-id} bash

[2] ВНУТРЕННИЙ МАНТИСБТ СЕРВЕР

если у вас нет редактора:

# 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. Доступ к следующему URL:

    https://myaccount.google.com

  2. Перейдите к пункту меню «Вход и безопасность» в дереве меню.

  3. Установите флажок " Разрешить менее безопасные приложения " и установите значение true

Изображение: enter image description here]

Ты в порядке! Протестировано и работает с этими конфигурациями. =]

0 голосов
/ 03 мая 2018

Моя проблема была решена путем обновления сертификатов CA. Я использую Xampp с PHP 7.2 на Windows Server 2012.

Несмотря на то, что приведенная ниже ссылка предоставляет вам подробности, я также упомяну соответствующую часть:

Обновление сертификатов CA

Обновление сертификатов 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

...