Before we get started, there are a couple of things that we'll need to set up and have working:
Since we'll be sending and receiving e-mails from our application, we're going to need a registered and active domain name. If you do not already have a working domain name, you can purchase one from a domain registrar such as https://www.namecheap.com, www.name.com, or www.gandi.net.
Next, you'll need to have a web server with a public-facing IP address. This will allow e-mails to be sent to our application. Many cloud Virtual Private Server (VPS) providers are available for use for low monthly or hourly prices. Such services include https://www.digitalocean.com, https://www.linode.com, and www.rackspace.com/cloud/servers.
In order to send e-mails in our application, we'll once again be utilizing a free SendGrid Developer Account, which can be set up at https://www.sendgrid.com/developers.
In this chapter, we'll once again be using the latest version of MySQL (at the time of writing...