After 1.5 hours on the phone and at least an hour of online chatting with the customer service people at godaddy, I didn't move anywhere.
a simple mail() function in php isn't sending emails to #hotmail.com, #mail.com, and my university email. I am sure there is more though.
#yahoo.com and #gmail.com work no problem regardless if I change the header or not.
On the phone they told me it's the email service blocking it due to spoofing, sure but than I used a simple mail(example#hotmail.com, SUBJECT, BODY) and it still didn't go through.
In the chat support, we updated the SPF (TXT) lines under DNS Zone to be directed to my server or something like that and it was supposed to fix it after 24 hours, but still nothing.
He also checked the error logs and said everything looked like it went through and there were no bounces at all.
Obviously contacting each email service and telling them to unblock my godaddy server is slightly weird in my logic. I have a bad feeling that it's godaddy that is messing up
Please help! My whole project is based on emails being sent to for registration conformation, password recoveries, news and more..
EDIT:
The TXT records found for your domain are:
v=spf1 a mx ptr a:dedrelay.secureserver.net include:secureserver.net ~all
Checking to see if there is a valid SPF record.
Found v=spf1 record for somesite.com:
v=spf1 a mx ptr a:dedrelay.secureserver.net include:secureserver.net ~all
evaluating...
Results - PermError SPF Permanent Error: Too many DNS lookups
This does not have to be GoDaddy's fault
Hotmail and others can be VERY strict about emails (they just delete it if it's a tiny bit suspicious/bot/spam-looking). Sometimes especially when using php mail()
And php's mail() function really can't be used for anything half-serious. + it's a horrorshow messing with those headers
You should consider using a SMTP mailer like PHPmailer or SwiftMailer or alternatives. Let their well-developed script handle all the header stuff etc. Much higher chance of mails getting through
Or you could use an external mailer API (SendGrid, PostMark, many others)
Related
I have my site hosted on bluehost which sends out daily mails to customers (with cron jobs). All mails are working fine except outlook and hotmail. Customers are not getting emails on their outlook/hotmail accounts. I checked the code and it working properly, returning true with php mail function.
MX records on hosting are set to gmail, bluehost supports says its a code issue or I need to consult with google but when I send direct mail through gmail account customers are getting them.
I am not sure how to debug and resolve this issue. Can someone suggest me the ways to resolve this or the possible reason behind this.
I know this is a few months later, but maybe I can help. I fought with this for a while. It depends on the mailer you're using, and your code a bit so it would be best to post it here.
Overall though, outlook and hotmail have extremely high spam filters, so there's a list of things you need to consider.
First - I've heard third party mailers will get blacklisted or blocked pretty quickly (check their reviews), so check that the IP address hasn't been blacklisted. You can contact outlook to do this (good luck), or send yourself an e-mail, find your ip in the header of your e-mail, and check a blacklist checker online somewhere.
Second - As part of USA's CAN-SPAM Act of 2003, you need to provide some sort of unsubscribe link as well to be in the good books.
Third - If you are using phpMailer or something along those lines, you'll need to remove anything that looks like this:
$mail->AddReplyTo("youremail#domain.com");
$mail->From = "youremail# domain.com";
Because that will get it marked as spam.
Fourth - If you end up trying to send your e-mails through your gmail instead, allow access to third party apps, then go here (https://accounts.google.com/b/0/DisplayUnlockCaptcha), it will show up in your hotmail just fine.
Be warned that if you test your hotmail too often with the same message, it'll get blocked again.
Hopefully this helps!
I have created a mailing software using PHPmailer. Everything is working ok apart from emails are going to Hotmail junk folder. Yahoo, Gmail, Aol and other domains are receiving the emails but not Hotmail.
I have set SPF on my hosting for the domain which I am sending the email from and When I check the source of the email on Hotmail, it shows this:
Authentication-Results: hotmail.com; spf=pass.
The emails I am sending is not classified as spam as I get it checked with some online tools. I also tried sending test emails as if I am sending an email to a friend. Still no luck
Has anyona any idea if there is anything else I should do?
Note1:I have checked other posts on here but I couldnt find an answer so I am posting my own with my own details.
Note2: I have also tried sending Gmail SMTP and still emails are going to junk folder.
Note3: I have also tried the hosting company email domain to send but still it goes into junk mail.
Thanks in advance.
Take a good look at the email headers on the receiving hotmail account. There will be clues as to why you're email is being classified as junk.
Take a look at this article.
https://technet.microsoft.com/en-us/library/dn205071(v=exchg.150).aspx
You're looking for two header fields called
X-Forefront-Antispam-Report
X-Microsoft-Antispam
You're going to see a BCL, PCL, SRV with a colon after it and a value, depends on what those values are will be your clues as to why you're hitting the spam folder.
Without posting the full header, their's little information anyone is going provide other then telling you to try this and that. I'm a big proponent of telling people to use this mail tester, because it's the best around, but no mail testing program is going to solve every problem, but they are a good start.
Getting around email spam filters (as a legitimate sender) is a complicated issue.
Personally I recommend using Mailgun, Sparkpost, or another email service.
These guarantee delivery and most are free for the scale you'll be operating at. I personally recommend mailgun.
Is it possible to send mail from two valid sources?
To expand on this, I run an online shop web app, to separate concerns (and servers) I'm now using a 3rd party to handle mailboxes, (zoho.com) so as you can imagine, my mx records point to their provided names, and spf looks as follows: v=spf1 mx include:zoho.com ~all everything with zoho works smoothly.
Now, at the end of each day we need to notify each of our customers about their orders, plus other various automated mails during the day.
These mails come from the server, and are all sent using PHPMailer, but knowingly not using SMTP because I would very quickly fill zoho's queues and quotas for outgoing mail.
And more importantly, I cannot don't receive mail from my own domain sent from the server, but all other users seem to get the server produced mails just fine.
So the question is, what can I do to make my server a verified sender for my domain without removing zoho of course, some change in the SPF?
You can include multiple domain names, and your ~all should be -all
v=spf1 mx include:zoho.com include:myotherdomain.com -all
The actual problem here was the MTA settings with Exim, where my own domain name was set as a localdomain, hence the mail wasn't even leaving the server, by changing it to remotedomain mails started working normally.
I'm using mailgun API for sending emails to the user accounts. I keep checking the mailgun log for checking the send statuses. My problem is everything is working fine when sending emails to gmail and yahoo. It is not working for hotmail. I have checked the junk folder in hotmail. I couldn't find the email. Here is the mailgun log for the delivered status to hotmail email account.
02/24/14 04:44 AM Delivered: decodedtool#sandboxunique.mailgun.org → vinodkumar.u93#outlook.com 'Welcome! Outlook Test'
Please help me to resolve this. Thanks in advance.
Although it seems as if it is delivered, in fact it was blocked by hotmail.
You should check your Bounce tab in mailgun but you probably won't find anything there too.
Take the following steps to try to narrow the causes:
Check the headers of a delivered email to see what mailgun server it was sent from.
Get this IP and search it for blacklisting. Especially in http://www.spamcannibal.org/
Lookup the same IP at SendScore.
Now, assuming that you don't have a dedicated IP from Mailgun, you'll notice that your IP might not be blacklisted but several other IPs from the same range might be. This is enough for hotmail to block your emails without giving you a reason.
Ask Mailgun to move you to a different IP and hope that a bad internet marketeer won't be using it too.
Hope this helps
Theodore
While the above answer does have a few helpful hints, it is inaccurate in a few respects.
First, Hotmail does not block emails based on a SpamCannibal listing. Hotmail's own IP's are listed with this blacklist as well as the IP's of every other major ESP. Second, the reason that the IP's are listed with SpamCannibal is that they are a blacklisting service that extorts payment in return for being delisted. Of course, once delisted, nothing stops SpamCannibal from placing the IP - or an entire subnet - back on the listing. Third, no reputable ESP uses SpamCannibal in their filtering decisions. Fourth, the only known service that relies on SpamCannibal is the obscure Linux spam filter Linux Magic, and that's only because that service does a lookup of the blacklists on MX Toolbox.
All in all, being listed on SpamCannibal will not affect email delivery, regardless of whatever email service you use. If you're being blocked by Hotmail, it could be due to your domain's reputation, your IP's reputation, or your email content (usually the last option). To see Hotmail's email policies, visit http://mail.live.com/mail/policies.aspx as well as this interesting discussion here http://community.office365.com/en-us/f/148/t/174524.aspx
I have set up an AJAX contact form on a client's website.
The problem is that the email is not getting through to the client's inbox.
I set up the client with Google Apps (in the same way I did for myself).
I used the same contact form with my email address and it works. But with any email addresses on their domain it doesn't!
All members of the domain are receiving 'ordinary' emails.
What could be the difference that's stopping mail() emails getting through?
UPDATE
Ok so I managed to solve it. Turns out that using a CNAME to point the domain to the correct server wasn't enough for sendmail so I had to change it to an A record pointing directly to the server. Strange but true. Thanks for the help folks, you pointed me in the right direction :)
It depends on the both settings on your server and the server on the receiving end.
hotmail for example requires the use of correctly configured SPF records.
many mail-receiving servers (including hotmail) require the email to originate from a Fully Qualified Domain Name. It is very possible that your e-mails send from PHP do not comply with this rule. (there is a good chance they originate from 'apache')
see hotmail self help and hotmail postmaster info
PHP's mail() function does not include a lot of headers with your mail, so you will need to supply them yourself.
The more hops your mail makes on it's way to it destination, the more likely it is to be tagged as spam.
So it might be a better option not to use PHP's mail function and instead use a mail library that connects to an SMTP server just like your desktop mail application does.
All in all, I would place my bets on an external library: Pear::Mail (documentation)
You could also read: how do you make sure email you send programmatically is not automatically marked as spam
UPDATE
Failing the SenderId or SPF check can get your message dropped before it even hits the users inbox. The message will not end up in the users junk folder, it will go directly to /dev/null.
I know this is at least true for hotmail and live mail. I see no reason for other hosts not to have implemented the same policy.
I recommend using PHPMailer (including their SMTP) library instead. It is reliable compared to mail and allows you to create fully customized emails.
http://phpmailer.worxware.com/