Magento 1.9.1 Aschroder.com SMTP Pro Email Extension Sendgrid.com
We were affected by the Hostforweb recent meltdown (migrating the site to New York having an outage and then being assigned new IP's without knowing and having an extensive outage because of that). It seems that we have gotten most everything working now EXCEPT FOR the Order Confirmation Emails are not being sent.
The way we have this setup is - the Order Confirmation Email should be sent through the "Aschroder.com SMTP Pro Email" extension to Sendgrid and then Sendgrid.com sends the Email on to the customer. The problem is that Sendgrid never seems to receive the Email in the first place.
All other SMTP Email works fine. I was even able to send a test message from email@example.com (where the Order Email Confirmations come from) to my personal Email address and it worked.
I did a test to see if the cron is working as advised on the bottom of this page:
(Additional Testing to see if CRON is running)
and it made the "cron.php.log" file but NOT the "cron.sh.log" file! (it may have been just me adding the code in the wrong place in the cron.sh file though)
Anyways, any ideas what else may have gone wrong? This is definitely related to the migration from the Chicago to the New York server. Everything worked fine before the migration and never worked after the migration was completed. We were assigned new IP addresses.
Here are the settings from the "Aschroder.com SMTP Pro Email Extension":
Email Connection = Customer SMTP Authentication = None Host = **127.0.0.1** (what is that?) Port = 7777 (that should be correct says Hostforweb) SSL Security = No SSL
Here is the modified cron.sh:
#!/bin/sh # location of the php binary if [ ! "$1" = "" ] ; then CRONSCRIPT=$1 else CRONSCRIPT=cron.php fi MODE="" if [ ! "$2" = "" ] ; then MODE=" $2" fi PHP_BIN=`which php` # absolute path to magento installation INSTALLDIR=`echo $0 | sed 's/cron\.sh//g'` date >> "$0".log whoami >> "$0".log # prepend the intallation path if not given an absolute path if [ "$INSTALLDIR" != "" -a "`expr index $CRONSCRIPT /`" != "1" ];then if ! ps auxwww | grep "$INSTALLDIR$CRONSCRIPT$MODE" | grep -v grep 1>/dev/null 2>/dev/null ; then $PHP_BIN $INSTALLDIR$CRONSCRIPT$MODE & fi else if ! ps auxwww | grep "$CRONSCRIPT$MODE" | grep -v grep | grep -v cron.sh 1>/dev/null 2>/dev/null ; then $PHP_BIN $CRONSCRIPT$MODE & fi fi
Updated January 8th:
I guess I'm confused about how this actually works. I thought the cron job was used every time regardless of the "Aschroder.com SMTP Pro Email Extension". If it is not being utilized in our current process then all the better (I don't have to worry about it possibly not working).
The auto-creation of the
cron.*.log-Files is a method suggested in this article on how to verify the cron.php and cron.sh are running correctly...I added some code to cron.php and cron.sh as suggested by this article and it was suppose to create those
The IP reputation thing may actually be the problem because I read somewhere that Hostforweb got some dirty IP addresses which they assigned to their customers in the migration. I have an open ticket with them in regards to being blocked (blacklisted) by AOL. I didn't know we had to have good reputation to send mails to/via SendGrid since SendGrid is the company whose objective it is to help send Email in the first place. I'll try to talk to them even though that may be difficult because they don't really have technical support for their free accounts (our volume qualifies for the free tier at Sendgrid). Is there any way to check this reputation and if that could be the problem?
2nd edit on January 8th, 2018:
I did a lookup on mxtoolbox.com and it says the following:
SMTP Reverse DNS Resolution Reverse DNS Resolution - No PTR Record found SMTP TLS Warning - Does not support TLS. SMTP Transaction Time 15.124 seconds - Not good! on Transaction Time Connecting to my IP address SendSMTPCommand: Timeout waiting for response after 15 seconds. KEEPER3v2 15973ms
Is that the problem?