Why won’t my PHP app send mail?

To comply with current SPAM standards involved with the PHP ‘nobody’ user, our newer servers that run PHP under Apache do not allow PHP to send mail via the mail() function, which is the default for most software. In order for you to be able to send mail you’ll need to configure the software to use SMTP with authentication, similar to how a mail client is set up. Most pre-bundled software packages like Joomla, phpBB, and other CMS’s have an option or plugin that will allow you to use SMTP instead of mail() or sendmail. Custom mailing scripts can usually be programmed to use SMTP using PEAR or the popular phpMailer class:


For a phpMailer tutorial, please see this guide:

Using phpMailer to Send Mail through PHP

To use SMTP you will need to use a valid email address that you’ve created in your cPanel. Most software will ask for these settings:

Hostname: localhost OR mail.example.com

Authentication: Yes

Username: [email protected]

Password: Your email password

Port: 25 / No SSL


Port 465 / SSL

Carrie Smaha Senior Manager Marketing Operations

Carrie enjoys working on demand generation and product marketing projects that tap into multi-touch campaign design, technical SEO, content marketing, software design, and business operations.

More Articles by Carrie

Thoughts on “Why won’t my PHP app send mail?

Was this article helpful? Let us know!