2012-04-13 83 views
0

我需要幫助創建一個腳本或程序,當用戶在表單上註冊時,可以將用戶添加到我的水銀郵件服務器。我使用的是基本的PHP帖子表單,它創建了所有必要的文件來運行帳戶,但是當我打開水銀郵件時,新用戶帳戶尚未添加到帳戶列表中。並且新帳戶無法登錄。水銀郵件和php電子郵件創建腳本

請協助我創建客戶端電子郵件註冊腳本或程序,以便我的客戶可以輕鬆地在我的服務器上免費創建電子郵件。

鏈接到表單代碼:http://pastebin.com/bEtv4eck

連接到PHP郵編:http://pastebin.com/rwBJatap

附:我已經將腳本工作到可以創建新用戶和所有內容的位置,但除非電子郵件服務器重新啓動,否則它將不允許登錄。有任何解決這個問題的方法嗎?

回答

0

嘗試使用RELOAD用戶在進行更改到pmail.usr和郵件,目錄之後。

+0

RELOAD用戶?我如何讓它做到這一點? – 2012-04-15 21:19:41

+0

我使用的是這裏提供的腳本:http://community.pmail.com/files/folders/community_add-ons_for_mercury/entry17424.aspx 但是當它嘗試在腳本內發送郵件時,它說在水銀郵件軟件中失敗系統 – 2012-04-16 05:58:57

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); 
+0

我已經有腳本添加用戶到PMAIL.USR文件,它創建用戶帳戶,但它不會顯示在水銀郵件本身。使其顯示的唯一方法是重新啓動程序。我不能坐在那裏繼續關閉並重新開放整個程序。對此有何想法? – 2012-04-13 05:25:29