Configuring a script
The following languages are currently supported for e-mail forwarder scripts:- PHP
- Perl
- Python
- Ruby
-
Use the correct shebang: This depends on the language you are using to write the script. For example, a PHP script file should use the following shebang at the start of the file:
📘 Note The -q option enables quiet mode, which suppresses HTTP header output. For information about the correct shebangs for other languages, please see this article.
-
Set the correct file permissions for the script: To do this, type the following command, replacing scriptfile with the script filename:
🚧 Important If there are any configuration errors in the forwarder or in the script file, the message sender receives the following message:
Additionally, this return message may list errors that contain code fragments from the script file. Make sure you test your script file thoroughly before you use it with an active e-mail forwarder!
Example PHP script
The following PHP code sample shows one way to process an incoming e-mail message. The script simply reads the message from stdin, and then stores the message text in a variable named $message:Adding an email forwarder in cPanel
To add an e-mail forwarder that redirects to a script file, follow these steps:-
Log in to cPanel.
📘 Note If you do not know how to log in to your cPanel account, please see this article.
-
On the Tools page, in the Email section, click Forwarders:
- Click Add Forwarder.
- In the Address to Forward text box, type the account username.
- In the Domain list box, select the domain for the e-mail account.
- Click Advanced Options.
-
Click Pipe to a Program, and then in the text box, type the path to the script relative to your home directory. For example, if your script is located at /home/username/scripts/process_mail.php, you would type
scripts/process_mail.php. - Click Add Forwarder. The forwarder activates immediately.
- You can test the forwarder by sending an e-mail message to the e-mail address. The corresponding script file should run.