我使用的是带examplep的尾数1.2.15我完成了这里讨论的帖子中的步骤,能够使用testmail.php获得电子邮件,但在注册测试时仍然无法从mantis获得电子邮件。那么问题出在哪里呢?非常感谢。
这里是config_inc.php
/************** CONFIG_INC.PHP ***************/
<?php
$g_hostname = 'xxxxxx';
$g_db_type = 'mysql';
$g_database_name = 'bugtracker';
$g_db_username = 'xxxx';
$g_db_password = 'xxxx';
$g_allow_signup = ON; //allows the users to sign up for a new account
$g_enable_email_notification = ON; //enables the email messages
$g_phpMailer_method = PHPMAILER_METHOD_SMTP;
$g_smtp_host = 'xxxxx';
$g_smtp_connection_mode = 'ssl';
$g_smtp_port = 25;
$g_smtp_username = 'xxxxx'; //replace it with your gmail address
$g_smtp_password = 'xxxxx'; //replace it with your gmail password
$g_administrator_email = 'xxxxx'; //this will be your administrator email address
# $g_from_email = 'xxxxxx';
$g_webmaster_email = "xxxxxxx";
# the "From: " field in emails
$g_from_email = "xxxxxx";
# the return address for bounced mail
$g_return_path_email = "xxxxx";
$g_debug_email = OFF;
$g_log_level = LOG_EMAIL_RECIPIENT;
$g_log_destination = 'file:E:/tmp/mantis.log';
$g_status_enum_string =
'10:new,20:refused,30:acknowledged,40:confirmed,50:assigned,
60:to be tested,70:cancelled,80:resolved,90:closed';
# Status color additions
$g_status_colors['to be tested'] = '#ACE7AE';
$g_status_colors['refused'] = '#E33030';
$g_status_colors['cancelled'] = '#FFFF66';
$g_status_enum_workflow[NEW_]=
'10:new,20:refused,30:acknowledged,40:confirmed,50:assigned,60:to be tested';
$g_status_enum_workflow[REFUSED] =
'10:new,20:refused,30:acknowledged,40:confirmed,50:assigned,60:to be tested';
$g_status_enum_workflow[ACKNOWLEDGED] =
'20:refused,30:acknowledged,40:confirmed,50:assigned,60:to be tested';
$g_status_enum_workflow[CONFIRMED] =
'20:refused,40:confirmed,50:assigned,60:to be tested';
$g_status_enum_workflow[ASSIGNED] =
'20:refused,50:assigned,60:to be tested,90:closed';
$g_status_enum_workflow[CHECK] =
'10:new,20:refused,50:assigned,60:to be tested,80:resolved,90:closed';
$g_status_enum_workflow[RESOLVED] =
'50:assigned,60:to be tested,80:resolved,90:closed';
$g_status_enum_workflow[CLOSED] =
'50:assigned,90:closed';
?>
/***************** TESTMAIL.PHP ******************/
<?php
# MantisBT - a php based bugtracking system
# MantisBT is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# MantisBT is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with MantisBT. If not, see <http://www.gnu.org/licenses/>.
/**
* @package MantisBT
* @copyright Copyright (C) 2000 - 2002 Kenzaburo Ito - kenito@300baud.org
* @copyright Copyright (C) 2002 - 2013 MantisBT Team - mantisbt-dev@lists.sourceforge.net
* @link http://www.mantisbt.org
*/
/**
* MantisBT Core API's
*/
require_once( dirname( dirname( __FILE__ ) ) . DIRECTORY_SEPARATOR . 'core.php' );
access_ensure_global_level( config_get_global( 'admin_site_threshold' ) );
$f_mail_test = gpc_get_bool( 'mail_test' );
html_page_top();
?>
<a name="email" id="email" />
<table width="100%" bgcolor="#222222" border="0" cellpadding="20" cellspacing="1">
<tr>
<td bgcolor="#f4f4f4">
<span class="title">Testing Email</span>
<p>You can test the ability for MantisBT to send email notifications with this form. Just click "Send Mail". If the page takes a very long time to reappear or results in an error then you will need to investigate your php/mail server settings (see PHPMailer related settings in your config_inc.php, if they don't exist, copy from config_defaults_inc.php). Note that errors can also appear in the server error log. More help can be found at the <a href="http://www.php.net/manual/en/ref.mail.php">PHP website</a> if you are using the mail() PHPMailer sending mode.</p>
<?php
if( $f_mail_test ) {
echo '<b><font color="#ff0000">Testing Mail</font></b> - ';
# @@@ thraxisp - workaround to ensure a language is set without authenticating
# will disappear when this is properly localized
lang_push( 'english' );
$t_email_data = new EmailData;
$t_email_data->email = config_get_global( 'administrator_email' );
$t_email_data->subject = 'Testing PHP mail() function';
$t_email_data->body = 'Your PHP mail settings appear to be correctly set.';
$t_email_data->metadata['priority'] = config_get( 'mail_priority' );
$t_email_data->metadata['charset'] = 'utf-8';
$result = email_send( $t_email_data );
# $result = email_send( config_get_global( 'administrator_email' ), 'Testing PHP mail() function', 'Your PHP mail settings appear to be correctly set.');
if( !$result ) {
echo ' PROBLEMS SENDING MAIL TO: ' . config_get_global( 'administrator_email' ) . '. Please check your php/mail server settings.<br />';
} else {
echo ' mail() send successful.<br />';
}
}
?>
<form method="post" action="<?php echo $_SERVER['SCRIPT_NAME']?>#email">
Email Address: <?php echo config_get_global( 'administrator_email' );?><br />
<input type="submit" class="button" value="Send Mail" name="mail_test" />
</form>
</td>
</tr>
</table>
<?php
html_page_bottom();
非常感谢您提前提供的帮助!我希望你能帮助我,因为这已经让我疯了3天了,我不想再浪费时间了
尝试在config_inc.php
上使用以下代码
# --- Database Configuration ---
$g_hostname = 'hostname.com';
$g_db_username = 'username';
$g_db_password = 'password';
$g_database_name = 'dbname';
$g_db_type = 'mysql';
# --- Anonymous Access / Signup ---
$g_allow_signup = ON;
$g_allow_anonymous_login = OFF;
$g_anonymous_account = '';
# --- Email Configuration ---
$g_phpMailer_method = PHPMAILER_METHOD_MAIL; # or PHPMAILER_METHOD_SMTP, PHPMAILER_METHOD_SENDMAIL
$g_smtp_host = 'hostname.com';# used with PHPMAILER_METHOD_SMTP
$g_smtp_username = ''; # used with PHPMAILER_METHOD_SMTP
$g_smtp_password = ''; # used with PHPMAILER_METHOD_SMTP
$g_administrator_email = 'anymailid@gmail.com';
$g_webmaster_email = 'webmaster@gmail.com';
$g_from_name = 'Gecko Bug Tracker';
$g_from_email = 'anymailid@gmail.com'; # the "From: " field in emails
$g_return_path_email = 'anymailid@gmail.com'; # the return address for bounced mail
$g_email_receive_own = OFF;
$g_email_send_using_cronjob = OFF;
# --- Attachments / File Uploads ---
$g_allow_file_upload = ON;
$g_file_upload_method = DATABASE; # or DISK
$g_absolute_path_default_upload_folder = ''; # used with DISK, must contain trailing or /.
$g_max_file_size = 5000000; # in bytes
$g_preview_attachments_inline_max_size = 256 * 1024;
$g_allowed_files = ''; # extensions comma separated, e.g. 'php,html,java,exe,pl'
$g_disallowed_files = ''; # extensions comma separated
# --- Branding ---
$g_window_title = 'Gecko';
$g_logo_image = 'images/mantis_logo.gif';
$g_favicon_image = 'images/favicon.ico';
# --- Real names ---
$g_show_realname = OFF;
$g_show_user_realname_threshold = NOBODY; # Set to access level (e.g. VIEWER, REPORTER, DEVELOPER, MANAGER, etc)
# --- Others ---
$g_default_home_page = 'my_view_page.php'; # Set to name of page to go to after login
$g_enable_profiles = OFF;
$g_allow_no_category = ON;
$g_set_bug_sticky_threshold = NOBODY;
$g_move_bug_threshold = NOBODY;
$g_set_bug_sticky_threshold = NOBODY;
我使用MantisBT 1.2.19。
我遇到了一个问题,创建新用户时可以收到电子邮件通知,但前提是在"localhost"上完成。因此,我将config_defaults_inc.php
中的$t_host
值更改为服务器ip(第93行)。这没用。
然后我从更改了149线上的$g_path
$g_path = $t_protocol . '://' . $t_host . $t_path;
至
$g_path = 'http' . '://' . '172.16.4.63/' . 'bugtracker/';
现在我收到一封电子邮件,其中的路径与此路径匹配。
我认为这可能应该在config_inc.php
中进行,作为正确的覆盖。