0

ユーザーがフォームにサインアップしたときに、ユーザーを私の水銀メール サーバーに追加できるスクリプトまたはプログラムの作成に助けが必要です。基本的な php 投稿フォームを使用しています。アカウントを実行するために必要なすべてのファイルが作成されますが、水銀メールを開くと、新しいユーザー アカウントがアカウント リストに追加されていません。そして、新しいアカウントはサインインできません。

クライアントが私のサーバー上で無料で簡単に電子メールを作成できるように、クライアント電子メールのサインアップ スクリプトまたはプログラムの作成を手伝ってください。

フォーム コードへのリンク: http://pastebin.com/bEtv4eck

PHP ポスト コードへのリンク: http://pastebin.com/rwBJatap

PSスクリプトは、新しいユーザーとすべてを作成できる場所で機能していますが、電子メールサーバーが再起動されない限り、ログインは許可されません。これを修正する方法はありますか?

4

2 に答える 2

0

pmail.usr および mail ディレクトリに変更を加えた後、RELOAD USERS を使用してみてください。

于 2012-04-14T05:09:10.033 に答える
0

PMAIL.USRファイルにユーザーも追加する必要があります

試す

const MERCURY_PATH = 'C:\Apache\xampp\MercuryMail';
$userFile = MERCURY_PATH . DIRECTORY_SEPARATOR . "PMAIL.USR";
$mailDir = MERCURY_PATH . DIRECTORY_SEPARATOR . "MAIL";

$newName = "Baba Konko";
$newUsername = "baba";
$newPassword = "pass";
$host = "localhost";

if (! is_writeable ( $userFile )) {
    die ( "You don't have permission to  Create new User" );
}

if (! is_writeable ( $mailDir )) {
    die ( "You don't have permission to add mail folder" );
}

// Check if user exist

if (is_file ( $userFile )) {
    $users = file ( $userFile );

    foreach ( $users as $user ) {
        list ( $status, $username, $name ) = explode ( ";", strtolower ( $user ) );

        if (strtolower ( $newUsername ) == $username) {
            die ( "User Already Exist" );
        }
    }
}

$userData = "U;$newUsername;$newName";
$fp = fopen ( $userFile, "a" );

if ($fp) {
    fwrite ( $fp, $userData . chr ( 10 ) );
    fclose ( $fp );
}

$folder = $mailDir . DIRECTORY_SEPARATOR . $newUsername;
if (! mkdir ( $folder )) {
    die ( "Error Creating Folder" );
}

$pm = '# Mercury/32 User Information File' . chr ( 10 );
$pm .= 'POP3_access: ' . $newPassword . chr ( 10 );
$pm .= 'APOP_secret: ' . $newPassword . chr ( 10 );

$pmFile = $folder . DIRECTORY_SEPARATOR . 'PASSWD.PM';
file_put_contents ( $pmFile, $pm );
于 2012-04-13T05:00:30.303 に答える