0
votes

I am currently building an online store using magento.

After placing an order, customers automatically receive an "order confirmation". However, I would like to check first first if this order can be processed (for several reasons) and after that, send an "order acceptance" email saying that we accepted the order starting to process it.

I cant believe that magento lacks this feature.

However I also need to send several other emails:

  • when payment is received
  • when more preoducts need to be ordered
  • when we received the products otderd by the customer..

Does anybody have any clue, how something like this can be accomplished?

Thanks in advance!

2

2 Answers

9
votes

do you know any other e-commerce platform on php that has this feature ?

You most certainly can

  1. overwrite the saveOrder() method in Mage_Checkout_Model_Type_Onepage that calls out the sending of this e-mail
  2. overwrite sendNewOrderEmail() method in Mage_Sales_Model_Order that defines this method
  3. overwrite the canSendNewOrderEmail() method in Mage_Sales_Helper_Data that handles the validation if sending this mail is allowed
  4. edit the sales_email/order/enabled config value, that is used to control the condition on helper method, to be false from admin page

After that you have to implement your own status based e-mail sending in your extension observer . You can observe the save_order_after event to do that and you can call for the same method as it is accessible from order object

2
votes

Note : This is commercial software

We have used this extension by amasty called order status. It works very well. It will fire off an email from the transactional emails when a certain status has been changed.