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 MailReceive and MailSend roles, the system disables this function. For more information, read our How to Use Server Profiles documentation.

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.
  • 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. 

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