Question

wordpress is not sending emails

Hello, im using wordpress multisite and i set my following email settings from Network > sites >setting

Mailserver Url Mailserver Login Mailserver Pass Mailserver Port

but unfortunately no mails are going. same details are working for another php application hosted on same server in another sub-domain. only difference is on that php application, i could setup authentication on, here no such option…

so i install check mail plugin to find out the cause of the issue, and on check-mail plugin, i can see my current email setting are as following.

Current mail settings

SendMail path (UNIX): /usr/sbin/sendmail -t -i SMTP server (Windows): localhost SMTP port (Windows): 25 Add X header: 1

now i cant understand why & from where this is coming. anyone can guide me to resolve this?

thanks

Show comments

Submit an answer


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Accepted Answer

@newbie

When it comes to e-mail, you’re going to be much better off using a transactional e-mail provider to ensure that e-mail goes through.

For example:

https://www.sparkpost.com/

https://mailgun.com

https://sendgrid.com

They all have plugins that integrate with WordPress to allow sending via their API or SMTP servers.

The reason I’d recommend using a transactional e-mail provider is due to the fact that to successfully send e-mail, you need a valid PTR (Reverse DNS Record) as well as SPF, DKIM, and possibly even a setup for DMARC to keep mail out of the spam/junk folder on the recipients end, if they make it that far.

SendMail and Postfix will attempt to send e-mail when called by PHP’s mail() function, though even if they do send, there’s no guarantee it won’t bounce or actually make it where intended without those things configured (and that can be a bit of a hassle – both to setup and manage).

Services, like those mentioned above, work around that by providing API and/or SMTP integration on there end, which you connect to via a Plugin. You may still need to add SPF/DKIM entries to your DNS zone file as a part of their setup, but you won’t have to physically set those things up on your server as a part of a working mail server setup/configuration.

That said, you can check mail.log in /var/log to see what is being said about the mail – whether it’s sending, failed, bounced, ect.

tail -20 /var/log/mail.log

That’s generally the first place to look when it comes to mail issues, unless another log file is used or specified.

alexdo
Site Moderator
Site Moderator badge
November 1, 2021

Hello all,

What I could suggest here is using an SMTP plugin for your WordPress site.

That way you will be able to specify an SMTP server with authentication which your emails would be going through. You could for example use SendGrid’s SMTP service. This would drastically increase the delivery rate of your emails as well compared to using plain PHP mail.

I’ve been using this plugin for a while now and it works very well: Easy WP SMTP.

https://www.digitalocean.com/community/tutorials/how-to-get-wordpress-email-notifications-on-a-digitalocean-droplet

Hope that this helps! Regards, Alex

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel