Hello friends,
When an email receives in document library,I have to create FBA user for the email sender!!
But I am getting error on MembershipUser user = Membership.CreateUser(username, defaultpassword, senderEmail, defaultQuestion, defaultAnswer, true, out createStatus) : Unable to connect to SQL Server database.
After troubleshooting code(below) I found Membership.CreateUser is taking connection string from machine.config(below,also see in attached image)
_sqlConnectionString “data source=.\\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true”(kindly see attached image)
How to force code to take connection string from Webapplication web.config or is there any custom code to set connection string ?
public override void EmailReceived(SPList list, SPEmailMessage emailMessage, String receiverData)
{
base.EmailReceived(list, emailMessage, receiverData);
SPSecurity.RunWithElevatedPrivileges(delegate
{
try
{
username = emailMessage.Sender.Trim();
query = emailMessage.PlainTextBody.Trim();
senderEmail = emailMessage.Sender;
MembershipCreateStatus createStatus;
username = username.Substring(0, username.LastIndexOf(“@”));
MembershipUser user = Membership.CreateUser(username, defaultpassword, senderEmail, defaultQuestion, defaultAnswer, true, out createStatus);
switch (createStatus)
{
case MembershipCreateStatus.Success:
AddUserToGroup(securityGroup, user.Email, username);
AddQuery(user.Email, user.UserName, query);
SendEmail(username, senderEmail);
break;
case MembershipCreateStatus.DuplicateUserName:
AddUserToGroup(securityGroup, user.Email, username);
AddQuery(user.Email, user.UserName, query);
SendEmail(username, senderEmail);
break;
case MembershipCreateStatus.DuplicateEmail:
AddUserToGroup(securityGroup, user.Email, username);
AddQuery(user.Email, user.UserName, query);
SendEmail(username, senderEmail);
break;
// break;
////This Case Occured whenver we send invalid mail format
//case MembershipCreateStatus.InvalidEmail:
// lblResult.ForeColor = Color.Red;
// lblResult.Text = “The email address you provided is invalid.”;
// return “InvalidEmail”;
//// break;
//default:
// lblResult.ForeColor = Color.Red;
// lblResult.Text = “There was an unknown error; the user account was NOT created.”;
// return “default”;
// break;
}
}
catch (MembershipCreateUserException ex)
{
Trace.TraceInformation(“MailProcessor exception: {0}”, ex.Message);
}
});
}
Vishal Goyal