Finally, I have located the source of the error but do not understand what's wrong with it.
I removed the following line:
$payment_modules->after_process();
in the checkout_process.php. Then the checkout_success page was displayed.
The php script failed in this function call. This function is from the linkpoint payment module, which simply sends the New Order Confirmation email to the store owner:
QUOTE
function after_process() {
global $insert_id, $HTTP_POST_VARS;
// globals $CardName, $CardNumber;
if ( (defined('MODULE_PAYMENT_LINKPOINTMS1_EMAIL')) && (MODULE_PAYMENT_LINKPOINTMS1_EMAIL != 'NONE') ) { // send emails to other people
$message = 'AVSCode: ' . $GLOBALS[AVSCode] . "\n" . 'Address: ' . $GLOBALS['cc_address_avs_message'] . "\n" .'ZipCode: ' . $GLOBALS['cc_zipcode_avs_message'] . "\n" .'CardCode: ' . $GLOBALS['cc_cardcode_avs_message'] . "\n" . 'Order #:' . $insert_id . "\n\n" . 'Middle Credit Card Numbers: ' . $GLOBALS['cc_middle'] . "\n\n";
tep_mail('', MODULE_PAYMENT_LINKPOINTMS1_EMAIL, ' New order - Verification info', $message, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, '');
}
return false;
}
That explains why I cannot receive the order confirmation email since the error started.
What's wrong with the code? I cannot find anything wrong, and it DID work for a couple of months.
My guess is that ipowerweb has upgraded/changed their mailing system on the host, and this change causes the problem. On November 8th, I started to get the complains from the customers. And on the same day, I can no longer recieve the order confirmation generated by the above code. And on the same day, I noticed a change in the customer's email sent from the host212. The email was prefixed with an anti-spam header.
I am still waiting for a reply from their customer support.