As i see your code i notice 2 thing that might cause the problem.
First: you should use same name to send data!
If you see browser send user you should use it too. So change email to user and do same for pass field.
-----------------------------18327245165630\r\n
Content-Disposition: form-data; name="user"\r\n
\r\n
123\r\n
so your code should like this one:
pData.Params.Add(new PostDataParam("user", this.usernameBox.Text, PostDataParamType.Field));
pData.Params.Add(new PostDataParam("pass", this.passwordBox.Text, PostDataParamType.Field));
pData.Params.Add(new PostDataParam("mode", "login", PostDataParamType.Field));
pData.Params.Add(new PostDataParam("submit", "Submit", PostDataParamType.Field));
The second thing i noticed is in your PostData.cs Class!
you should enter \r\n
instead of \\r\\n
.
Make sure that the length of your request be equal to length of request send by fiddler.
Hope it helps you. Best regards.