Multiple DKIM and SPF DNS records - google-app-engine

We uses both Mailgun and Google App engine mail services to send transaction emails from our products. Both needs DKIM and SPF text record in the DNS server. Is it possible to set multiple DKIM and SPF record in DNS configuration? Will it work?

You would only need a single SPF record as you can have multiple rules within it. Check this article for assistance on setting up more than just Google's entries in your SPF record.. Your DKIM signature will specify the subdomain on your domain to check for the signature key. Google Apps uses the google._domainkey subdomain when it specifies the DKIM location to lookup. I'm not sure what mailgun uses but chances are it won't overlap.
Update:
After a quick look around I found this article on Mailgun's website and would think your SPF record should look like this:
v=spf1 include:mailgun.org include:_spf.google.com ~all

Related

Adding Google-managed, auto-renewing SSL custom domain with cloudflare DNS

Trying to enable auto renewing SSL on google app engine but google says DNS records can not be found.
I have added them for subdomain, tried doing all A and AAAA records or just CNAME record (as cloudflare doesn't allow CNAME and A,AAAA on same subdomain), but no luck with google finding DNS records (even after waiting 24 hours).
Whatever DNS records are needed by google to verify ownership of the domain should not be orange clouded/Proxied, they should be grey clouded/DNS only. Proxying will actually cause cloudflare to serve an A / AAAA record for their own servers/ips and on the requests to your origin server, they will use these entries. Google would not see the actual DNS entries to do the verification.
That being said, the A / AAAA records in your picture don't look like the verification records. I don't know anything about GCP/GAE, but generally the domain control verification records are TXT records or CNAME records. Regardless of this, the above applies. You need the DNS only mode to modify the actual DNS entries that everyone sees.

Validating Sender Addresses in Appengine

My app needs to send emails from several addresses: noreply#, accounts# and support#, for instance. Now I'm setting up country-specific domains.
To send emails from Appengine, the sender address has to be a registered admin. To become an admin, you need to have a Google Apps account. But it appears you can't use aliases ("nicknames") - when you click the invite link, you have to log in, which you can't do as an alias. I think this also means I can't set up the country-specific domains as alias domains in Google Apps.
I'm not a cheapskate, but paying $50 per account (three accounts times five domains - $2,250) per year purely to validate the sender addresses is a bit rich. Am I missing something blindingly obvious?
Unfortunately that's how it currently works.
From what I understand GAE team is working on alternate solutions and while they figure out something they offer an AppEngine credit.
But that only works once per App.
We handle this by using an external service (SendGrid, that introduced a pay-as-you-go offer with the same pricing as AppEngine). However if you want full DKIM or other features it becomes much more expensive.

Sender ID record when sending email with GAE

My GAE app sends email, and I followed Jeff Atwood's excellent article to improve the likelihood of email delivery.
The first two steps are really easy, but setting up a Sender ID record is more challenging. The article provides a link to a "Wizard" to help do this, but I don't know the answer to many of the questions in the wizard.
I use Google Apps for email so I'm thinking the Sender ID record should be the same for many other people in my situation (Google Apps and GAE users).
Can anyone point me to a Sender ID record for this?
EDIT:
This page explains how to set the SPF and SenderID record for Amazon SES, and gives the following TXT record for SPF:
v=spf1 include:amazonses.com -all
and the following TXT record for SenderID:
spf2.0/pra include:amazonses.com -all
Leontx's answer appears to give an SPF record and not a SenderID record.
Also, when I look at the headers of the email I send with GAE, there are notes saying that SPF authentication passes even though I haven't added either of the above TXT records to my domain. There is no info in the headers about SenderID.
I'm still confused about this, but I will now be using Amazon SES to send email. It is really cheap and it seems that Amazon takes a lot more care than Google to help make sure that email gets delivered.
Here's the TXT record I had to create to get SenderID to pass:
Host: #
Text value: v=spf1 include:_spf.google.com ~all
But I had to get both SenderID and DKIM passing to get mail into Hotmail's inbox. To get DKIM to pass I had to create a custom domain for our GAE app that matched the domain of the email's From address. Then I had enable DKIM through that domain's Google Apps account. Then it finally worked.
GAE mail (I use Python) does not give any feedback when you send mail. To receive feedback you have to use another service /API. I use Amazon SES in my applications.

Mails sent from GAE go in the spam folder of hotmail even after editing SPF record

Just wondering if someone else found a solution to the following :
--> I have an application running on GAE sending emails
--> These emails are delivered with no problem to gmail accounts but arrive in the spam folder of hotmail
--> I have adapted the SPF record in the nameserver to "v=spf1 include:_spf.google.com ~all" but that did not help
There are a few discussions on this subject in the past but not clear on whether or not there is another solution than asking people to add the application email in the contact list.
Thanks !
You should also add DKIM now that AppEngine finally supports it.
For anyone who is having the same issue.
Problem description
Mail sent from Google App Engine are delivered correctly to gmail.com but arrive in the spam folder of hotmail.com and are even automatically deleted from other
Solution
Two steps to follow:
In the SPF record in the nameserver, include "v=spf1 include:_spf.google.com ~all"
If you email accounts are managed by Google Apps, follow the DKIM procedure. This involves adding TXT records in your nameserver. Some companies offer to update this on-line, I add to exchange emails with the support of my registrar.

Directing email for a domain to AppEngine email receiving service?

I'd like to have emails to a given domain, say http://mydomain.com/, processed by an AppEngine app, let's call it http://emailprocessor.appspot.com/ .
That is, an email to "hello#mydomain.com" should be received and processed by emailprocessor.appspot.com as if it was an email to "hello#emailprocessor.appspot.com" .
I imagine I could do this via MX records for my mydomain.com domain, but I can't find instructions anywhere.
Is this possible, and if so does one set it up?
Also there is no direct support for this according to documentation
BUT
if your http://mydomain.com/ hosted on google apps and you create user hello#mydomain.com as gmail account and in it configure email forwarding rule to the "hello#emailprocessor.appspotmail.com" it should work as it works for any general gmail account email forwarding. It preserves original headers like sender etc.
I almost sure that most of other mail services or servers can support this feature. check documentation of your mail service.
PAY ATTENTION! it must be emailprocessor.appspotmail.com note the appspotmail.com not appspot.com
I did not try it myself yet so I will be happy if you confirm that this works. Again it should.
What I have done is to point the MX record to a server that allows you to do email domain forwarding. Then you can forward all emails to emailprocessor.appspotmail.com.
The advantage of this is that you catch all usernames: hello#mydomain.com, goodbye#mydomain.com, etc...
If your host has cPanel see this: http://www.siteground.com/tutorials/email/email_domain_forwarding.htm
No, there's no documented support for receiving mail on a custom domain.
You would need to host mail elsewhere and configure a forwarder to emailprocessor.appspotmail.com.

Resources