0

特殊な PHP 電子メール クライアントを作成しており、このクライアントの管理者が hMailServer でユーザー アカウントを作成できるようにしたいと考えています。

試してみましたimap_createmailbox(...)が、ユーザーのフォルダー構造にディレクトリを作成するだけで、必要に応じて「新しいユーザーのメールボックスを作成」しません。

PHP電子メールクライアントがコードを介してhMailServerアカウントを作成できるようにするために、hMailServerに何らかのインターフェイスがありますか?

4

3 に答える 3

1

はい、hmailserver でアカウントを作成するための 2 つのインターフェイスがあります。

1 つは、データベースを介して、アカウントとパスワードのハッシュ タイプ (0、1、2、3)、署名、およびその他の従来の情報を選択できます。同期の理由から、この方法はお勧めしません。hmail-server は、データベースの更新を考慮するためにキャッシュ時間がかかります。

2 つ目は、API COM を使用することをお勧めします。API COM は、すべての言語で可能なすべてのメソッドを提供します。Windows サーバーで D-COM を有効にする必要があります。APIガイド

于 2015-07-15T23:39:08.383 に答える
0
<?php   
header('Content-Type: text/html; charset=utf-8');
$obBaseApp = new COM("hMailServer.Application", NULL, CP_UTF8);
$obBaseApp->Connect();

$hmail_config['rooturl']            = "http://localhost/";      
$obAccount = $obBaseApp->Authenticate("Administrator", "hMailserver Administrator 
password");

if (!isset($obAccount)) {
      echo "<b>Not authenticated or Administrator's password wrong</b>";
} else {

try {
    echo "<b>Logon COM [OK], now we can add accounts</b>";

    $obDomain   = $obBaseApp->Domains->ItemByDBID(1); 
    $obAccount = $obDomain->Accounts->ItemByDBID(1);  // account id

      $domainname = $obDomain->Name;
       $obAccounts = $obDomain->Accounts();       
       $obAccount = $obDomain->Accounts->Add();
       $newalias = "powerranger";
       $firstname = "Arnold";
       $lastname = "Schwarzenegger";
       $my_domainname ="@mydomain.com";

         $obAccount->PersonFirstName = $firstname;
         $obAccount->PersonLastName = $lastname;
         $obAccount->MaxSize = 102; // 102 MB set inbox space
         $obAccount->Address = $newalias .$my_domainname; 
         $obAccount->Password = "secret"; // provide this in Thunderbird/Outlook ect.
         $obAccount->Active = true; // set account to active
         $obAccount->Save(); // save, finish.

     /* If we reaching this point, everything works as expected */
     echo "<br/><h3> Account was successfully created, now you can login with".
                      "an POP3 or IMAP-Client </h3>";

} 
/* OK, if something went wrong, give us the exact error details */  
catch(Exception $e) {
    echo "<h4>COM-ERROR: <br />".$e->getMessage()."</h4><br />";        
}

}

于 2019-07-20T10:40:51.960 に答える