The problem you’re having is really common, not related to any specific code or plugin, and it affects pretty much all WordPress emails (contact form emails, notices, etc) that are sent from a web server instead of through SMTP. (SMTP is what your email programs use.) You never know when a site will start having this problem, so it can appear random, or it can seem connected to a plugin, etc. (It hardly ever is.)
Over the past few years sending mail from a web server has become more unreliable due to the various improvements in fighting email spam: SPF/DKIM/DMARC etc. Using SMTP is the only reliable way to get emails to arrive at their destination (unless you really have your site’s email configuration dialed in).
I could get into all the technical issues/reasons, I’ll spare you. 🙂
Short answer:
Use an SMTP plugin.
Create an email account that is only used for sending emails from your site. (Gmail account is fine.)
Do a search in the WordPress.org plugin directory for “SMTP”, and pick one of those plugins: Easy WP SMTP for example.
Once you get those setup, you should be good to go.
Just a heads up, letting people post to your forum/site/blog without being logged in is a huge security issue. Think of it this way: Any total stranger can make edits to your website, and add text or code. That’s basically the definition of an XSS attack, and can lead to your site being severely hacked. That would put you and your site’s members at risk.