This blog post is about the SMTP Pro extension. It is my attempt at full explanations to some very good questions/feedback from Chris Last in his comment on an earlier post. I decided that I should give thorough explanations to the questions and they probably belong in a blog post rather than a reply comment. Hopefully it’ll form a mini user-guide, I’ll try to update it as such over time.
Update July 2013: I have since released a premium extension for sending email using Amazon SES called MageSend, if you’re having toruble sending email with Magento, please check it out, it was created to solve many common Magento email issues.
There are too many sections in Config->Advanced->System for me to make complete sense of:
Mail Sending Settings – do these have any effect?
Disable Email Communications No
Host localhost
Port (25) 25
Set Return-Path no
1) The Mail Sending Settings are the built in Magento ones, they don’t work very well for custom SMTP servers and you can safely ignore them. One thing to note though. I do adhere to their disable configuration in my extension. So if you disable all emails using the core config here, all emails do stop even if sending via SMTP Pro.
SMTP Pro Email General Settings – what does this section do that the similarly-named but different section below doesn’t do?
Choose extension option SMTP
Use Store Email Addresses for Reply-to No
Development Mode options Disabled
Log all messages YesSMTP Pro Email Google Apps/Gmail Settings
mystandaloneaccount@gmail.com
mystandaloneaccount passwordSMTP Pro Email SMTP Settings – does this mean ‘settings if you tske the SMTP option in SMTP Pro Email General Settings’ (above)?
Authentication Login
Username mystandaloneaccount@gmail.com
Password mystandaloneaccount password
Host smtp.gmail.com
Port (intentionally blank)
SSL Security SSL
2) Let me try to explain how each of the settings sections work.
The General Settings section is where you configure settings that apply to all send types (SMTP, Google, Amazon SES). For example enable or disable email logging. It is also (most importantly) where you choose which of the various send types you will use. In your example you chose ‘SMTP’.
The other sections are for specifying the connection details for that particular method. So for example the Google Apps/Gmail Settings are for your Gmail username and password for sending via Google. Or the SMTP Settings are for your custom SMTP server username, password and server address/port etc.
In your particular example you had filled out settings for sending via Google servers AND via a custom SMTP server, which incidentally was Google’s server.
I can see how this could be confusing. Basically the Google send option is there to make it really easy to send via Google – behind the scenes my extension will set the server, port, SSL etc so that all you need to input is the right username and password – it does the rest for you, so you don’t have to hunt for the right settings.
The SMTP option is for custom SMTP servers where you need to specify the server, port, SSL settings etc. Now, it’s true that if you use the right settings for gmail, you can send via Google’s servers using this SMTP settings section – but it’s more work than is required. In your case you input some but not all of the right settings here, so the test is failing (or should!).
The option you should use is the Google/Gmail setting, that way you only need to input your username and password (which you actually already have, but have not chosen to use int he General settings).
This is what I get:
ASchroder.com SMTP Pro Self-test results
Testing outbound connectivity to Server:
Using SMTP configuration options
Failed to connect to SMTP server. Reason: ()
This extension requires an outbound SMTP connection on port:
Sending test email to your contact form address mycontactformaddress@mydomain.com:
Test email was sent successfully.
Contact Form test email used SMTPPro to send correctly.
Testing failed, please review the reported problems and if you need further help visit ASchroder.com to contact me.When I change Choose extension option to Google Apps/Gmail it hangs with a ‘no data received’ browser error and I have to back-arrow to return to the magento config page.
Also, I don’t understand what ‘Test email was sent successfully’ means as, if the line ‘Failed to connect to SMTP server’ is true, by what magic did the SMTP commands get issued?
I get the ‘If you are seeing this email then your SMTP Pro settings are correct!’ email though, and I simultaneously get the ‘Contact Form’ email successfully too.
3) These are definitely not standard results. If you receive the test email with the settings you describe, then that could actually be a bug. The settings you describe probably shouldn’t work so the fact they do is worrying. Can you please email me a screenshot of the settings and the result so I can confirm?
Regarding the failure to save the ‘Google Apps/Gmail’ setting, I’m not sure what that could be – my extension doesn’t trigger any behavior on save so it could point to underlying Magento problems? I’d have to see it happen to know for sure. This is definitely the setting you should be using given your setup though.
What I want is to use my Google Apps Domain and, as I couldn’t get it to work, I fell back to using a standalone gmail account. Now I’d like to get the standalone account to work without the errors, then go on to get the Google Apps domain to work.
4) You can use your Google Apps email account in the exact same way that you use the standalone Gmail one. Just input the email address and password in the Google section and you’re all set.
One minor thing – could any of the ‘Run Self Test’ screen messages that have the word ‘success’ in them be in a green hue rather than a red one?
5) People always ask software engineers ‘Can it do this thing X?‘ – to which the answer is almost always Yes. Sadly, there is never enough time to do all the possible X’s and we must choose only some of them. I shall add that request to the list though, as it is a good one!
A Question from Koen (and plenty of other people):
My test reports:
Test email was sent successfully.
Contact Form test email did not use SMTPPro to send.
6) This is mostly caused by extension clashes. Part of the self test checks that the code sending the emails is my code, and if it is not – this is the error message you see.
My usual suggestion is to install on of the extension conflict checking extensions (e.g this one). If you do not see any conflicts, you can also check the headers of the email being sent – to make sure it is being sent by the gmail/smtp server you configured.
If there are no conflicts and the server you expect is doing the sending, then this might be a false negative and you should let me know.
Thanks again for all your freely given hard work – hope this helps and grateful for any response.
You’re most welcome, I appreciate the feedback. I hope this post clears up some confusion, and I hope that other people with similar questions will now find this blog post! Thanks again for the input Chris, please feel free to ask any other questions to clarify.
Hi Ashley,
First of all thanks for the great SMTP pro extension! However I can’t get it working. New account creation emails and password emails are sent correctly but all the order related emails aren’t sent at all. None of them appear in the email log. When running the self test it gives the following feedback:
ASchroder.com SMTP Pro Self-test results
Testing outbound connectivity to Server:
Using Google Apps/Gmail configuration options
Connection to Host SMTP server successful.
Sending test email to your contact form address koentervelde@hotmail.com:
Test email was sent successfully.
Contact Form test email did not use SMTPPro to send.
Testing failed, please review the reported problems and if you need further help visit ASchroder.com to contact me.
I tried dozens of settings but nothing worked. Do you have any idea what the problem could be? Or is their some sort of paid support available?
Thanks in advance!
Koen, I’ve added your question to this post. Along with a response.
@Chris – you had some questions about your setup, I’m getting email bounces on my reply perhaps try sending from a different email account?
Hi Ashley – sorted my issue – unique to my host I guess – thanks for the support.
Noticed this new extension to email images – they mention they’d be pleased to work on compat with guys like you…
/Magentron/extension/7254/magentron_emailimages
Thanks for circling back Chris, I’ll check them out.
Hi, Ashley
Want to suggest one more problem that I faced while working with your SMTP extension. It seems to me that link “Email to friend” in product details dont work anymore after installation of your extension. Your extension is really good but issue that I suggested pushing me to not using your extension. I hope you’ll fix that problem in the near future or maybe you’ll figure out that something wrong from my side (more likely).
Hi, Alpha – sometimes that’s due to an extension handling the ’email to a friend’ functionality and clashing with my extension – check for extension clashes and let me know.
I get it. It because of difference in logical operations in “Contact Us” and “Send to friend” forms. “Contuct us” form always sets “From” field to the value of form in backend config General->emails->Another email 2 (I don’t know why exactly) which is valid for my SMTP server. But “Send to friend” form sets “From” value from the user input (for example someemail@gmail.com) which id not valid for my custom SMTP server (and try to tell me by throwing exception: exception ‘Zend_Mail_Protocol_Exception’ with message ‘5.7.1 : Sender address rejected: not owned by user somemail@somedomain.net ‘ in /some/path/to/my/site/lib/Zend/Mail/Protocol/Abstract.php:431). You can fix it by doing this:
in Aschroder_SMTPPro_Model_Email_Template
replace
$mail->setFrom($this->getSenderEmail(), $this->getSenderName());
with $mail->setFrom(‘youremail@yourdomain.net’, ‘youremailname’);
It is really awful fix of this problem so I hope you, Ashley, can fix it in more appropriate (more programmatic) way (pull those arguments from backend config). I cant do that now by my self because of lack in my knowledge in Magento. But those changes worked for me perfectly.
I hope you’ll fix it in close future. I dont mind that change affect other email types, but i dont check. I think I nedd to say “sorry” for my English, but I think that my text more or less clear, if not – fel free to email me.
Hi Ashley,
My host is now requiring that every account switches to authenticated mail and they are disabling PHPmail on their servers. So this prompted me search the web for a solution, which brought me here. Great job btw with your extension, i think this is my life line!!
Here it comes the dreaded but…i get the same message as Koen (though i use SMTP extension option), but the emails still send from the entered email address (username), so i am assuming that it is working!? What i would like to know is, as magento (normally) sends out emails from different email addresses like sales@, support@, accounts@ etc etc. Is there anyway that the plugin can send emails from these accounts instead of a general one? it would be amazing to have the emails sent from the correct accounts instead of a generic one. Is this or will this be possible in the future?
For the time being i cannot see any alternatives, so we will have to use one authenticated account for all emails, but it would be ideal being able to use the real accounts for each email that magento sends out.
Thanks
continued…i have just sent my customer account an email from the orders detail page in admin and it came from the original sales@ email address instead of the generic one. Should i assume its not working from Admin?
Hi Ashley,
I’m using your extension with the latest version of Magento, but i still don’t receive email notifications of new orders.
I have run the self test and everything comes back green/OK. I was wondering if you might have any ideas what else could be wrong?
Cheers,
Neil
Hi, Piers
We use a setup where all outbound mail is sent via mailer@blah.com and we use the reply-to header setting to set the reply to header for the appropriate email. 99% of the time email clients will obey the reply-to and the reply email will be sent to the expected email account. However for the cases where people send an email to mail@blah.com we have an auto forwarding filter in the gmail account that sends copies of all mail sent to mail@blah.com to sales@blah.com.
Hope that makes sense.
Hi Ashley,
Thanks for the great extension.
I have a Magento 1.4.1 site I am using your extension on and am getting the error:
Contact Form test email did not use SMTPPro to send.
There are no other extensions installed.
I installed your extension to fix the dreaded:
“Unable to submit your request. Please, try again later” contact form error in 1.4.1 that persisted despite trying all 5 of the usual fixes.
It fixed the error, and the contact us form works when your extension is enabled and breaks when it is disabled, but your extension reports that the contact form isn’t using it.
Is this something I should be concerned with? any ideas or suggestions.
Thanks again for an awesome module that totally saved the day!
Cheers,
Josh
Hi Ashley,
Thanks for the great extension, I seem to have a conflict with AW Help Desk extension. I get this error when doing the self-test:
Unable to send test email. Exception message was: Could not set stream timeout…
Also the contact form ends up on a blank page when submitted.
Do you have any quick fixes for these? I’m also asking aheadworks for help so I’ll post here if there are any fixes.
I also have an error when attempting to send a comment form the order-comments page. This pops up a window saying ‘Unable to add order history’. On page refresh it shows the history message showing the message sent, but nothing is actually sent. Any ideas?
I have the same issue is as @Alpha. Thanks for pinpointing it!
For now, I’ve followed his approach of hard-coding the sender into the smtp extension. I imagine one could hard-code it into the sendfriend module in order to leave this extension alone and just target the email-a-product emails.
Hi Ashley! love your extension, its worked great for many clients however I now have one that isn’t working and I haven’t been able to track the issue down. It appears that the magento isn’t able to send messages outbound only to the mail server the client uses for email. All other domains deliver fine. I’ve worked with the hosting company where the mail server is and they dont have any activity of those emails coming in from the web server (separate location). They are able to email each other and all other email is working properly for them. Any thoughts? We are using a google account to send out using your extension. We are using postfix.
I’ve got one for you… any way to have password reset emails come from my magento server, but all other emails use your SMTP gateway?
I want to use SendGrid for our transactional emails, but, it takes about 75 seconds for an email to “hit” an inbox via that route. Using our local mail server on the Magento box, they hit in 8 seconds.
For password resets (which we have a ton of as we are are a new platform with imported customer accounts (but not passwords), having to “wait’ for the email to checkout is a big issue.
Oh, by the way, your extension is stellar! Flawless install and setup. Really appreciate you making it available – look forward to using your other tools.
Hi Ashley,
I am having a problem with “Relaying denied to domain eves-secret.com …” see testing results below. Does this mean I cannot use SMTPPro with my current hosting company?
ASchroder.com SMTP Pro Self-test results
Testing outbound connectivity to Server:
Using SMTP configuration options
Connection to Host SMTP server successful.
Sending test email to your contact form address Info@eves-secret.com:
Unable to send test email. Exception message was: 550 5.1.1 Relaying denied to domain eves-secret.com …
Please check and double check your username and password.
Contact Form test email did not use SMTPPro to send.
Testing failed, please review the reported problems and if you need further help visit ASchroder.com to contact me.
Regards
Jim
Hi Ashley,
I am getting the below error in magento when i click on Run self test.
Please help me on this
*****************************************************************
ASchroder.com SMTP Pro Self-test results
Testing outbound connectivity to Server:
Using SMTP configuration options
Connection to Host SMTP server successful.
Sending test email to your contact form address
contact@bluum.com:
Unable to send test email. Exception message was: 5.0.0 The
email received has no valid FROM address (in the headers, or
in the enveloped mail from address) – we cannot accept it. …
Please check and double check your username and password.
Testing failed, please review the reported problems and if you
need further help visit ASchroder.com to contact me.
Hi, thanks for your great extension, just wonder if it is compatible with the latest magento 1.6?
Hi, I also wonder if the latest version is compatible with Magento CE 1.6.
Hi,
I have 1.4.1.1 and I have Google Appls. I try to use your module but every test gives:
“Failed to connect to SMTP server. Reason: Connection timed out(110)”
I use the Gmail setting (just name & password), but I also try the SMTP (filling all the requiered fields) and I also received the timeout error (setting smtp.gmail.com).
What my be wrong ? How to I increased the timeout ?
Thanks.
My hosting provider (nexcess) had to open the firewall. That was blocking the connection.
we’ve config-ed your extension to connect to GoogleApps Business email account (noreply@). All is working except that it times out when using ST referrals and the invite tool pulls in 20+ emails from Plaxo. the page just sits there and waits and then times out. refresh, refresh. then the page shows up. could you help?
Not really familiar with ST/Plaxo invite – what is it actually trying to do, might be best to flick me an email with more details.
Hello Schroder!
i am about to smash my head against the wall as i have tries the extension a million times with all the available settings but its just not working for me. can you precisely tell me how to resolve the issue.
I have set the SMTPPRO setting as follows:
Mail Sending Settings:
Disable Email Communications: NO
Host: localhost
Port (25): 25
Set Return-Path: NO
SMTP PRO EMAIL GENERAL SETTINGS:
Choose extension option: SMTP
Use Store Email Addresses for Reply-to: NO
Development Mode options: Development Mode Disabled
Log all messages: Yes
SMTP Pro Email Google Apps/Gmail Settings:
Email Address:azmat@tshirts.com.pk
Password: xxxxxxxx
SMTP Pro Email SMTP Settings:
Authentication: LOGIN
Username:azmat@tshirts.com.pk
Password:xxxxxxxx
Host: smtp.gmail.com
Port: not working on Blank, 25, 465
SSL Security: SSL
And i am getting the following results
“ASchroder.com SMTP Pro Self-test results
Testing outbound connectivity to Server:
Using SMTP configuration options
Failed to connect to SMTP server. Reason: ()
This extension requires an outbound SMTP connection on port:
Sending test email to your contact form address azmat@tshirts.com.pk:
Unable to send test email. Exception message was: Connection timed out…
Please check and double check your username and password.
Contact Form test email did not use SMTPPro to send.
Testing failed, please review the reported problems and if you need further help visit ASchroder.com to contact me.”
thank you
Azmat
i forgot to mention i am using Magento ver. 1.5.0.1
I have the installed this and have put the SMTP setting properly on the back-end. I am using magento 1.5 as well. When i do the self test it just times out after trying for so long. I am sure that the connections is not working properly. I am using a google apps account. Any help would be highly appreciated.
I got the whole store designed in a few hours but this email problem i have been troubleshooting for almost a week now. What a pain.
Unable to send test email. Exception message was: Mail from must equal authorized user …
Please help me!
Hello scholder,
I have an issue with my magento site, i.e. no email(like order copy mail, contact us mail and some other custom mails) can’t be sent to a particular email id info@marcoshair.com. If I use any other email id then emails are sending perfectly but in @marcoshair.com domain no email is forwarding.
To get rid of this issue I am trying to use your SMTP extension but can’t setup it properly. I will be grateful entirely, if you can assure me that your extension will resolve my issue and therefore detail steps to how to configure the module to serve my purpose is also required. I have some custom PHP mail function written directly in pages. So does those will work with your extension. On the other sides, as my admin mail id is info@marcoshair.com, so all the mails need to be forwarded in this mail id as a copy both magento defaults mail and my custom mails too.
Your urgent helps is highly recommended and I will be entirely grateful if you can send me a reply asap as my site is about to live and we are only struck at this point for last couple of weeks.
Reply must be sent to my mail id:soumyajyoti@indusnet.co.in
Hi Ashley,
Terrific extension. We’re having a problem though… Your extension reports (correctly) in the backend that testing emails arrive using the SMTP settings I specified for our localhost smtp server. However, invoice/order emails are still not arriving (SMTP Pro Dev settings disabled).
Does Magento use a different protocol to send order/invoice emails? Why would your extension correctly send out emails and yet invoice/order emails don’t go through (even though magento says ‘the message has been sent’). They’re not going to spam… Is there a log somewhere I can check?
Stumped.
Hi Ashley,
We use Gmail, We’re having a problem where all transactional E-mails are being copied to our sales@ account. This occoured when we upgraded our server from a Apache to Lightspeed and then re-configure the settings. The ISP (who typically is very thorough) cannot figure out why this is happening and suggested that I contact you.
Thanks
Hi Ashley,
Thank you for this great extension. But I am couldn’t make it work.
My site is hosted on a Windows server. I managed to install the extension, but I can’t find it on my admin under Config->Advanced->System. I am not sure whether it is a version issue. My Magento version is ver. 1.5.1.0. I noticed that the maximum version the extension supports is 1.5. Do you think that is the issue? I tried to install the extension on my old Magento installations and everything was spot on.
Is there anyway I could make this work on that version of Magento? Would you support the extension on future versions of Magento? Please give me a quick reply as I am almost ready to get my site launched, but just one simple(?) Contact form.
Thank you
B John
For those asking : I am now using this extension with 1.6.0 and it seems to be working fine.
Thanks for a great extension!
Hi Ashley,
I cannot seem to get this extension to work.
Can I send you a snapshot of my settings and some more info about the problem?
Thanks.
Hi Ashley!
We’ve been using your extension and it works well for us. However, on SMTP Pro Email SMTP Settings when we enable ‘Use Store Email Addresses for Reply-to’ . Our mailer no longer works unless the Smtp username is similar with the email address stored in the store email addresses. What could be the problem?
Thanks man! 🙂
Well done for this script.
Installed it in V1.6 and it’s working for Contact Us (did not test orders yet).
The problem:
My Multi Store setup uses different Store Views, and the SMTP Pro Email Settings are not displayed on a Store View level. Thus, there is no way to change the email address depending on the Store View.
It would be nice if you could enable this for Store Views too, or if you could post the code to do so.
Thanks.
OK I found the solution to the Store View problem (see above).
Open app\code\community\Aschroder\SMTPPro\etc\system.xml
Search for all of the following:
<show_in_website>1</show_in_website>
in the following line (for each item found) you should find:
<show_in_store>0</show_in_store>
change each one to:
<show_in_store>1</show_in_store>
Note: For lines with:
<show_in_website>0</show_in_website>
Leave the show_in_store as 0.
Thanks MP – can you let me know if that works though, I was worried about situations where store code might not be set based on the right context? Also thanks for persevering with the comment system to post that snippet.
Hi friends!, I just installed your extension (ASchroder SMTPPro) version 1.4.3 on Magento CE 1.6.1 and for now without problems. I hope during my testing no get issues at create orders.
Regards Ashley!
@Ashley I’ve tested Sign-Up, Orders and Contact Us (still need to test Newsletter) and emails are sent using the SMTP account based on the selected Store View. What else do I need to test (I’m quite new to Magento)?
@Juan thanks for that!
@MP those are the main things to test for (the things that make you money!). Others are things like forgot password, email to a friend, back in stock, payment failed etc. Check out the Transactional Emails section of the magento admin, it basically lists all the types of emails your customers are likely to ever see.
Hi Ashley!
Love your plugins!
We just upgraded to the 1.6 and noticed that the SMTP Pro does not seem to be showing up anymore in the admin.
Since we exclusively use this plugin cause we are using google apps as all our emails, I was wondering if you have done any testing on the 1.6 and is there anything I could try to do to get it working again?
Thanks in advance!
Hi Ashley,
Thanks for the great extension! One additional note about Google Apps for hosting a domain’s email: we discovered early on that we had to purchase an additional email user in order to send FROM our site to our main gmail/google apps email account. Perhaps this has been fixed in the past 5 years, but that’s what we found. So we call the extra account auto-confirm@ or something.
Also, we just moved to a new hosting company and (of course) things are broken… but the Self Test in the system menu completely passes.
I’m re-reading everything I can find… will reply when I find the fix.
Thanks!
Chris
Hi Ashley,
This is so strange… after clicking the Self Test, everything is working ok! Does running the self test initialize variables or “correct” any settings in the database?
Thanks,
Chris
We are about to launch on Magento CE 1.6… Will this work on our store?
We are having a heck of a time getting emails to work properly and just moved everything over to Google Apps in hopes of solving the problem… but no luck!
I’ve no idea what’s wrong. I’ve tried several configurations and I did manage to find an option which connects to the host SMPT, however I also get this test message Unable to send test email: could not read form smtpout.secureserver.net. Site is hosted at GoDaddy
I’d suggest sending Go Daddy tech support an email asking about SMTP setup on their servers.