Setup SPF Record to allow sending email from Google Apps and Bluehost - email

I need to be able to send emails from Google Apps (my gmail account) and from my website which is hosted on Bluehost. How do I create an SPF record that will allow me to send emails from those locations but will restrict sending emails from other locations?

Like this:
v=spf1 include:_spf.google.com a a:abc.example.org a:xyz.example.org -all
This says, include Google's SPF record (which will allow all their mail servers to send mail on behalf of your domain), and allow anything in this domain which has an A record, and specifically allow 2 other hosts by verifying their A records. Fail everything else.
For this to work, you will need to know exactly which mail servers outbound mail will come from via Bluehost. I don't know much about them, but that might be your own server, or their outbound servers. If the latter, you might also be able to use another 'include' clause to include their record so you don't have to keep up-to-date with any changes they make.
This site is a useful tool. Google offers others. http://tools.bevhost.com/spf/

Related

Will I lose my existing emails stored in Webmail if I change the DNS MX records?

I want to point my MX records from my existing server (Hostgator) to Google mail, to receive in Google my new emails. If I don't delete the email addresses that I set up in Webmail, can I still access my old emails stored there, or will they be lost when I change the MX records in the DNS?
If you don't delete or cancel your eMail service with Hostgator then your existing eMails should remain in your Webmail account.
I'm guessing as I don't use Hostgator that you access your webmail via an address like webmail.yourdomain.com or directly via the Hostgator webmail (again a guess). If you use webmail.yourdomain.com then just leave this entry in your DNS and you will be able to continue accessing it as you do now once you change your MX records to Google.
Depending on how much mail you have in your current Hostgator account you could look at using Mailbox Imapsync https://imapsync.lamiral.info/X/ which will allow you to 'move' your eMails from Hostgator to Google Mail.
I've used ImapSync a few times and it works well but I have not tried to send anything to Google.
If you do try it with Google please let me know if it works for you.

Sending email on behalf of user via SMTP?

I'm building an app to allow my users to send email. I want the email to originate from their domain. Currently, email is sent on behalf of my Mandrill account with their name/email used for the From header. It "works" but most of the mail is not delivering as best as I think it could.
The way I see it, one option is to use a service like Mandrill, Mailgun, Sendgrid, etc and have my users update there TXT records to verify their domains, thus allowing me to send on behalf of my users. Is that correct?
I'm wondering if another option would be to collect SMTP credentials, and then send the message via SMTP for my user, thereby preventing my user from having to log in and update their TXT records before using my app to send messages. I think it would be far easier to simply add SMTP credentials. Is this possible?
"The way I see it, one option is to use a service like Mandrill, Mailgun, Sendgrid, etc and have my users update there TXT records to verify their domains, thus allowing me to send on behalf of my users. Is that correct?"
Correct you'll want them to minimally have an SPF record that says the service you use is allowed to send email for the domain. I.e. TXT v=spf1 +a +mx inlcude:sendgrid.net ~all
"I'm wondering if another option would be to collect SMTP credentials, and then send the message via SMTP for my user, thereby preventing my user from having to log in and update their TXT records before using my app to send messages. I think it would be far easier to simply add SMTP credentials. Is this possible?"
Not really. They'll need to make sure their DNS records minimally have a valid SPF (TXT) record, otherwise the major email providers and players will either drop their messages or mark them as SPAM/junk.

Email Automation for SaaS product

we are trying to automate outgoing emails for our SaaS product. Currently, each customer is required to configure their own smtp server which are used to send emails from their account (and from their domain), but we are looking at automating this in our product platform.
Each customer should be able to send emails "from" their own domain. The from address should be a domain address of the user.
We can get an account created with a transactional email provider like mailgun or sendgrid, and use that account to send email for all of our customers. However, we need to sign all emails with our domain. Due to DMARC, this can pose deliverability issues. Moreover, even if one customer mis-ueses, reputability of the sending domain (our own domain) is lost --which might affect all our customers.
It is not practical to ask each customer to verify their own domain using DNS verification.
What are the best practices while sending domains in a SaaS set up where the email should be sent from the customer's domain?
"What are the best practices while sending domains in a SaaS set up where the email should be sent from the customer's domain?"
I'm not certain if by "It is not practical to ask each customer to verify their own domain using DNS verification." you mean a) verify their domain with the ESP (Email Service Provider, i.e. SendGrid, Mailgun, etc.) or b) ensure each customer has a proper TXT SPF DNS record that allows the ESP being used to send email on the domains behalf.
Regardless, even if it seems impractical, you'll want to minimally have b) done. You'll need to stress the importance to your customers that a proper SPF record is in place. You could write a simple tool to help them get one that would work. If you have to, explain the importance of a proper SPF record for email delivery is like having a proper A or CNAME record pointing to the correct host for their website. If not setup properly and correctly people won't get their content (they won't get to their website in the CNAME/A record case and they won't get their emails delivered to their users in the SPF record case).
It sounds like you are looking for a solution similar to the company I work for has/does. We sell SaaS and utilize SendGrid for our ESP. For each of our customers we setup a separate Subuser. We set the "from" address to be that of our customers and for the most part it works. We stress to our customers that they should create a SPF record in their DNS records if possible to ensure better deliverability. Some of our customers use email addresses such as lastname.firstname#hotmail.com Unfortunately when they don't use a custom domain, particularly one of the major email providers, their mail often gets dropped by their provider or goes to SPAM since the major players have DNS records that don't allow/authorize ESP's to deliver on their behalf.

Use sendgrid from multiple domains without whitelabel

I'm trying to understand a few concepts around sendgrid, whitelabeling and different servers that I plan to deploy the same sendgrid account in.
So my questions are:
1) Is whitelabelling purely for masking the via sendgrid.me and will I have any issues if I dont use it with my current setup(i.e. same account on several domains)
2) How does sendgrid deal with messages that have a "From" email that doesnt match the domain the email is sent from? Cause I read that it would silently drop them but instead I see that emails do get delivered however the statistics in sendgrid's dashboard are not being updated.
3) Upon creating a demo account I was asked to provide the domain from which the emails will be triggered but since I want to deploy this in several different domains will I need multiple accounts or is there an alternative option when you go for a paid plan?
Mike
Yes - whitelabelling will replace the sendgrid.me with your own domain.
You can also setup multiple domains inside SendGrid and assign each to a subuser. That will get you one SendGrid account, with multiple whitelabelled domains and separate sender reputation for each.
SendGrid will attempt delivery of whatever you ask it to send -- if you send an email with a different from domain than the signed sending domain, it's up to the receiving mail server to decide whether to block, flag as spam, or allow the email. Different receiving domains will behave differently.
It's generally best practice to always have your from domain match your signed sender domain.
Once you have one domain setup, you can setup additional domains using SendGrid subusers -- more info here.
If you have a complicated multi-domain setup, you might want to check out a templating API, like sendwithus, for making things easier to manage. They'll integrate directly with your SendGrid subusers on your behalf.

Sending emails from vendor's multiple domains

We have custom cms that currently sits on a vendor's subdomain, such as cms.vendor.com. It sends email out as coming from user#vendor.com and it seems to be working fine (using Email Queuing + SwiftMailer)
Our vendor asked us to put in the functionality for his users to be able to select from a dropdown, 3-4 other emails address associated with them from other domains he owns. Basically we need to be able to send out emails from our server labeled as being sent from #hisdomains.com, multiple domains.
I am a web programmer and have no clue when it comes to relaying messages. How would I go about being able to send out emails from his other domains? Does he need to setup permissions on his mail servers, or do I need to get into his SMTP servers to send out?
What are some things I should look out for when it comes to SPAM and gmail trusting us?
EDIT:
Not sure if my original question was clear enough. Vendor owns three domains: mysite.com, myothersite.com, mythirdsite.com. He wants a user from our crm to be able to send emails he has on those domains. So my dedicated server will be trying to send an email out as user#mysite.com, user#myothersite.com, and user#mythirdsite.com in the FROM: header.
As long as your server is allowed to send on behalf of a domain your vendor owns, you should not have a problem; just change the From: header to something else when you send out the e-mail.
Stuff like SPF, Sender ID and DKIM have to be properly configured to allow your server to send on behalf of any domain.
See also: http://en.wikipedia.org/wiki/E-mail_authentication
Any domain where the mx record resolves to the same server will work. so user#any.domain will email the same user on the mx contingent server.
To answer your question - just make sure that the mx records in the DNS zone file for each domain name points to the same server as the domain you want to share emails on.
also dependent on server configuration (like shared or whatever) I'm assuming it's dedicated with a simple email server installed. I'm not sure on cPanel/shared servers. but possibly the same.