How to disable PHP mail function in CWP – Control webpanel

by Sandeep B.

In this tutorial we’ll learn how to disable php mail() function in CWP to block the users to be able to send spam emails or infected emails from php mail function. This will force users to use SMTP based email sending structure which is more secure and easily controllable upon the amount of mails they are sending i.e. you can add quota hourly basis in packages.

Run this below commands to disable php mail function completely :-

PHP switcher :

echo "disable_functions = mail" > /usr/local/php/php.d/disabled_function.ini  

PHP-CGI selector :

echo "disable_functions = mail" > /opt/alt/php53/usr/php/php.d/disabled_function.ini  

echo "disable_functions = mail" > /opt/alt/php54/usr/php/php.d/disabled_function.ini  

echo "disable_functions = mail" > /opt/alt/php55/usr/php/php.d/disabled_function.ini  

echo "disable_functions = mail" > /opt/alt/php56/usr/php/php.d/disabled_function.ini  

echo "disable_functions = mail" > /opt/alt/php70/usr/php/php.d/disabled_function.ini  

echo "disable_functions = mail" > /opt/alt/php71/usr/php/php.d/disabled_function.ini  

echo "disable_functions = mail" > /opt/alt/php72/usr/php/php.d/disabled_function.ini  

echo "disable_functions = mail" > /opt/alt/php73/usr/php/php.d/disabled_function.ini
  
echo "disable_functions = mail" > /opt/alt/php74/usr/php/php.d/disabled_function.ini  

echo "disable_functions = mail" > /opt/alt/php80/usr/php/php.d/disabled_function.ini  

PHP_FPM Selector :

echo "disable_functions = mail" > /opt/alt/php-fpm53/usr/php/php.d/disabled_function.ini && service php-fpm53 restart  

echo "disable_functions = mail" > /opt/alt/php-fpm54/usr/php/php.d/disabled_function.ini && service php-fpm54 restart  

echo "disable_functions = mail" > /opt/alt/php-fpm55/usr/php/php.d/disabled_function.ini && service php-fpm55 restart  

echo "disable_functions = mail" > /opt/alt/php-fpm56/usr/php/php.d/disabled_function.ini && service php-fpm56 restart  

echo "disable_functions = mail" > /opt/alt/php-fpm70/usr/php/php.d/disabled_function.ini && service php-fpm70 restart  

echo "disable_functions = mail" > /opt/alt/php-fpm71/usr/php/php.d/disabled_function.ini && service php-fpm71 restart  

echo "disable_functions = mail" > /opt/alt/php-fpm72/usr/php/php.d/disabled_function.ini && service php-fpm72 restart  

echo "disable_functions = mail" > /opt/alt/php-fpm73/usr/php/php.d/disabled_function.ini && service php-fpm73 restart  

echo "disable_functions = mail" > /opt/alt/php-fpm74/usr/php/php.d/disabled_function.ini && service php-fpm74 restart  

echo "disable_functions = mail" > /opt/alt/php-fpm80/usr/php/php.d/disabled_function.ini && service php-fpm80 restart  

If this post helps you in any way please consider a donation

Donate with PayPal :

md-donate

You may also like

4 comments

Rene August 30, 2021 - 8:36 am

Hi, could it be, disabling this option breaks Wordpress and WooCommerce from sending Mails?

A friend of mine disabled this and he wasn’t able to receive mails from Wordpress (Admin Login Mails) and also he didn’t get new order mails from his shop (WooCommerce)

If this is the reason, would there be a way to keep this function or is this exactly what should happen if he disables this function?

Thanks
Rene

Reply
Sandeep B. August 30, 2021 - 10:45 am

hi, yes if your scripts relies on PHP mail then disabling mail function will also stop them. In this case you can shift to SMTP mail config for sending mails from scripts.

Like for WordPress you can use this plugin https://wordpress.org/plugins/wp-mail-smtp/

Reply
Siegfried November 22, 2021 - 2:08 pm

systemctl restart php-fpm80.service

not

&& service php-fpm80 restart

Reply
Sandeep B. November 22, 2021 - 2:14 pm

Both will work in El

Reply

Leave a Comment