Jump to content

[SOLVED] Status Mail 'Shipped', 'Preparation' not being sent


Kunsthelden

Recommended Posts

Dear all,

We encountered a problem which we cannot resolved and also not clarify whilst sending status emails to the client.

We use our smtp mail server to send mails. It works in the BO manually only but not if e change the status pull down and clock on 'change status'.. We checked the mails and they are available. We also tried the standard PHP-Funktion mail() but it didn't work either. We also tried txt instead of HTML but we had no luck again.

We tried to debug but we cannot see anything. If we try to stop the process with the function die() to check the variables, it's just processing trough. This is very odd. We see that the files orderHistory.php and adminsOrderController.php are involved. Within adminsOrderController.php we can debug and see that the function is being called around line 543 (if ($history->addWithemail(true, $templateVars)) {) but withing orderHistory.php we cannot check.

Does anybody experience the same?

Does anybody know how to resolve?

 

Help would be highly appreciated as we cannot find any indication what to do.

Edited by Kunsthelden (see edit history)
Link to comment
Share on other sites

Dear all,

We tested further and it seems that controller adminsOrderController.php is not triggering the mails being sent in BO (area orders, order detail) through the orderHistory.php. It is only changing the status with the function add()  (line 543 in orderHistory.php). The adminsOrderController.php seems to be processed from the front end but not from BO, orders, order details. We actually would have expected that orderHistory.php would have triggered for sending mails but it isn't.

Also, we found out that there was a module of our multi-seller breaking the process using an override. Funny it is... the override was not visible to us until we tried to implement the below override.

	$carrier = new Carrier($order->id_carrier, $order->id_lang);
        $templateVars = array();
	if ($order->current_state == Configuration::get('PS_OS_SHIPPING') && $order->shipping_number) {
            $templateVars = array('{followup}' => str_replace('@', $order->shipping_number, $carrier->url));
	}
        if (!$this->sendEmail($order, $template_vars)) {
            return false;
        }

 

 

So feel free to use this work around if you are causing similar issues. In our case, we deactivated to multi-seller override, installed the multi-seller module from scratch and it worked. So it was a multi-seller module issue.

 

 

Edited by Kunsthelden (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...