web-dev-qa-db-ja.com

GMailを使用してメールを送信するようにMantisBTを構成する

Mantisバグトラッカーは初めてです。新しいアカウントを登録した後、電子メール通知を有効にしたいと思います。

まあ、MantisBTをローカルコンピューターに問題なく正しくインストールしました。既に管理者のパスワードを変更し、ディレクトリの管理フォルダーを削除しました。この後、新しいアカウントにサインアップすると、確認メッセージが点滅し、メールで登録を確認する必要があることを通知しました。ここでの問題は、確認メッセージがメールに送信されなかったことです。私が見つけたチュートリアルの1つによると、まず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をこれで上書きし、新しいアカウントを登録します。情報を送信した後、エラーが発生しました:

致命的なエラー:1910行目の<myDirectory>\Mantis\library\phpmailer\class.phpmailer.phpにある未定義のメソッドSMTP :: getError()を呼び出します。

そして今、私は行き詰まっています、これで私を助けてください、私は私のメール通知を設定する必要があります。アカウントを作成したばかりですが、確認が必要なため使用できません。

関連ファイルの一部を変更する必要があるかどうか、および手順は何ですか。

助けてくれてありがとう!

15
kimbebot

MantisBTフォーラムへの投稿 によると、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;
31
Robert Munteanu

GMailについて追加するもの。これらの設定は正しいですが、GMailは、SMTPコネクタを使用してMantisまたは他のメーラーからメールが送信されないようにする新しいセキュリティを導入しています。

Gmailでこれを行うには、 "安全性の低いアプリがアカウントにアクセスすることを許可する" である必要があります。 GMail管理者には、ユーザーが「安全性の低いアプリ」からのアクセスを制御できるようにする設定があり、これをオンにする必要があります。次に、メールの送信に使用するユーザーアカウントが「安全性の低いアプリ」からのアクセスをオンにする必要があります。上記のリンクは、これを構成する方法に関する情報を提供します。

イライラするのは、すべてが正常に機能しているように見えても、メールが送信されないことです。 SMTPサーバーからのエラー表示はありません。ただし、メールの送信に使用されたユーザーアカウントは、誰かがアカウントにアクセスしようとしていることを示すメールをGMailから受信する場合があります。私はこれを追跡するために何時間も費やしました。

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;

わたしにはできる

2
sambaltomat

構成中にまだ問題またはエラーが発生する場合は、ログレベルを追加して、問題をさらにドリルダウンできるようにします。以下の設定でうまくいきました。詳細な説明を書く こちら

$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';
2
Shoby

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 = '[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認証を許可するには、これを行う必要があります。

  1. 次のURLにアクセスします。

    https://myaccount.google.com

  2. メニューツリーの下の[サインインとセキュリティ]メニュー項目に移動します。

  3. 安全性の低いアプリを許可する」オプションをオンにして、trueに設定します

画像: enter image description here]

よろしくお願いします!これらの構成でテストおよび実行。 =]

1
aelkz

私の問題は、CA証明書を更新することで解決しました。 Xamppを使用しています。Windowsサーバー2012ではPHP 7.2です。

以下のリンクで詳細を説明しますが、関連する部分についても触れます。

CA証明書の更新

CA証明書の更新CA証明書を更新するには、オペレーティングシステムが完全に最新であることを確認してください。通常、CA証明書はOSの更新によって更新されます。または、 download curlから最新のCA証明書ファイルを入手し、アクセス可能な場所にインストールして(たとえば、/ etc/ssl/cacert.pem)、openssl.cafileおよびcurl.cainfoディレクティブからそれを指定することもできますphp.iniファイル内(この場所はOSによって異なりますPHP config;配置する必要がある場所は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 Haidari