Implement DKIM for clients relying email through our servers - email

We are an E-mail service provider and properly configured SPF, DKIM and DMARC to authenticate all emails. we have dedicated IP addresses too.
We are allowing our clients to send emails through our servers.
The following setup has been done on the client side.
Our SPF record has been included in Client's DNS record (SPF), so that we are authorized to send emails on their behalf.
As far as DKIM is concerned, we are signing the emails and signing domain is our domain.
My question is:
What should I do, In order to sign email on behalf of the client?
How do, I implement the whole process?
I have checked SMTP2GO and found out they are asking the client to add a cname record to their DNS as follows:
Host Name:
selector._domainkey.yourdomain.com
Value:
dkim.smtp2go.net.
We would like to do the same. what should be done on our DNS records in order to achieve this?
Another option is adding a TXT record to client DNS
Host Name:
selector._domainkey.yourdomain.com
value:
k=rsa p= 'public key'
We would like to do the same. what should be done on our DNS records in order to achieve this?
Thanks in Advance!
Cheers,
Sundar.

Related

Plesk correctly sending emails but unable to receive external emails

Everything has been working good untill today, when we had an issue with our SSL certificate when it expired and we changed it for another.
Since that happened, we can properly send emails but not receive them, unless they are emails from our own domain.
The installed SSL is not a Wildcard SSL.
We have not added the subdomain "mail.domain.com" on the Plesk domains list.
We assigned the non Wildcard SSL to work also on email on the Plesk domain settings.
We have no information regarding the non-receiving emails on the Plesk logs.
If i go to the following SMTP tester: https://www.wormly.com/test-smtp-server and send an email checking that it has to be an SMTP email, then that email is received correctly even if it comes from a different domain.
By the other side, if i do not check the SMTP email checkbox, the email is never received
Our DNS records are the following:
domain.com. TXT v=spf1 +a +mx -all
smtp.domain.com. A SERVER.IP
pop.domain.com. A SERVER.IP
pop3.domain.com. A SERVER.IP
imap.domain.com. A SERVER.IP
domain.com. MX(1) mail.domain.com
What can be going wrong?
It has been apparently been fixed after changing the MX record from "mail.domain.com" to "domain.com".
These DNS records have been working for a year since our last update, and the only thing that has changed is the SSL certificate. Im not really sure how this has been affected, maybe the previous SSL certificate was a Wildcard one, while this wasnt, and that made the email not receive properly.
Not really sure about this theory though, but it seems to work.

How to use a custom SMTP URL for Mailgun?

I use Mailgun for the outgoing emails of my customers and Cloudflare to manage DNS.
The problem is that my customers want to send emails using GMail as well, but I don't want them to know which service I am using.
Therefore, In case in the future I change the service, I don't want to contact all customers asking to change the parameters again.
Here is what I use:
So I decided to use DNS for this: I created for each domain a new CNAME (smtp.mydomain.com) which points to smtp.eu.mailgun.org:
Everything worked fine for few months by now, but from yesterday emails sent from GMail bounce back with this error: "TLS Negotiation failed, the certificate doesn't match the host".
I tried using other ports also, but still the same result.
If in GMail I use smtp.eu.mailgun.org instead of smtp.mydomain.com everything works fine again, so I guess the problem is in the DNS/Cloudflare configuration...
This is the report of the DNS Check of smtp.mydomain.com that I get from MXToolbox:
Any idea on how to fix this?
Thank you!
SOLUTION:
As of April 2020, Google started enforcing TLS when sending email.
In the Gmail settings under Accounts and Imports, Edit your Send mail as Email settings.
Change your outgoing servername (SMTP Server) to smtp.hostprovider.com (mine was smtp.dreamhost.com). If you are using your website name, (mail.example.com), this will continue to fail.
I also updated the port number from 587 to Port 465
Hope this helps.

Can I host my site in DigitalOcean and my Email on Godaddy?

My client is currently hosting his site on a shared GoDaddy hosting plan, an also his emails accounts. Question is... how can I migrate his website to Digital Ocean and keep the emails on GoDaddy?
I had an recently where I could not receive emails on my goDaddy account once I have moved the nameservers to DO. For anyone facing this issue, the below steps should fix it.
To migrate hosting from goDaddy to DO, follow the below link
https://www.digitalocean.com/community/tutorials/how-to-point-to-digitalocean-nameservers-from-common-domain-registrars
Once you have pointed nameserves, your traffic will be redirected to DO. Now if you want to use the email service provided by goDaddy, you will need to point your DO "MX" records back to godaddy.
First you will need to know the goDaddy incoming email server details. To obtain this, you will need to go to email server settings within your goDaddy Dashboard. The server details will look something like
Incoming server (IMAP):
imap.secureserver.net
Incoming server (POP3):
pop.secureserver.net
You will then need to add these details as MX Records in your Digital ocean domain DNS settings page. DO will then route emails to your goDaddy email service.
These details will take time to reflect. For me it took a day to start receiving emails on goDaddy.
Hope this helps!
Yes, you could just change your zone records to reflect what you want to do. Presumably you want to transfer the DNS zone to Digital Ocean and only keep the email at Godaddy.
In Godaddy's domain name manager you can change over to the Digital Ocean name servers.
ns1.digitalocean.com
ns2.digitalocean.com
ns3.digitalocean.com
Check things out:
dig ns example.com
and
whois example.com
The name servers should be the above DO name servers.
The only thing you need to point back at Godaddy will be Goddady's MX records. unless, of course, you're using Office 365 email, which a lot of Godaddy's customers seem to use, in which case lookup the appropriate MX records for Office 365.
I hope this helps.
This is possible, recently I did the same with Hostgator and GCP ( Mail service from webmail and app in Google Cloud ). These are the steps I followed.
1) Add new A record ( if possible/allowed add with name # ) in your
shared/hosting/cpanel service, and point it to your cloud providers
IP(the IP on which your app is running).
2) Add another A record with name www and point it to the IP of your
service running in the cloud.
3) Delete the CNAME record called mail.
4)Add new A record with name mail and point it to your cpanel /
webmail service providers IP.
5)Add MX record and point it to destination mail.yoursitename.tld and
set the priority as 0
By this point, you will be able to send mail.
6) Add SPF record ( TXT record ) or go to Authentication settings in
the Email section in your cpanel and enable SPF.
7)Go to Email Routing in the Email section in your cpanel and select
your domain then choose Local Mail Exchanger under Configure Email
Routing. That's it now you will be able to receive emails also.
Link to my original answer

cPanel 'No such user here'. Local account issue?

I have a website hosted outside the organization. The mail server to recieve the message is inside the organization. The website submits a simple form to email using PHP mail function. Works on every domain tested for the recipient except for ones internal to the domain.
So website is www.domain.com. Mail server is mail.domain.com. Hosted at separate sites. When www.domain.com wants to send a message to user#domain.com it should lookup the mx record and notice that mail.domain.com is at another location and forward the message.
If I configure it to send to user#otherdomain.com, the message is successfully sent and received. But sending to the same domain responds with 550 error 'No such user here'. So I'm wondering if the webserver thinks it is supposed to be the recipient of the mail, and thus responds with 'No user here' because, frankly there is no user configured there.
So does anyone know what cpanel/whm settings need to be added/adjusted to allow this server to know that it is not responsible for mail exchanging for this domain. I do have the mx record setup properly, but don't know if it also requires an A record for the address. Any help much appreciated.
I did notice others having the same issues, but no solutions were actually proposed, so I figured I would make my own question, and see if it get's a good answer for others too that may experience the same issue.
It looks like your routing settings are incorrect. Navigate to cPanel >> MX Entry and verify that the routing setting is Remote Mail Exchanger
As the mails are to be delivered externally, setting this as Local Mail Exchanger will make cPanel think the mails are setup locally and cPanel will try to deliver mails locally. As there are no local mail accounts configured with that name, it bounces with the mentioned error.
I would suggest avoiding sending directly to the MX. Submit your message to a local mail server and let it relay to the MX for you. If you send using PHPMailer with SMTP you will get much better feedback on deliveries. As for what cPanel is doing, check the local mail server log, usually in /var/log/mail.log.
You have to change the setting from local to "Remote Mail Exchanger" in dns zone file. and also create mail account at remote location site.

DotNetNuke is not sending out mails using SMTP Server

I have configured my DNN mail server to send out mail using our companies Email service provider. I cannot send any emails to external email server.
For ex. My email provider is testx#ttt.com. I can send emails to testy#ttt.com and textz#ttt.com. However i cannot send to testy#gmail.com or testy#hotmail.com
The error i see in the DNN event viewer is as below
System.Net.Mail.SmtpFailedRecipientsException: Unable to send to all recipients.
System.Net.Mail.SmtpFailedRecipientException: Mailbox unavailable.
The server response was: This domain is not hosted here
I have the same email address configured in my outlook and i can send/recieve to any emails like gmail or hotmail. Following are my DNN email settings
It sounds like one or two things might be happening here:
Your SMTP server isn't set up to allow relaying from the IP address of your web server.
You may need to create an SPF (Sender Policy Framework) or TXT record in DNS for your SMTP server's primary domain that allows SMTP traffic from the IP address of the server where your DNN website is hosted. An SPF record may already be in use for your email domain, but generally you'd add something like this to it: v=spf1 a ip4:1.2.3.4 -all, where 1.2.3.4 is the IP address of your web server.