我是Mantis bug跟踪器的新手,我想在注册新帐户后启用电子邮件通知。
好吧,我在本地计算机上正确安装了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 ,然后注册一个新帐户。提交信息后,发生错误说:
致命错误:在&lt;中调用未定义的方法SMTP :: getError()第1910行的myDirectory&gt; \ mantis \ library \ phpmailer \ class.phpmailer.php。
现在我被困了,请帮助我,我需要设置我的电子邮件通知。我只是创建帐户,但我不能使用它们,因为我需要验证它。
如果我需要修改一些相关文件以及步骤是什么,请告诉我。
感谢您的帮助!
答案 0 :(得分:31)
根据posting on the MantisBT forums,这些是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;
答案 1 :(得分:2)
$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 :(得分:2)
要添加关于GMail的内容。这些设置是正确的,但GMail已经建立了一些新的安全措施,仍然会阻止使用SMTP连接器从Mantis或任何其他邮件程序发送电子邮件。
要使用GMail执行此操作,您必须"Allow less secure apps to access accounts"。在GMail管理员中,有一个设置允许用户控制必须打开的“不太安全的应用程序”的访问权限,然后用于发送邮件的用户帐户必须打开“安全性较低的应用程序”的访问权限。上面的链接提供了有关如何配置此信息的信息。
令人沮丧的是,一切看起来都能正常工作但没有发送电子邮件。 SMTP服务器没有错误指示。但是,用于发送邮件的用户帐户可能会收到来自GMail的电子邮件,表明有人正在尝试访问该帐户。我花了好几个小时试图跟踪它。
答案 3 :(得分:1)
如果在配置添加日志级别时仍有人遇到问题或错误,以便您可以进一步深入了解问题。以下设置对我有用。详细解释写于here
$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’;
答案 4 :(得分:1)
2017年更新(MantisBT 2.3.0)请按照以下步骤操作:
[1]如果您使用DOCKER
访问运行以下命令的docker实例:
docker exec -it {docker-id} bash
[2] INSIDE MANTISBT SERVER
如果你没有任何编辑:
# sudo apt-get update
# apt-get install vim
创建一个日志文件:
# touch /var/log/mantisbt.log
# cd /var/log/
# chmod 777 mantisbt.log
[3]编辑拼图配置
# 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身份验证:
访问以下网址:
导航至登录&amp;菜单树下的安全菜单项。
选中&#34; 允许安全性较低的应用&#34;选项并将equals设置为true
图像:
你很高兴去! 使用这些配置进行测试和运行。 =]
答案 5 :(得分:0)
通过更新ca证书解决了我的问题。 我正在使用Xampp,在Windows Server 2012上使用PHP 7.2。
虽然以下链接为您提供了详细信息,但我也提到了相关部分:
更新CA证书
更新CA证书要更新CA证书,请确保 您的操作系统是完全最新的 - 通常是CA证书 通过OS更新更新。或者,您可以download最新的CA. 来自curl的cert文件,将其安装在可访问的地方(例如 /etc/ssl/cacert.pem)并从openssl.ca文件指向它 php.ini文件中的curl.cainfo指令(此位置会有所不同 根据您的操作系统和PHP配置;你需要把它放在哪里 超出PHPMailer的范围!):
openssl.cafile = /etc/ssl/cacert.pem curl.cainfo = /etc/ssl/cacert.pem
https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#updating-ca-certificates