So last night I was trying to login to my admin page for this site and ran into a bit of a snag with my LastPass vault not syncing from my work system to my home one… has happened before and is normally not an issue worse case I just have to reset a password and keep rolling… or I’ve done the stupid thing of using a password I’ve used elsewhere. However WordPress auto generates a password that meets their complexity requirements and I’d used one similar to that generated in LastPass and of course I forgot it and hadn’t wrote it down expecting LastPass to have me covered. Ok no password there no problem we’ll just reset it and use a new password… So I go to the forgot password form and request a new one instant php error. mail() is not set up. Well I use office365 as my mail server which uses SMTP the only way to get that configured is via a plugin in wordpress it seems.
Except there was a way to get it fixed in my case. All that was really needed was sendmail to be set up which I hadn’t done yet, but to be on the safe side i went and checked in the mysql database to see if there was anything I could point at my email server sure enough in the Options table there was four fields that talked about mailserver after filling those in with the correct info I gave sending my password to me a try again…
same error mail() not configured or disabled by your admin.
Digging a little more I’m missing the modules. So using pear I installed mail, net_smtp, auth_sasl, and mail_mime and I also saw sendmail mentioned so I installed that using apt. once that was done I gave apache a restart (service apache2 restart or apachectl graceful) then I tried requesting a password again.
It worked, however it didn’t come from my email it came from firstname.lastname@example.org which I guess is fine my guess is I didn’t need to set the stuff in the database but, better safe to have it set and not need it I can always clear them back out.
so to fix this here’s the commands you would need
sudo apt install sendmail
sudo pear install mail
sudo pear install net_smtp
sudo pear install auth_sasl
sudo pear install mail_mime
sudo service apache2 restart or sudo apachectl graceful
after that you should be able to request a password reset