I'm running Magento ver. 18.104.22.168 and have run into this problem repeatedly...
If a customer enters an invalid email (in this case they had a typo in their domain, I could confirm this by comparing to paypal email) my notifications break and no longer work until I take action to fix this...
Scenario 1: Send Order Email Copy Method BCC
When a user places an order I will then get 1 e-mail every tim cron runs until I go in and purge all evidence of that email from the database.
Senario 2: Send Order Email Copy Method Seperate Email
When a user places an order the mail queue stops processing mail. magento_core_email_queue racks up the orders but they stay without a processed date indefinitely.
In this scenario I can fix it by simply truncing the magento_core_email_queue and magento_core_email_queue_recipients tables.
The question is.. where are the invalid email addresses getting into the system? Magento is usually good at validating email addresses - can you pin it down to any particular area?
The 'quick' solution would be to change the input type in your template to input type="email" - this will then make the browser validate the input - so this could stop the erroneous emails ever getting into the system.
The buyer is putting them in at checkout.
Let me be clear, the FORMAT is right, the EMAIL is invalid. IE if you send an email to firstname.lastname@example.org it will not work, it's not a valid email address, I know this because it's my domain.
In the case yesterday the user entered the email address of email@example.com instead of firstname.lastname@example.org.
I see.. as far as I was aware magento doesn't do anything with regards to bounces.. it just sends the emails in the queue table and thats it - maybe someone else knows better on the forums?
Is the processed_at column in the core_email_queue table always blank for these sort of email addresses? Note that depending on how your cron is setup - it may stay blank until the next cron run.
Just one final thought.. perhaps if its happening regurarly you could look for an extension that makes the user confirm their email in the checkout? (A bit like they do with passwords?)
It's not happening regularly, but when it does it's highly disruptive!
The processed stays blank over multiple cron runs.
That's not viable, I've found that keeping the checkout process as smoothly as possible leads to a significantly higher conversaion rate. I'd rather babysit the server than lose sales .