We have a new documentation site for cPanel & WHM! You can find our new documentation site at docs.cpanel.net.

We will continue to maintain our API documentation on this server.

Child pages
  • UAPI Functions - Email::add_forwarder
Skip to end of metadata
Go to start of metadata

Description

This function creates an email forwarder.

Important:

In cPanel & WHM version 76 and later, when you disable the Receive Mail role, the system disables this function.

Examples


 cPanel or Webmail Session URL
https://hostname.example.com:2083/cpsess##########/execute/Email/add_forwarder?domain=example.com&email=user%40example.com&fwdopt=fwd&fwdemail=fwdtome%40example.com


Note:

This example calls the UAPI function via a cPanel session. For more information, read our Guide to UAPI documentation. 

 LiveAPI PHP Class
$cpanel = new CPANEL(); // Connect to cPanel - only do this once.
 
// Forward user@example.com's mail to fwdtome@example.com
$add_forwarder = $cpanel->uapi(
    'Email', 'add_forwarder',
    array(
        'domain'     => 'example.com',
        'email'      => 'user@example.com',
        'fwdopt'     => 'fwd',
        'fwdemail'   => 'fwdtome@example.com',
         )
);
 
// Pipe user@example.com's mail to script.pl
$add_forwarder = $cpanel->uapi(
    'Email', 'add_forwarder',
    array(
        'domain'     => 'example.com',
        'email'      => 'user@example.com',
        'fwdopt'     => 'pipe',
        'pipefwd'    => 'script.pl',
         )
);

// Forward user@example.com's mail to a system account.
$add_forwarder = $cpanel->uapi(
    'Email', 'add_forwarder',
    array(
        'domain'     => 'example.com',
        'email'      => 'user@example.com',
        'fwdopt'     => 'system',
        'fwdsystem'  => 'user',
         )
);

// Delete user@example.com's mail.
$add_forwarder = $cpanel->uapi(
    'Email', 'add_forwarder',
    array(
        'domain'     => 'example.com',
        'email'      => 'user@example.com',
        'fwdopt'     => 'blackhole',
         )
);
 
// Bounce user@example.com's mail.
$add_forwarder = $cpanel->uapi(
    'Email', 'add_forwarder',
    array(
        'domain'     => 'example.com',
        'email'      => 'user@example.com',
        'fwdopt'     => 'fail',
        'failmsgs'   => 'Nobody home.',
         )
);


Note:

For more information, read our Guide to the LiveAPI System.

 LiveAPI Perl Module
my $cpliveapi = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.
 
# Forward user@example.com's mail to fwdtome@example.com
my $add_forwarder = $cpliveapi->uapi(
    'Email', 'add_forwarder',
    {
        'domain'     => 'example.com',
        'email'      => 'user@example.com',
        'fwdopt'     => 'fwd',
        'fwdemail'   => 'fwdtome@example.com',
    }
);
 
# Pipe user@example.com's mail to script.pl
my $add_forwarder = $cpliveapi->uapi(
    'Email', 'add_forwarder',
    {
        'domain'     => 'example.com',
        'email'      => 'user@example.com',
        'fwdopt'     => 'pipe',
        'pipefwd'    => 'script.pl',
    }
);

# Forward user@example.com's mail to a system account.
my $add_forwarder = $cpliveapi->uapi(
    'Email', 'add_forwarder',
    {
        'domain'     => 'example.com',
        'email'      => 'user@example.com',
        'fwdopt'     => 'system',
        'fwdsystem'  => 'user',
    }
);

# Delete user@example.com's mail.
my $add_forwarder = $cpliveapi->uapi(
    'Email', 'add_forwarder',
    {
        'domain'     => 'example.com',
        'email'      => 'user@example.com',
        'fwdopt'     => 'blackhole',
    }
);

# Bounce user@example.com's mail.
my $add_forwarder = $cpliveapi->uapi(
    'Email', 'add_forwarder',
    {
        'domain'     => 'example.com',
        'email'      => 'user@example.com',
        'fwdopt'     => 'fail',
        'failmsgs'   => 'Nobody home.',
    }
);


Note:

For more information, read our Guide to the LiveAPI System.

 Command Line
uapi --user=username Email add_forwarder domain=example.com email=user%40example.com fwdopt=fwd fwdemail=fwdtome%40example.com


Notes:

  • You must URI-encode values.
  • username represents your account-level username.
  • For more information and additional output options, read our Guide to UAPI documentation or run the uapi --help command. 
  • If you run CloudLinux™, you must use the full path of the uapi command:

    /usr/local/cpanel/bin/uapi


 Output (JSON)
{
  "messages": null,
  "errors": null,
  "status": 1,
  "data": [
    {
      "email": "user@example.com",
      "domain": "example.com",
      "forward": "fwdtome@example.com"
    }
  ],
  "metadata": {
    "transformed": 1
  }
}


Note:

Use cPanel's API Shell interface (cPanel >> Home >> Advanced >> API Shell) to directly test cPanel API calls.

Parameters

ParameterTypeDescriptionPossible valuesExample
domainstring

Required

The domain.

A valid domain on the account.

example.com
emailstring

Required

The email address to forward.

An email address on the account.

forwardme@example.com
fwdoptstring

Required

The method to use to handle the email address's mail.

  • fwd — Forward messages to the address in the fwdemail parameter.
  • fail — Bounce messages back to the sender. This parameter also uses the failure message defined in the failmsgs parameter.
  • blackhole — Send messages to the /dev/null/ directory. This method does not generate a failure notice.
  • pipe — Pipe mail to the application defined by the pipefwd parameter.

    Important:

    In cPanel & WHM version 86 and later, this value requires the FileStorage role. For more information, read our How to Use Server Profiles documentation.

  • system — Forward messages to the fwdsystem system account.
fwd
fwdemailstring

The email address to which the system forwards messages.

Note:

  • You must use this parameter if you used the fwd method for the fwdopt parameter.
  • You can pass multiple addresses to this parameter as a comma-separated list. 

A valid email address.

fwdtome@example.com
fwdsystemstring

The system user to whom the system forwards messages.

Note:

You must use this parameter if you used the system method for the fwdopt parameter. 

An account on the system. For example, a reseller or cPanel account's name.user
failmsgsstring

The failure message for the message's sender.

Note:

Use this parameter if you used the fail method for the fwdopt parameter. 

This parameter defaults to No such person at this address.

A valid string.Nobody home.
pipefwdstring

The application to which the system pipes messages.

Note:

You must use this parameter if you used the pipe method for the fwdopt parameter. 

Important:

In cPanel & WHM version 86 and later, this parameter requires the FileStorage role. For more information, read our How to Use Server Profiles documentation.

The location of a program or script, relative to the account's home directory.mailscript.pl

Returns

ReturnTypeDescriptionPossible valuesExample
domainstring

The domain.

A valid domain on the account.

example.com
emailstringThe email address.An email address on the account.user@example.com
forwardstringThe method that the system will use to handle the address's mail.
  • An email address — The system forwards mail to this address.
  • :fail: — The system bounces mail back to the sender and sends a failure message.
  • :blackhole: — The system deletes mail without a failure message.
  • The path to an application — The system pipes mail to this application.
  • A username — The system forwards mail to this system account.
fwdtome@example.com