Skip to content

Configure Magento 2 to send email using SMTP protocol throught Gmail, Amazon Simple Email Service (SES) and many other SMTP (Simple Mail Transfer Protocol) servers

Notifications You must be signed in to change notification settings

swissup/module-email

Repository files navigation

Email

Magento2 module for email providers integration.

example

Following email services are supported:

  • Amazon SES
  • Gmail
  • Mandrill
  • Sendmail
  • Manual SMTP settings

Installation

Run the following commands:

cd <magento_root>
composer require swissup/module-email
bin/magento module:enable Swissup_Email
bin/magento setup:upgrade
bin/magento setup:di:compile

Usage

  1. Navigate to "Marketing → Communications → Email Services" example1
  2. Press "Add New" button
  3. Create service
    • Specify the Name
    • Choose Type from drop-down
    • Fill all required fields
    • Press "Check Service" button and wait for response
    • If everything works fine, press "Save" button example
  4. Navigate "Stores → Configurations → Advanced → System → Mail Sending Settings"
  5. Select new service in the "Default Transport Email Service" drop-down config
  6. Save

Gmail Service Setup

If Type selects Gmail. Use an App Password: Generate a new App Password for your Gmail account. Sign in with App Passwords

Gmail API with Google OAuth 2.0 Support Service Setup

If the Type field is set to Gmail OAuth 2.0, please follow the Google instructions to create the required credentials. In your credentials, you need to add Authorized redirect URIs with at least one URI, such as https://localhost/swissup_email/gmail/getOAuth2Token/ (replace localhost with your Magento store URL). Gmail OAuth2 Credential

Customize the User Consent Screen

In the OAuth consent screen, you need to enable the Gmail API scope. Add Scope. Also, add your Gmail email address as a Test User. After setting up your credentials, enter the following fields:

  • Client ID in User (key)
  • Client secret in Password (secure key)

In the Email (from) field, enter your Gmail email address.

Logging

  1. Navigate "Stores → Configurations → Advanced → System → Mail Sending Settings"
  2. "Logging Enable" set Yes
  3. Navigate to "Marketing → Communications → Email Logs"

I recently needed to modify the emails that a client project sends out. It was set up to send via SMTP and so the easiest way to do this for me was to add a local MailHog instance and point the application at it.

Manually running via Docker The quickest and easiest way to do this is via Docker.

Manually, we can do:

$ docker run -p 8025:8025 -p 1025:1025 mailhog/mailhog

This will run MailHog with the SMTP port exposed on localhost port 1025 and the web interface on 8025.

Now you can configure the app’s SMTP config and away you go.

Option Value
Type Smtp
Host 0.0.0.0 or mailhog
Port 1025
Auth Type None
Secure None

About

Configure Magento 2 to send email using SMTP protocol throught Gmail, Amazon Simple Email Service (SES) and many other SMTP (Simple Mail Transfer Protocol) servers

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published