Description

This function creates an email forwarder.


We strongly recommend that you use the following UAPI function instead of this function:

Examples




https://hostname.example.com:2087/cpsess##########/json-api/cpanel?cpanel_jsonapi_user=user&cpanel_jsonapi_apiversion=2&cpanel_jsonapi_module=Email&cpanel_jsonapi_func=addforward&domain="example.com"&email="forwardme@example.com"&fwdopt="fwd"&fwdemail="fwdtome@example.com"



$cpanel = new CPANEL(); // Connect to cPanel - only do this once.
 
// Forward mail from forwardme@example.com to fwdtome@example.com
$add_mail_forwarder = $cpanel->api2(
    'Email', 'addforward', 
    array(
        'domain'          => 'example.com',
        'email'           => 'forwardme@example.com',
        'fwdopt'          => 'fwd',
        'fwdemail'        => 'fwdtome@example.com',
    ) 
);
 
// Bounce mail to forwardme@example.com with a message.
$add_mail_forwarder = $cpanel->api2(
    'Email', 'addforward', 
    array(
        'domain'          => 'example.com',
        'email'           => 'forwardme@example.com',
        'fwdopt'          => 'fail',
        'failmsgs'        => 'Nobody's home.',
    ) 
);
// Delete mail that forwardme@example.com receives.
$add_mail_forwarder = $cpanel->api2(
    'Email', 'addforward', 
    array(
        'domain'          => 'example.com',
        'email'           => 'forwardme@example.com',
        'fwdopt'          => 'blackhole',
    ) 
);
 
// Pipe forwardme@example.com's mail to script.pl
$add_mail_forwarder = $cpanel->api2(
    'Email', 'addforward', 
    array(
        'domain'          => 'example.com',
        'email'           => 'forwardme@example.com',
        'fwdopt'          => 'pipe',
        'pipefwd'         => 'script.pl',
    ) 
);
 
// Forward forwardme@example.com's mail to a system account.
$add_mail_forwarder = $cpanel->api2(
    'Email', 'addforward', 
    array(
        'domain'          => 'example.com',
        'email'           => 'forwardme@example.com',
        'fwdopt'          => 'system',
        'fwdsystem'       => 'user',
    ) 
);



my $cpliveapi = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.
 
# Forward mail from forwardme@example.com to fwdtome@example.com
my $add_mail_forwarder = $cpliveapi->api2(
    'Email', 'addforward',
    { 
        'domain'          => 'example.com',
        'email'           => 'forwardme@example.com',
        'fwdopt'          => 'fwd',
        'fwdemail'        => 'fwdtome@example.com',
    }
);

# Bounce mail to forwardme@example.com with a message.
my $add_mail_forwarder = $cpliveapi->api2(
    'Email', 'addforward',
    { 
        'domain'          => 'example.com',
        'email'           => 'forwardme@example.com',
        'fwdopt'          => 'fail',
        'failmsgs'        => 'Nobody's home.',
    }
);

# Delete mail that forwardme@example.com receives.
my $add_mail_forwarder = $cpliveapi->api2(
    'Email', 'addforward',
    { 
        'domain'          => 'example.com',
        'email'           => 'forwardme@example.com',
        'fwdopt'          => 'blackhole',
    }
);
 
# Pipe forwardme@example.com's mail to script.pl
my $add_mail_forwarder = $cpliveapi->api2(
    'Email', 'addforward',
    { 
        'domain'          => 'example.com',
        'email'           => 'forwardme@example.com',
        'fwdopt'          => 'pipe',
        'pipefwd'         => 'script.pl',
    }
);

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




cpapi2 --user=username Email addforward domain=example.com email=forwardme%40example.com fwdopt=fwd fwdemail=fwdtome%40example.com


For more information and additional output options, read our Guide to cPanel API 2 documentation or run the cpapi2 --help command.  




{
  "cpanelresult": {
    "apiversion": 2,
    "func": "addforward",
    "data": [
      {
        "email": "forwardme@example.com",
        "domain": "example.com",
        "forward": "fwdtome@example.com"
      }
    ],
    "event": {
      "result": 1
    },
    "module": "Email"
  }
}



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

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

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.

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's home.
pipefwdstring

The application to which the system pipes messages.

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.forwardme@example.com
forwardstringThe method that the system will use to handle the address's email.
  • 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.
forwardtome@example.com
reasonstring

A reason for failure.

This function only returns a reason value if it failed.


A string that describes the error.

This is an error message.
resultBoolean

Whether the function succeeded.

  • 1 — The function succeeded.
  • 0 — The function failed.
1