Konfigurieren von Mantisbt zum Senden von E -Mails mit Google Mail
-
28-10-2019 - |
Frage
Ich bin neu bei Mantis Bugs Tracker und möchte die E -Mail -Benachrichtigung nach der Registrierung für ein neues Konto aktivieren.
Nun, ich habe den Mantisbt ohne Probleme auf meinem lokalen Computer korrekt installiert. Ich habe das Passwort des Administrators bereits geändert und den Administratorordner im Verzeichnis entfernt. Danach habe ich mich für ein neues Konto angemeldet. Es gab eine Bestätigungsmeldung, die besagt, dass ich meine Registrierung per E -Mail überprüfen muss. Mein Problem hierfür ist, dass keine Überprüfungsnachricht an meine E -Mail gesendet wurde. Nach einem der Tutorials, die ich gefunden habe, muss ich zuerst meine konfigurieren config_inc.php. Nach der Installation war der anfängliche Inhalt meines config_inc.php
<?php
$g_hostname = 'localhost';
$g_db_username = '<myUser>';
$g_db_password = '<myPass>';
$g_database_name = 'bugtracker';
$g_db_type = 'mysql';
?>
Also habe ich es geändert. *Ich verwende hier mein Google Mail -Konto
<?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';
?>
Ich überschreibe meine config_inc.php mit diesem und dann für ein neues Konto registrieren. Nach der Übermittlung der Informationen trat ein Fehler auf:
Fataler Fehler: Rufen Sie die undefinierte Methode SMTP :: getRror () in <MyDirectory> mantis bibliothek phpmailer class.phpmailer.php in Zeile 1910 an.
Und jetzt bin ich festgefahren, bitte helfen Sie mir dabei, ich muss meine E -Mail -Benachrichtigung einrichten. Ich habe nur Konten erstellt, aber ich kann sie nicht verwenden, weil ich sie überprüfen muss.
Bitte lassen Sie mich wissen, ob ich einige der zugehörigen Dateien ändern muss und welche Schritte sind.
Danke für die Hilfe!
Lösung
Nach a Posten in den Mantisbt -Foren, Dies sind Arbeitseinstellungen für Google Mail:
$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;
Andere Tipps
Wenn jemand weiterhin Probleme oder Fehler hat, während die Konfiguration eine Protokollebene hinzufügen, damit Sie das Problem weiter abbinden können. Die folgenden Einstellungen funktionierten für mich. Eine detaillierte Erklärung wird geschrieben hier
$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;
Für mich geht das
Etwas, das man über Google Mail hinzufügen kann. Diese Einstellungen sind korrekt, aber Google Mail hat eine neue Sicherheit eingeleitet, die weiterhin verhindern, dass E -Mails mit dem SMTP -Anschluss von Mantis oder einem anderen Mailer gesendet werden.
Um dies mit Google Mail zu tun, müssen Sie "Ermöglichen Sie weniger sichere Apps, auf Konten zugreifen zu können.". In Google Mail -Administrator gibt es eine Einstellung, mit der Benutzer den Zugriff von "weniger sicheren Apps" steuern können, die eingeschaltet werden müssen, und dann muss das Benutzerkonto, das zum Senden von E -Mails verwendet wird, von "Weniger sicheren Apps" einschalten. Der obige Link enthält die Informationen zum Konfigurieren.
Das Frustrierend ist, dass alles gut zu funktionieren scheint, aber keine E -Mails gesendet werden. Es gibt keine Fehleranzeige vom SMTP -Server. Das zum Senden von E -Mails verwendete Benutzerkonto erhält jedoch möglicherweise eine E -Mail von Google Mail, in der angezeigt wird, dass jemand versucht, auf das Konto zuzugreifen. Ich habe Stunden damit verbracht, dies aufzuspüren.
2017 Update (Mantisbt 2.3.0) Bitte befolgen Sie die folgenden Schritte:
[1] Wenn Sie Docker verwenden
Greifen Sie auf die Docker -Instanz zu, die den folgenden Befehl ausführt:
docker exec -it {docker-id} bash
2] Inneren Mantisbt -Server
Wenn Sie keinen Redakteur haben:
# sudo apt-get update
# apt-get install vim
Erstellen Sie eine Protokolldatei:
# touch /var/log/mantisbt.log
# cd /var/log/
# chmod 777 mantisbt.log
3] Bearbeitung der Mantisbt -Konfiguration
# vim /var/www/html/config/config_inc.php
Fügen Sie den folgenden Inhalt der im früheren Schritt geöffneten Datei hinzu:
$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] Konfiguration der Google Mail -Konfiguration bearbeiten
Sie müssen dies tun, um die Mantisbt -Authentifizierung zuzulassen:
Greifen Sie auf die folgende URL zu:
Navigieren Sie zum Menüanmeld- und Sicherheitsmenü unter dem Menübaum.
Überprüf den "Ermöglichen Sie weniger sichere Apps"Option und festgelegt gleich für True
Bild:
Du bist gut zu gehen! Getestet und mit diesen Konfigurationen ausgeführt. =]
Mein Problem wurde durch Aktualisierung von CA -Zertifikaten gelöst. Ich verwende XAMPP mit PHP 7.2 unter Windows Sever 2012.
Obwohl der folgende Link Ihnen die Details liefert, erwähne ich auch den Relavent -Teil:
Aktualisieren von CA -Zertifikaten
Aktualisieren von CA -Zertifikaten zum Aktualisieren Ihrer CA -Zertifikate und sicherstellen, dass Ihr Betriebssystem vollständig auf dem neuesten Stand ist. CA -Zertifikate werden normalerweise über Betriebssystemaktualisierungen aktualisiert. Alternativ können Sie Download Die neueste CA -Zertifikatdatei von curl, installieren Sie sie an einem an einem angehenden (z. In Ihre Betriebssystem- und PHP -Konfiguration; wo Sie es ausdrücken müssen, geht es über den Umfang von Phpmailer!):
openssl.cafile = /etc/ssl/cacert.pem curl.cainfo = /etc/ssl/cacert.pem
https://github.com/phpmailer/phpmailer/wiki/troubshooting#updating-ca-certificates