protected string CreateFolderFullPath(string folder) { Log.WriteLine("CreateFolderFullPath", folder); folder = Utils.ConvertToUtf7Modified(folder); try { string returnPath = string.Empty; if (_rootFolder != null) { returnPath = _rootFolder; } if (_accountName != null) { EmailAddress adr = new EmailAddress(); adr.AsString = _accountName; string account = adr.GetAccountName(); for (int i = 0; i <= _accountHierarchyDepth - 1; i++) { if (i >= account.Length) { break; } returnPath = Path.Combine(returnPath, account[i].ToString()); } returnPath = Path.Combine(returnPath, string.Format("{0}.{1}", _accountName, _accountID)); } Log.WriteLine("CreateFolderFullPath", Path.Combine(returnPath, folder)); return(Path.Combine(returnPath, folder)); } catch (ArgumentException ex) { Log.WriteException(ex); throw new WebMailIOException(ex); } }