I'm working on a module which sends emails from admin panel on some action. I want to test these emails on localhost. How can I configure my Magento 2.1 settings or add
SMTP so that sends emails over localhost?
If highest voted answer's repo doesn't show up than you can use below free extension by MagePlaza to send emails on xampp.
You can use the
SMTP for this.
SMTP configuration you can use any extension.
From this extension you can configure your
SMTP detail in admin and based on that you can send email from local system
You can also use ssmtp. This can be configured to work with gmail.
In Gmail you need to configure your account to allow less secure apps.
To install ssmtp with stock Ubuntu enter:
sudo apt-get install ssmtp
Then you need a basic setup for your
/etc/ssmtp/ssmtp.conf, for example:
# # Config file for sSMTP sendmail # # The person who gets all mail for userids < 1000 # Make this empty to disable rewriting. email@example.com # The place where the mail goes. The actual machine name is required no # MX records are consulted. Commonly mailhosts are named mail.domain.com mailhub=smtp.gmail.com:587 AuthMethod=LOGIN AuthUserfirstname.lastname@example.org AuthPass=Alderaan UseTLS=YES UseSTARTTLS=YES # Where will the mail seem to come from? rewriteDomain=gmail.com # The full hostname hostname=DeathStar # Are users allowed to set their own From: address? # YES - Allow the user to specify their own From: address # NO - Use the system generated From: address FromLineOverride=YES root:email@example.com:smtp.gmail.com:587
This will now enable you to have your emails work in Magento2 including for the newsletter send.
This approach also allows you to run a stock demo store on your localhost without any third party modules for SMTP delivery.
Configuration of your email sending can therefore be de-coupled from your Magento build making testing and deployment simpler.