Results 1 to 10 of 18

Thread: Using cPanel API for creating email account and forwarders in your own PHP scripts

Threaded View

David I Using cPanel API for creating... 07-13-2011, 10:48 AM
Alberto Moreno Email Create from fron end 07-13-2011, 03:39 PM
sergey You can rename the index.php... 07-13-2011, 06:04 PM
Pratima Videos explaining design... 07-14-2011, 10:24 AM
Matt You should probably start... 07-14-2011, 10:36 AM
coderjack9 hello When I set all the... 03-22-2016, 01:21 AM
David I Hello, We just provided... 03-22-2016, 02:13 AM
Previous Post Previous Post   Next Post Next Post
  1. #1
    David I is offline Newbie
    Join Date
    Jun 2010
    Posts
    1,242

    Default Using cPanel API for creating email account and forwarders in your own PHP scripts

    Recently one of our clients asked: "Can I create email account within a php script?" Taking in consideration high possibilities of cPanel API we have decided to search for related requests on the Internet and have found out that many people are interested in this question.

    What is this needed for? For example, we have an awesome domain and you want to become a mail service provider, but creating mailboxes manually is not going to work. You can create addon domains, redirects and other things in the same way.

    We need following for the script:

    1. Request form (file index.php can be found in the attachments).
    2. cPanel XML API Client Class (file xmlapi.php can be found in the attachments).

    Let's check script of the form in detail:

    PHP Code:
    $ip "127.0.0.1";                // should be server IP address or 127.0.0.1 if local server
    $account "username";            // cPanel user account name
    $passwd ="password";            // cPanel user password
    $port =2083;                    // cpanel secure authentication port
    $email_domain 'domain.com';   // email domain (usually same as cPanel domain)
    $email_quota 50;                // default amount of space in megabytes 
    Creating XMLAPI request:


    PHP Code:

    $xmlapi 
    = new xmlapi($ip);

    //set port number. cpanel client class allow you to access WHM as well using WHM port.
    $xmlapi->set_port($port);                        

    // authorization with password. Not as secure as hash.
    $xmlapi->password_auth($account$passwd);   

    // cpanel email addpop function Parameters
    $call = array(domain=>$email_domainemail=>$email_user,password=>$email_passquota=>$email_quota);

    // cpanel email fwdopt function Parameters
    $call_f  = array(domain=>$email_domainemail=>$email_user,
    fwdopt=>"fwd"fwdemail=>$dest_email);

    //output to error file  set to 1 to see
    $xmlapi->set_debug(0);      
    error_log.

    // making call to cpanel api
    $result $xmlapi->api2_query($account"Email""addpop"
    $call);

    //create a forward
    $result_forward $xmlapi->api2_query($account"Email""addforward",
    $call_f); 
    And of course creating HTML form:

    HTML Code:
    <html>
    <head>
    <title>cPanel Email Account Creator</title>
    </head>
    
    <body>
    <?php echo '<div style="color:red">'.$msg.'</div>'; ?>
    
    <h1>cPanel Email Account Creator</h1>
    
    <form name="frmEmail" method="post">
    <table width="400" border="0">
        <tr>
            <td>Username:</td>
            <td><input name="user" size="20" type="text"/></td>
        </tr>    
        <tr>
            <td>Password:</td>
            <td><input name="pass" size="20" type="password"/></td>
        </tr>
        <tr>
            <td>Verify Password:</td>
            <td><input name="vpass" size="20"type="password" /></td>
        </tr>
        <tr>
            <td>Forwarde:</td>
            <td><input name="forward" size="20" type="text"/></td>
        </tr>
        <tr>
            <td colspan="2" align="center"><hr /><input name="submit" type="submit" value="Create Email" /></td>
        </tr>
    </table>
    </form>
    </body>
    </html>
    Related links:

    Creating multiple email account in cPanel with PHP and XMLAPI | Home Based Coder | Filipino Web Designer + Web Developer
    Create Email Account using API
    XMLAPI php class
    Auto create email with PHP
    cPanel XML and JSON APIs
    xpl-api and cPanel APIs via PHP
    Attached Files Attached Files
    Last edited by Matt; 07-13-2011 at 03:06 PM.

LinkBacks (?)

  1. 08-03-2012, 07:09 AM

Similar Threads

  1. default timezone
    By Scott in forum Programming Talk
    Replies: 14
    Last Post: 03-24-2008, 06:48 PM
  2. Single Account, Multiple Domains to WHM Account
    By rickpugh in forum WHM, Resellers, VPS and Dedicated Hosting Topics
    Replies: 3
    Last Post: 08-15-2005, 10:39 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14