Page tree
Skip to end of metadata
Go to start of metadata

 

Description

This function creates an email forwarder.

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.

 

 cPanel Template Toolkit
<!-- Forward user@example.com's mail to fwdtome@example.com -->
<!-- Get a hash of all the data, then display the forwarded email. -->
[% data = execute( 'Email', 'add_forwarder', { 'domain' => 'example.com', 'email' => 'user@example.com', 'fwdopt' => 'fwd', 'fwdemail' => 'fwdtome@example.com', } ); %]
[% FOREACH q = data.forward %]
     <p>
         [% q %]
     </p>
[% END %]
 
<!-- Get only the forwarded address. -->
[% execute('Email', 'add_forwarder', { 'domain' => 'example.com', 'email' => 'user@example.com', 'fwdopt' => 'fwd', 'fwdemail' => 'fwdtome@example.com', }).data.forward %]
 


<!-- Pipe user@example.com's mail to script.pl -->
<!-- Get a hash of all the data, then display the forwarded email. -->
[% data = execute( 'Email', 'add_forwarder', { 'domain' => 'example.com', 'email' => 'user@example.com', 'fwdopt' => 'pipe', 'pipefwd' => 'script.pl', } ); %]
[% FOREACH q = data.forward %]
     <p>
         [% q %]
     </p>
[% END %]
 
<!-- Get only the forwarded address. -->
[% execute('Email', 'add_forwarder', { 'domain' => 'example.com', 'email' => 'user@example.com', 'fwdopt' => 'pipe', 'pipefwd' => 'script.pl', }).data.forward %]



<!-- Forward user@example.com's mail to a system account. -->
<!-- Get a hash of all the data, then display the forwarded email. -->
[% data = execute( 'Email', 'add_forwarder', { 'domain' => 'example.com', 'email' => 'user@example.com', 'fwdopt' => 'system', 'fwdsystem' => 'user', } ); %]
[% FOREACH q = data.forward %]
     <p>
         [% q %]
     </p>
[% END %]
 
<!-- Get only the forwarded address. -->
[% execute('Email', 'add_forwarder', { 'domain' => 'example.com', 'email' => 'user@example.com', 'fwdopt' => 'system', 'fwdsystem' => 'user', }).data.forward %]



<!-- Delete user@example.com's mail. -->
<!-- Get a hash of all the data, then display the forwarded email. -->
[% data = execute( 'Email', 'add_forwarder', { 'domain' => 'example.com', 'email' => 'user@example.com', 'fwdopt' => 'blackhole' } ); %]
[% FOREACH q = data.forward %]
     <p>
         [% q %]
     </p>
[% END %]
 
<!-- Get only the forwarded address. -->
[% execute('Email', 'add_forwarder', { 'domain' => 'example.com', 'email' => 'user@example.com', 'fwdopt' => 'blackhole' }).data.forward %]



<!-- Bounce user@example.com's mail. -->
<!-- Get a hash of all the data, then display the forwarded email. -->
[% data = execute( 'Email', 'add_forwarder', { 'domain' => 'example.com', 'email' => 'user@example.com', 'fwdopt' => 'fail', 'failmsgs' => 'Nobody home.' } ); %]
[% FOREACH q = data.forward %]
     <p>
         [% q %]
     </p>
[% END %]
 
<!-- Get only the forwarded address. -->
[% execute('Email', 'add_forwarder', { 'domain' => 'example.com', 'email' => 'user@example.com', 'fwdopt' => 'fail', 'failmsgs' => 'Nobody home.' }).data.forward %]

Note:

For more information, read our Guide to Template Toolkit documentation. 

 

 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. 
  • We introduced this functionality in cPanel & WHM version 56.

 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.

Note:

You can pass multiple addresses to this parameter as a comma-separated list. 

forwardme@example.com
fwdoptstring

Required

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

  • fwd — Forward messages to the fwdemail parameter's address.
  • fail — Bounce messages back to the sender, and include the failmsgs parameter's failure message.
  • blackhole — Send messages to the /dev/null/ directory. This method does not generate a failure notice.
  • pipe — Pipe mail to the pipefwd parameter's application.
  • system — Forward messages to the fwdsystem system account.
fwd
fwdemailstring

The email address to which the system forwards messages.

Note:

Use this parameter if you used the fwd method for the fwdopt parameter

A valid email address.fwdtome@example.com
fwdsystemstring

The system user to whom the system forwards messages.

Note:

Use this parameter if you used the system method for the fwdopt parameter

An account on the system (for example, the reseller's account name or the cPanel account name).user
failmsgsstring

The failure message for the message's sender.

This parameter defaults to No such person at this address.

Note:

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

A valid string.Nobody home.
pipefwdstring

The application to which the system pipes messages.

Note:

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