| ["add", user, mailbox] =>
(case Client.getpass () of
Client.Passwd passwd =>
- Main.requestNewMailbox {domain = domain,
- user = user,
- passwd = passwd,
- mailbox = mailbox}
+ let
+ val mailbox = if size mailbox > 0
+ andalso String.sub (mailbox, 0) <> #"/" then
+ let
+ val uid = Posix.ProcEnv.getuid ()
+ val user = Posix.SysDB.getpwuid uid
+ val home = Posix.SysDB.Passwd.home user
+ in
+ home ^ "/" ^ mailbox
+ end
+ else
+ mailbox
+ in
+ Main.requestNewMailbox {domain = domain,
+ user = user,
+ passwd = passwd,
+ mailbox = mailbox}
+ end
| _ => ())
| ["passwd", user] =>