OC 1.5.1.1 Mail/SMTP Config
Posted: Tue Aug 30, 2011 2:07 am
2 weeks of searching Google and Yahoo for the correct Opencart mail config for GoDaddy's dreaded SHARED HOSTING, I figured out how to not only make it work, but fast. "work" and "fast" sound good, until I explain how I got it to work and what the "bug" is.
To protect the innocent, my domain name is mysterydomain.com. I created a mailbox for contact@mysterydomain.com at GoDaddy. In OC 1.5.1.1 I configured the Mail tab as follows:
Mail Protocol: SMTP
Mail Parameters: <..left blank..>
SMTP Host: smtpout.secureserver.net
SMTP Username: the_username
SMTP Password: the_password
SMTP Port: 80 (looks weird, but 25 and other ports would neither let my desktop Outlook connect, nor Opencart on GoDaddy's server connect - you get the fsockopen timeout error)
SMTP Timeout: 5
Ok, what I've done above is simply copy the GoDaddy SMTP settings that I use in my desktop Outlook client into Opencart. I figured if I can send and receive email in mere seconds to my mailbox at GoDaddy using Outlook, why the heck did mail delivery crawl when Opencart sent Contact Us forms to GoDaddy via the same account - of course selecting "Mail" instead of "SMTP" for the settings under Opencart's Mail tab.
So, with the configuration above, I can now send myself a test Contact Us form in record time using GoDaddy SMTP. After 2 weeks of starting out with the default "Mail" selected under the Opencart Mail tab, I too was convinced that GoDaddy provided pathetically slow mail deliver for its shared hosting customers. Actually, when I first tried using the above SMTP setup, it too provided slow delivery and I was at the end of my patience with GoDaddy and ready to relocate to a new hosting provider, rather than pay for premium hosting to get fast email delivery. And then, with the SMTP settings as above in Opencart, I stumbled across this mixed blessing in a last ditch effort: I filled out the Contact Us form using E-mail Address... drum roll... contact@mysterydomain.com!
Well, the Contact Us test email I sent popped immediately into my test email account, anyone@anydomain.com, which I specified on the Opencart General properties tab.
So, as long as every customer populates the Contact Us form with contact@mysterydomain.com as their E-mail Address I will receive their inquiry in a few seconds! Unfortunately, I won't know the customer's actual email address and, getting real now, I know nobody is going to fill out the form like that. Whoever wants to receive a reply will actually enter their own email address in the Contact Us E-Mail Address field - and this will cause the dreaded slow email deliver issue. You see, apparently, the Contact Us E-Mail Address is injected into the header as the "From" value - which is ok if it is contact@mysterydomain.com when connecting to contact@mysterydomain.com via SMTP, but not if “From” is any other email address. I am the opposite of a mail guru, but I sense that GoDaddy's SMTP server thinks I am a questionable source of email when I try to inject anything other than the SMTP's account own email address into the From field.
Is this a bug in the Opencart mail logic, or a misapplication of Opencart’s architecture? Should the E-Mail Address value in the Contact Us form get injected into the header, or into the body of the email received?
As a workaround, does it make sense for me to modify mail.php to (1) hard-code contact@mysterydomain.com to override the Contact Us E-Mail Address value someone enters into the form and then (2) take the email value the person enters and add it into the body text of the email?
Is my idea a bug workaround, or have I barked up the wrong tree and need serious email help, whether using GoDaddy's hosting or anybody else's, to get fast Contact Us emails, without paying for expensive hosting and email plans?
Thanks in advance for your help!
To protect the innocent, my domain name is mysterydomain.com. I created a mailbox for contact@mysterydomain.com at GoDaddy. In OC 1.5.1.1 I configured the Mail tab as follows:
Mail Protocol: SMTP
Mail Parameters: <..left blank..>
SMTP Host: smtpout.secureserver.net
SMTP Username: the_username
SMTP Password: the_password
SMTP Port: 80 (looks weird, but 25 and other ports would neither let my desktop Outlook connect, nor Opencart on GoDaddy's server connect - you get the fsockopen timeout error)
SMTP Timeout: 5
Ok, what I've done above is simply copy the GoDaddy SMTP settings that I use in my desktop Outlook client into Opencart. I figured if I can send and receive email in mere seconds to my mailbox at GoDaddy using Outlook, why the heck did mail delivery crawl when Opencart sent Contact Us forms to GoDaddy via the same account - of course selecting "Mail" instead of "SMTP" for the settings under Opencart's Mail tab.
So, with the configuration above, I can now send myself a test Contact Us form in record time using GoDaddy SMTP. After 2 weeks of starting out with the default "Mail" selected under the Opencart Mail tab, I too was convinced that GoDaddy provided pathetically slow mail deliver for its shared hosting customers. Actually, when I first tried using the above SMTP setup, it too provided slow delivery and I was at the end of my patience with GoDaddy and ready to relocate to a new hosting provider, rather than pay for premium hosting to get fast email delivery. And then, with the SMTP settings as above in Opencart, I stumbled across this mixed blessing in a last ditch effort: I filled out the Contact Us form using E-mail Address... drum roll... contact@mysterydomain.com!
Well, the Contact Us test email I sent popped immediately into my test email account, anyone@anydomain.com, which I specified on the Opencart General properties tab.
So, as long as every customer populates the Contact Us form with contact@mysterydomain.com as their E-mail Address I will receive their inquiry in a few seconds! Unfortunately, I won't know the customer's actual email address and, getting real now, I know nobody is going to fill out the form like that. Whoever wants to receive a reply will actually enter their own email address in the Contact Us E-Mail Address field - and this will cause the dreaded slow email deliver issue. You see, apparently, the Contact Us E-Mail Address is injected into the header as the "From" value - which is ok if it is contact@mysterydomain.com when connecting to contact@mysterydomain.com via SMTP, but not if “From” is any other email address. I am the opposite of a mail guru, but I sense that GoDaddy's SMTP server thinks I am a questionable source of email when I try to inject anything other than the SMTP's account own email address into the From field.
Is this a bug in the Opencart mail logic, or a misapplication of Opencart’s architecture? Should the E-Mail Address value in the Contact Us form get injected into the header, or into the body of the email received?
As a workaround, does it make sense for me to modify mail.php to (1) hard-code contact@mysterydomain.com to override the Contact Us E-Mail Address value someone enters into the form and then (2) take the email value the person enters and add it into the body text of the email?
Is my idea a bug workaround, or have I barked up the wrong tree and need serious email help, whether using GoDaddy's hosting or anybody else's, to get fast Contact Us emails, without paying for expensive hosting and email plans?
Thanks in advance for your help!