1

我正在使用带有 xampp 的 mantis 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();

非常感谢您提前提供的帮助!我希望你能帮助我,因为这已经让我发疯了三天,我不想再浪费时间了

4

2 回答 2

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;
于 2013-07-29T07:26:22.210 回答
0

我使用 MantisBT 1.2.19。

我有一个问题,我可以在创建新用户时收到电子邮件通知,但前提是它是在“localhost”上完成的。所以我将$t_host值更改config_defaults_inc.php为服务器 ip(第 93 行)。这没有帮助。

然后我$g_path在第 149 行从

$g_path = $t_protocol . '://' . $t_host . $t_path;

$g_path = 'http' . '://' . '172.16.4.63/' . 'bugtracker/';

现在我收到一封电子邮件,其中电子邮件中的路径与此路径匹配。

我认为这可能应该config_inc.php作为正确的覆盖来完成。

于 2016-05-02T14:13:53.140 回答