Setting up custom domained heroku app to send email from the domain's email address - ruby-on-rails

So, I have a heroku app: severe-ocean-4908.herokuapp.com/
The app has a custom domain: www.volunteerhours.org that I purchased through godaddy
I have zerigo basic addon on my heroku app that hosts the heroku app under the domain name www.volunteerhours.org
Currently, the website sends email through gmail, but now I am trying to have it send email using the free email account info#volunteerhours.org
I have done some research online and have found some useful articles
Here are the links that I think talk about the setup that I am trying to do:
http://www.zerigo.com/docs/managed-dns/creating_your_first_domain
https://webmasters.stackexchange.com/questions/22523/enable-email-on-godaddy-when-using-zerigo-on-heroku-hosted-app
My Question
Currently, I am trying to add my email host in zerigo so that email.volunteerhours.org hosts to smptout.sercureserver.net...like mentioned in the first article
I am a beginner in Rails and I know that this question is not very specific or if this is the ideal/easy way to do it. Any help/comment is highly appriciated
Many Thanks,

You need to create a CNAME record in the Zerigo interface. The below screenshot on the Zerigo link provided shows where you need to do it.
Set the "host" as email, leave the TTL as the default (doesn't matter for your end of the CNAME record), set the type to CNAME and leave the priority blank.
The data field will need to be smptout.secureserver.net.
Note that you will also need to fill in the MX records for your domain, as per the GoDaddy documentation. Make sure to set email in the Host field for the MX records as this will be your mail domain.

Related

Setting up Bluehost with Heroku and Google G-suite

I have my domain name purchased on Bluehost. I have my website application hosted by Heroku. I have my email setup with Google G-suite.
I setup the 5 MX records in the Bluehost zone editor as per Google's instructions, however, I cannot receive any emails. Google told me my nameservers are not active, however my domain name successfully directs to my Heroku app - so that's the first thing I don't understand.
Bluehost told me that I need to stop pointing at their nameservers and provide them with nameservers from Heroku but I cannot find this information.
Anyone know how to setup Bluehost to operate successfully with Heroku and Google mail?
Solved. Explanation to save others time (5 hrs chat / 2 hrs phone support): (1) Heroku does not supply nameservers. Therefore your DNS provider (or other company) needs to. (2) Even though the domain name successfully pointed to my Heroku app via the CNAME record, the Bluehost guy was surprised this worked at all without nameservers setup. (3) Solution: I needed to purchase the basic hosting plan from BH which activated the nameservers. My mails started to be received at Google mail. I had to re-enter the MX records for Google & the CNAME record for my Heroku app in the BH zone editor.

Subdomains in Mandrill

I am using Mandrill trial account for sending emails, i have a question which i am not able to find a solution.
I have a domain (www.domain.com) which is registered with Mandrill account with an email address email1#domain.com. I have a requirement where i have to sent emails from different sub domains from mandrill. Is there any facility to configure sub domains or wildcard DNS in Mandrill. Basically i want to sent email from different email addresses like email1#subdomain1.domain.com, email2#subdomain2.domain.com, email3#subdomain3.domain.com.
Here the sub domains can be anything which changes for different users, but the main domain doesn't change. Is there ant way to achieve this.
Please help me, I am new to Mandrill.
Since you own the domain and thus also the email server,
go to your email settings
forward/reroute email2#subdomain2.domain.com to email2#domain.com
receive verification link on email2#domain.com
verify and use the application

Is it possible to receive e-mail using Google Apps for Work (gmail) with a heroku domain?

I have a Google for Work account and I'm creating an e-mail address with my herokuapp domain (e.g. me#myapp.herokuapp.com). I have verified the domain by putting the meta tag in the header of my app. I can send e-mail through gmail from me#myapp.herokuapp.com but for some reason I can't receive e-mail. I'm curious what is causing the problem of the e-mail not going through.
If anyone has some insight, I would appreciate it. I know that it's possible to receive e-mail by using a custom domain in my heroku app, but I don't want to spend the money on a custom domain right now.
As mentioned by miketreacy, you would need to configure the DNS records for your herokuapp.com subdomain to point to the Google server.
This is not something Heroku allows you to do though. The only way you can send and receive emails from your app is with your own domain name.
Your MX records are not set to Google's. Currently, the MX records are listed as these. In order to receive emails at this domain - in your Apps account - you'll need to modify your DNS to match the MX records listed on Google's Support site.

How do I alternate domains for sending emails for my app running on Heroku with Sengrid Add-on?

So we are running a rails app on Heroku with the Sengrid add-on (free plan so no whitelabeling) (let's call it magicapp) and in our action mailer we always set the from field to be "noreply#magicapp.com". We have seen some of our email go to spam and someone suggested to us to try to alternate our email domain to improve deliverability.
So my questions are as follows:
What verification and checking goes on at the receiver side to verify that the email really is sent from "magicapp" and not just someone pretending to be magicapp?
Right now, when we send an email from "noreply#magicapp.com" the email says it's from "noreply#magicapp.com via sendgrid.me" so when receiver clients are doing spam checking, do they use my "magicapp.com" domain for reputation or the "sengrid" domain?
If it does use the "magicapp.com" domain, could I just set my from field in my action mailer to be a different domain such as "magicapp-mail.com"? Are there any potential issues to this or additional things to set up, like DNS etc? If I do this, will the receiver use the reputation of the magicapp-mail domain instead of magicapp then?
Any answers or information would be much appreciated, thanks!
I am pretty sure setting sendgrid's DKIM and SPF records properly will save your emails from being sent to spam. At least that's what worked in my app I was working on and emails ended in inbox, unless users hit Mark as spam instead of unsubscribe.
DKIM
DKIM stands for DomainKeys Identified Mail which was designed to help ISPs prevent malicious email senders by validating email from specific domains.
What a basic DKIM record should look like:
smtpapi._domainkey.yourdomain.com. | TXT or CNAME | value
smtpapi._domainkey.subdomain.yourdomain.com. | TXT or CNAME | value
TXT value: k=rsa; t=s; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDPtW5iwpXVPiH5FzJ7Nrl8USzuY9zqqzjE0D1r04xDN6qwziDnmgcFNNfMewVKN2D1O+2J9N14hRprzByFwfQW76yojh54Xu3uSbQ3JP0A7k8o8GutRF8zbFUA8n0ZH2y0cIEjMliXY4W4LwPA7m4q0ObmvSjhd63O9d8z1XkUBwIDAQAB
CNAME value: dkim.sendgrid.net
docs: https://sendgrid.com/docs/Glossary/dkim.html
SPF
Sender Policy Framework (SPF) is an email authentication standard developed by AOL that compares the email sender’s actual IP address to a list of IP addresses authorized to send mail from that domain. The IP list is published in the domain’s DNS record.
The DNS record should look like this:
yourdomain.com. | TXT | v=spf1 a mx include:sendgrid.net ~all
docs: https://sendgrid.com/docs/Glossary/spf.html
The key is your 2nd question. As long as you're not whitelabeled, the receiving server 'knows' the mail came from SendGrid, so it checks SendGrid for all DKIM & SPF records. SendGrid signs your mail with their own DKIM if you're not whitelabeled, so it all checks through.
"Alternating" the domain does not sound like a feasible way to avoid bulking of your mail. We're still in an IPv4 world, and IPs are still the main source of reputation tracking in the email world. No matter what domain your mail says it's "From", the receiving server knows what IPs gave it the mail (unless your domain is so bad it's blacklisted).
What does mail-tester.com say about your mail?

Mandrill Inbound email- setting up Sending Domains with an app hosted on Heroku

I am trying to learn the ins and outs of Mandrill, so I created a test app that has no functionality except creating users, signing them in and out, and clicking on a link that sends the user an e-mail through ActionMailer.
So far all of this works fine. I have configured Mandrill to send e-mail in both development and production (Heroku). What I'm trying to do now is configure it to receive e-mails sent from users and do stuff with them. My problem is that I'm not sure what to add as my mail domain in the Sending Domains section of my Mandrill account page.
I've done this before with an app on Heroku using Mailgun. Mailgun gave me a Mailgun subdomain to use for user testing off the bat (app12345678.mailgun.org). I was able to send mail to postmaster#app12345678.mailgun.org and it worked perfectly. With Mandrill it's proven a bit more difficult.
Mandrill doesn't seem to provide a Mandrill subdomain to start with. I suppose my question is: is it at all possible to get a Mandrill subdomain for testing like the one Mailgun provides? If not, how can I go about user testing inbound e-mail with Mandrill if I don't currently own my own custom domain? What can I use as the Sending Domain?
it's not currently possible to use Mandrill's inbound email routing unless you have a domain/subdomain to work with. We don't provide a testing subdomain to use for inbound routing.
Any domains you actually send from in Mandrill will be added to the Sending Domains page. You don't have to manually enter any domains there, since we'll detect any that you use and show them there automatically. If you want to set up SPF and DKIM for your sending domain, you can manually add it in order to validate the records have been added correctly.
If you have other questions specific to your account, our support team is also happy to help if you want to get in touch via the Support button in your account.

Resources