web-dev-qa-db-fra.com

Configuration de MantisBT pour l'envoi d'e-mails à l'aide de GMail

Je suis nouveau sur Mantis bug tracker et je souhaite activer la notification par courrier électronique après avoir créé un nouveau compte.

Eh bien, j'ai correctement installé le MantisBT sans aucun problème sur mon ordinateur local, j'ai déjà changé le mot de passe de l'administrateur et supprimé le dossier administrateur du répertoire. Après cela, je me suis inscrit pour un nouveau compte. Un message de confirmation est apparu, indiquant que je devais vérifier mon inscription par courrier électronique. Mon problème ici est qu'aucun message de vérification n'a été envoyé à mon email. Selon l'un des tutoriels que j'ai trouvés, je dois d'abord configurer mon config_inc.php . Après l’installation, le contenu initial de mon fichier config_inc.php était

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

Je l’ai donc changé en …__. * J'utilise mon compte Gmail ici

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

Je remplace mon config_inc.php par celui-ci, puis je crée un nouveau compte. Après la soumission de l’information, une erreur s’est produite: 

Erreur fatale: appelez la méthode non définie SMTP :: getError () dans <myDirectory>\Mantis\library\phpmailer\class.phpmailer.php à la ligne 1910. 

Et maintenant je suis coincé, aidez-moi s'il vous plaît avec cela, je dois configurer ma notification par courrier électronique. Je ne faisais que créer des comptes, mais je ne peux pas les utiliser car je dois le vérifier.

S'il vous plaît laissez-moi savoir si j'ai besoin de modifier certains des fichiers liés et quelles sont les étapes.

Merci pour l'aide!

14
kimbebot

Selon un publication sur les forums MantisBT , ces paramètres fonctionnent pour GMail:

$g_phpMailer_method = PHPMAILER_METHOD_SMTP;
$g_smtp_Host = 'smtp.gmail.com';
$g_smtp_username = '[email protected]';
$g_smtp_password = 'yourpassword';
$g_smtp_connection_mode = 'ssl';
$g_smtp_port = 465;
30
Robert Munteanu

Quelque chose à ajouter à propos de GMail. Ces paramètres sont corrects, mais GMail a mis en place une nouvelle sécurité qui empêchera tout de même l’envoi de courrier électronique à partir de Mantis ou de tout autre logiciel de messagerie utilisant le connecteur SMTP.

Pour ce faire avec GMail, vous devez "Autoriser les applications moins sécurisées à accéder aux comptes" . Dans GMail admin, il existe un paramètre permettant aux utilisateurs de contrôler l'accès à partir "d'applications moins sécurisées", qui doit être activé, puis le compte d'utilisateur utilisé pour envoyer du courrier doit activer l'accès à partir "d'applications moins sécurisées". Le lien ci-dessus fournit des informations sur la façon de configurer cela.

Ce qui est frustrant, c'est que tout semblera bien fonctionner, mais aucun courriel n'est envoyé. Il n'y a aucune indication d'erreur du serveur SMTP. Toutefois, le compte d'utilisateur utilisé pour envoyer un courrier peut recevoir un courrier électronique de GMail indiquant qu'une personne tente d'accéder au compte. J'ai passé des heures à essayer de retrouver cette trace.

2
sthames42
$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;

ça marche pour moi

2
sambaltomat

Mise à jour 2017 (MantisBT 2.3.0) Veuillez suivre les étapes ci-dessous:

[ 1 ] SI VOUS UTILISEZ DOCKER

Accédez à l'instance de docker exécutant la commande ci-dessous:

docker exec -it {docker-id} bash

[2] INSIDE MANTISBT SERVER

si vous n'avez pas d'éditeur:

# Sudo apt-get update
# apt-get install vim

créer un fichier journal:

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

[3] MODIFICATION DE LA CONFIGURATION MANTISTIQUE

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

ajoutez le contenu suivant au fichier ouvert à l'étape précédente:

$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] ÉDITION DE LA CONFIGURATION GMAIL

Vous devez le faire pour autoriser l'authentification MantisBT:

  1. Accédez à l'URL suivante:

    https://myaccount.google.com

  2. Accédez à l'élément de menu Connexion et sécurité sous l'arborescence du menu.

  3. Cochez l'option "Autoriser les applications moins sécurisées" et définissez la valeur sur true

Image:enter image description here]

Vous êtes prêt à partir! Testé et exécuté avec ces configurations. =]

1
aelkz

Si quelqu'un rencontre toujours un problème ou une erreur lors de la configuration, ajoutez un niveau de journalisation afin de pouvoir analyser le problème davantage. Les réglages ci-dessous ont fonctionné pour moi. Une explication détaillée est écrite ici

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

Mon problème a été résolu en mettant à jour les certificats. J'utilise Xampp, avec PHP 7.2 sur Windows Server 2012.

Bien que le lien ci-dessous vous fournisse les détails, je mentionne également la partie pertinente:

Mise à jour des certificats de l'autorité de certification

Mise à jour des certificats d'autorité de certification Pour mettre à jour vos certificats d'autorité de certification, assurez-vous que votre système d'exploitation est entièrement à jour - les certificats CA sont généralement mis à jour via les mises à jour du système d'exploitation. Vous pouvez également télécharger la dernière autorité de certification Cert de curl, installez-le dans un endroit accessible (par exemple /etc/ssl/cacert.pem) et pointez-le depuis le fichier openssl.cafile et Directives curl.cainfo dans votre fichier php.ini (cet emplacement variera en fonction de votre système d'exploitation et de la configuration PHP; vous devez le spécifier au-delà de la portée de PHPMailer!):

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

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

0
Musa