I am using Magento 18.104.22.168 and I am having trouble with back in stock alert emails. The basis of the problem is that all indicators on the backend say that the emails are being sent but they are never being received.
- The functions run when they are supposed to, no errors are thrown, no functions return a value that suggests a problem.
- In the admin panel the Product Alerts table for each product is being updated by the system to show the alerts as sent and the information is correct.
- The cron_schedule table is being filled and has jobs with the job code set to catalog_product_alert. These jobs are being marked by the system as complete and successful.
- Other transactional emails such as New Orders, and Password Recovery are being sent and received perfectly.
The only real abnormality is that the core_email_queue and core_email_queue_recipients tables are not being filled with any rows relating to back in stock emails. They are being filled with rows relating to the other emails mentioned above, and this only happens when it is supposed to.
In the code the problem seems to occur in Mage_Core_Model_Email_Template->send. When this function is reached during the processing of a back in stock email, $this->getQueue() returns nothing. When other emails are being processed in that same function $this->getQueue() returns a Mage_Core_Model_Email_Queue Object with information that matches what the email should contain. In the back in stock case an error is not thrown as the Mage_Core_Model_Email_Template->send has other methods of sending the email. I have followed these right up until the base php email function is called and everything runs without an error, yet the email is never received. I am using one of my own email addresses for these tests so I know for a fact that they are not being received, nor are they labeled as spam or junk.
If you would like additional information please let me know.
Thank you in advance for your help.