Suppose we have a website www.abc.com. We want to send (one way) system emails to users (for email verification, password reset etc) which may be sent from email-verification@abc.com and password-reset@abc.com. We also want our employees to have email addresses (two way) like theirName@abc.com (HR guys, customer-support guys etc), using which they can send and receive emails.I am planning to look into sendGrid (system mails) and google (employee mails).What I don't understand is that how the mappings are done? Like, when a mail is sent by some customer to employeeName@abc.com, how will it be sent to an employee's mail rather that being listened by sendGrid? And while sending mails from our side, how sendGrid is able to map to our domain? I want to know where and how all these mappings exist.
How can we use same domain for employee email and system emails?
domains;dns;bulk email;email accounts
One server needs to be configured to receive the emails for your domain.   It sounds like you are choosing Google for this.   To make this happen you need to change your DNS MX records to the values that Google gives you when you sign up for their system.You need to then configure it so multiple servers can send mail on behalf of your domain.   Traditionally any server could send email from your domain and no configuration was needed to make this happen.   These days, mail sent from random places will likely get marked as spam and discarded.  You will have to configure DKIM and/or SPF records for each server that you are allowing to send email from your domain.   Both Google and sendGrid should give you instructions for configuring one or both of those.   There is no limit to the number of servers you can configure to send email from your domain.I have this set up for my domain.   I have the mailboxes hosted with RackSpace email and I use Amazon SES to send email from the website.   RackSpace is set up as the MX records, but both places that send have DKIM or SPF set up.