0

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

(Visited 28 times, 1 visits today)
Add a Comment