One of my work needs was to open OWA inside our web application to
make clients more related with the application and let them easy access their
emails while working. After some researches i found a simple way to do that, actually
it is not that much hard to find the code below, but you have to search well to
find it!. An here is the way that i have done that, we have a page with 2
iframes inside it. Upper frame holds the links banner and the bottom frame
which holds whatever is clicked from the links banner. The work is to open OWA
inside the bottom Banner. To open OWA you have to create a small JavaScript for
that which will send the user name and password to be authenticated in from
owaauth.dll and if everything goes fine you'll successed to open your email.
The code is as below;
public partial class OpenOwaPage : System.Web.UI.Page
{
private string userName;
private string passWord;
protected void Page_Load(object sender, EventArgs e)
{
passWord =
"password";
userName
="username";
Response.Write(CreateOWAFrom());
Response.Write(LoadOWAPostJS("logonForm"));
}
private string LoadOWAPostJS(string strFormId)
{
//Constructs the JS needed to post
the data to Realex and returns it
StringBuilder strScript = new
StringBuilder();
strScript.Append("<script
language='javascript'>");
strScript.Append("var ctlForm =
document.forms.namedItem('{0}');");
strScript.Append("ctlForm.username.value=\"" + userName +
"\";");
strScript.Append("ctlForm.password.value=\"" + passWord +
"\";");
strScript.Append("ctlForm.submit();");
strScript.Append("</script>");
return
String.Format(strScript.ToString(), strFormId);
}
private string CreateOWAFrom()
{
//Constructs the Realex HTML form
and returns it
StringBuilder strForm = new
StringBuilder();
strForm.AppendLine("<form
id=\"logonForm\" name=\"logonForm\"
target=\"_self\"
action=\"https://your_Owa_Adress/exchweb/bin/auth/owaauth.dll\"
method=\"post\">");
strForm.AppendLine("<input
type=\"hidden\" name=\"destination\"
value=\"https://your_Owa_Adress/exchange/\"/>");
strForm.AppendLine("<input
type=\"hidden\" name=\"flags\"
value=\"0\"/>");
strForm.AppendLine("<input
type=\"hidden\" name=\"username\"
id=\"username\"/>");
strForm.AppendLine("<input
type=\"hidden\" name=\"password\"
id=\"password\"/>");
strForm.AppendLine("<input
type=\"hidden\" id=\"SubmitCreds\"
name=\"SubmitCreds\" value=\"Connection\"/>");
strForm.AppendLine("<input
type=\"hidden\" id=\"rdoRich\"
name=\"forcedownlevel\" value=\"0\"/>");
strForm.AppendLine("<input
type=\"hidden\" id=\"rdoPublic\" name=\"trusted\"
value=\"0\"/>");
strForm.AppendLine("</form>");
return strForm.ToString();
}
}
Sometimes you maybe not able to access your OWA because of your Browser
configuration, add your OWA website address to your Browser trusted site to
solve this problem. If you do not want to logoff from OWA with the regular
logoff button, read this (click here). Otherwise
you'll enter OWA any time you type OWA address.
Hope This Helps