I want to send the verification mail before the user can sign in for which I have written some code, but the problem if that it gives the error "Could not find a part of the path", but I cannot understand why it is giving the error. The error occurs while trying to read the .txt fle using StreamReader.
it says - Could not find a part of the path 'C:\JobPortal\EmailTemplates\VerifyNewUser.txt'.
but it should be searching at the following path -
http://localhost:49292/JobPortal/EmailTemplates/VerifyNewUser.txt
The code is pasted below:
protected void RegisterUser_CreatedUser(object sender, EventArgs e)
{
MembershipUser newUser = Membership.GetUser(RegisterUser.UserName);
Guid newUserId = (Guid)newUser.ProviderUserKey;
string urlBase = Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath;
string verifyUrl = "/VerifyNewUser.aspx?ID=" + newUserId.ToString();
string fullPath = urlBase + verifyUrl;
string AppPath = Request.ApplicationPath;
StreamReader sr = new StreamReader(AppPath + "/EmailTemplates/VerifyNewUser.txt");
MailMessage Mailmsg = new MailMessage();
Mailmsg.IsBodyHtml = true;
Mailmsg.From = new MailAddress("someidxxx@xxxxmail.com", "Jobs Portal Registration System");
Mailmsg.To.Add(new MailAddress(RegisterUser.Email));
Mailmsg.Subject = "New User Registration";
Mailmsg.Body = sr.ReadToEnd();
sr.Close();
Mailmsg.Body = Mailmsg.Body.Replace("<%UserName%>", RegisterUser.UserName);
Mailmsg.Body = Mailmsg.Body.Replace("<%VerificationUrl%>", fullPath);
SmtpClient mailclient = new SmtpClient();
mailclient.EnableSsl = true;
mailclient.Send(Mailmsg);
//FormsAuthentication.SetAuthCookie(RegisterUser.UserName, false /* createPersistentCookie */);
}