gmailを使用してメールを送信するようにmantisbtを構成します
-
28-10-2019 - |
質問
私はMantis Bug Trackerを初めて使用しており、新しいアカウントに登録した後にメール通知を有効にしたいと思います。
さて、私はローカルコンピューターで問題なく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 = '<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 これを使用して、新しいアカウントに登録します。情報を送信した後、次のように言ってエラーが発生しました。
致命的なエラー:<myDirectory> mantis library phpmailer class.phpmailer.php in <myDirectory> mantis library library phpmailer.php in <mydirectory> mantis library getError()への呼び出し。
そして今、私は刺されています、これで私を助けてください、私は私の電子メール通知をセットアップする必要があります。アカウントを作成していましたが、確認する必要があるため、使用できません。
関連するファイルの一部と手順を変更する必要がある場合はお知らせください。
助けてくれてありがとう!
解決
によると 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;
他のヒント
構成中に誰かがまだ問題やエラーに直面している場合は、ログレベルを追加して、さらに問題をドリルダウンできるようにします。以下の設定は私のために働きました。詳細な説明が書かれています ここ
$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;
わたしにはできる
Gmailについて追加するもの。これらの設定は正しいですが、Gmailは、SMTPコネクタを使用してMantisやその他のメーラーから電子メールが送信されるのを防ぐ新しいセキュリティを制定しています。
Gmailでこれを行うには、 「安全性の低いアプリを許可してアカウントにアクセスする」. 。 Gmail Adminでは、ユーザーが「安全でないアプリ」からアクセスを制御できるようにする設定があります。これはオンにする必要があります。その後、メールの送信に使用されるユーザーアカウントは、「安全性の低いアプリ」からアクセスをオンにする必要があります。上記のリンクは、これを構成する方法に関する情報を提供します。
イライラするのは、すべてが正常に動作するように見えることですが、メールは送信されません。 SMTPサーバーからのエラー表示はありません。ただし、メールの送信に使用されるユーザーアカウントは、誰かがアカウントにアクセスしようとしていることを示すGmailから電子メールを受信する場合があります。私はこれを追跡しようとして何時間も費やしました。
2017 Update(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 = '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認証を許可するには、これを行う必要があります。
次のURLにアクセスします。
メニューツリーの下のサインインおよびセキュリティメニューアイテムに移動します。
「」をチェックしてください安全性の低いアプリを許可します「オプションとセットはtrueに等しくなります
画像:
あなたは行ってもいいです!これらの構成でテストおよび実行されます。 =
私の問題は、CA証明書を更新することで解決されました。私はXAMPPを使用しており、Windows Sever 2012でPHP 7.2を使用しています。
以下のリンクは詳細を提供しますが、私は再びの部分についても言及しています。
CA証明書の更新
CA証明書を更新してCA証明書を更新するには、オペレーティングシステムが完全に最新であることを確認してください-CA証明書は通常、OSの更新を介して更新されます。または、できます ダウンロード Curlからの最新のCAERTファイルは、アクセス可能な場所(/etc/ssl/cacert.pemなど)にインストールし、php.iniファイルのopenssl.cafileおよびcurl.cainfoディレクティブからそれを指しています(この場所は異なります。 OSとPHP構成に;それを置く必要がある場所は、PHPMailerの範囲を超えています!):
openssl.cafile = /etc/ssl/cacert.pem curl.cainfo = /etc/ssl/cacert.pem
https://github.com/phpmailer/phpmailer/wiki/troubleshooting#updating-ca-certificates