Client reported that some people are not receiving expected emails being sent from a web app. I added some logging specifically to check this. Out of five emails, only the first one arrived. I had logging in the various events. Only the first one had any log entries from events (e.g. mailsent).
I also logged the time of sending. The five emails all were sent within ten seconds. My bet is that I can only email one thing at a time. Is this true? I could set up a queue to handle this so a second email is not sent until the first one is completed. As this would be a relatively serious change to the email code, I was wondering if there was something else that could be done.
-Bob Gordon (in Minneapolis where it’s 91 outside today)
Check the logs of email server?
Or try sending via our MBS plugin to see detailed log on client?
Thanks for the suggestions. (And the quick response.)
We’ve already verified it’s not a spam filter problem at the recipient’s end.
If we use the MBS plugin, can I send mail as fast as possible? Does it work on a web app?
It is an alternative. And it may be worth trying to catch error messages from server.
It can send very fast and can be used asynchronously in background.
It can help with CURLEmailMBS class to build encoding save email.
Or you pass raw email source yourself to CURLSMBS class.
I’ve checked with the people sending the emails (FatCow). They don’t keep a log.
I had logging statements in all the email events.
I think the next step is to try CURLEmailMBS. I think that will be simpler than building a queuing system.
At least I know what I’m doing this weekend.
Don’t reuse the smtpsocket. Create a new instance for each sendmail.