WP email processes are a little outdated and not very reliable. A lot of email services like Gmail/Gsuite don't trust email coming from a server that isn't an SMTP server and WP sends using phpmail(). In order to fix this, you can install a plugin that sends all WP emails through an authenticated SMTP server instead of using phpmail().
First what you will need to do is enable less secure apps on your Gsuite and Gmail account. Then you will need to install/configure the SMTP plugin.
Enable your Gsuite users to allow less secure apps:
- Sign in to your Google Admin console
- Click Security > Basic settings.
- Under Less secure apps, select "Go to settings for less secure apps"
- In the sub-window, select the "Allow users to manage their access to less secure apps" radio button.
Enable less secure apps for your user in gmail (2-step verification can't be enabled):
- Sign in to Gmail
- Go to https://myaccount.google.com
- Select "Security" tab
- Open the :Less Secure App Access" settings
- Next to “Allow less secure apps" select the toggle switch to turn ON.
Install and configure SMTP plugin, we recommend: https://wordpress.org/plugins/smtp-mailer/
- For gsuite the settings would be:
- Host: smtp.gmail.com
- SMTP Authentication: True
- SMTP username: email@example.com (use your full domain email address)
- SMTP Password: Your email password for the account
- Type Of Encryption: TLS
- SMTP Port: 587
- From Email Address: Full email address
- From Name: The name you want your emails to be sent from
You can then save and test that emails are being sent from the test tab