Faccruz 0 Denunciar post Postado Junho 2, 2009 Estou usando essas funções para enviar um email para todos os usuários cadastrados na role (regras) Admin private static void sendMail(string strMsg, string strMail) { MailMessage mail = new MailMessage(); mail.From = new MailAddress("faccsystem@faccsystem.com.br"); mail.To.Add(strMail); mail.Subject = "Usuário Criado - Alterar Roles"; StringBuilder mensagem = new StringBuilder(); mensagem.Append("Alterar a ROLES do seguinte usuário <br>"); mensagem.Append("<br>"); mensagem.Append("<br>"); mensagem.Append("<br>"); mensagem.Append("======================================="); mensagem.Append("<br>"); mensagem.Append("<b>Usuário: " + strMsg + "</b>"); mensagem.Append("<br>"); mensagem.Append("<br>"); mensagem.Append("======================================="); mensagem.Append("<br>"); mail.Body = mensagem.ToString(); mail.IsBodyHtml = true; mail.Priority = MailPriority.High; SmtpClient smtpClient = new SmtpClient(); smtpClient.Send(mail); } public static void sendMailApprover(string strUser) { string[] roleListStr = Roles.GetUsersInRole("Admin"); for (int i = 0; i < roleListStr.Length; i++) { MembershipUser user; user = Membership.GetUser(roleListStr.GetValue(i).ToString()); string email = user.Email; sendMail(strUser, email); } } protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e) { sendMailApprover(CreateUserWizard1.UserName); } Estou recebendo o email normalmente com o nome do usuário, porém me retorna o seguinte erro: Erro de Servidor no Aplicativo '/FaccSystem'. Referência de objeto não definida para uma instância de um objeto. Descrição: Ocorreu uma exceção não tratada durante a execução da atual solicitação da Web. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código. Detalhes da Exceção: System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto. Erro de Origem: Linha 64: user = Membership.GetUser(roleListStr.GetValue(i).ToString()); Linha 65: Linha 66: string email = user.Email; --> aqui acontece o erro Linha 67: Linha 68: sendMail(strUser, email); Arquivo de Origem: c:\Documents and Settings\Fabio\Meus documentos\Visual Studio 2008\WebSites\FaccSystem\Join.aspx.cs Linha: 66 Rastreamento de Pilha: [NullReferenceException: Referência de objeto não definida para uma instância de um objeto.] Join.sendMailApprover(String strUser) in c:\Documents and Settings\Fabio\Meus documentos\Visual Studio 2008\WebSites\FaccSystem\Join.aspx.cs:66 Join.CreateUserWizard1_CreatedUser(Object sender, EventArgs e) in c:\Documents and Settings\Fabio\Meus documentos\Visual Studio 2008\WebSites\FaccSystem\Join.aspx.cs:74 System.Web.UI.WebControls.CreateUserWizard.OnCreatedUser(EventArgs e) +111 System.Web.UI.WebControls.CreateUserWizard.AttemptCreateUser() +354 System.Web.UI.WebControls.CreateUserWizard.OnNextButtonClick(WizardNavigationEve ntArgs e) +102 System.Web.UI.WebControls.Wizard.OnBubbleEvent(Object source, EventArgs e) +418 System.Web.UI.WebControls.CreateUserWizard.OnBubbleEvent(Object source, EventArgs e) +161 System.Web.UI.WebControls.WizardChildTable.OnBubbleEvent(Object source, EventArgs args) +19 System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37 System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +118 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +166 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBa ckEvent(String eventArgument) +10 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565 Informações sobre a Versão: Microsoft .NET Framework Versão:2.0.50727.3082; Versão do ASP.NET:2.0.50727.3082 Será que alguem pode me dar uma luz para resolver isso? Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Junho 2, 2009 Provavelmente sua variável user, esta nula. Confirme isso. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Junho 3, 2009 Provavelmente sua variável user, esta nula. Confirme isso. Abraços... Realmente estava nula. Estava trazendo dois usuários sendo que havia apenas um como a role Admin Resolvi dessa forma for (int i = 0; i < roleListStr.Length - 1; i++) Compartilhar este post Link para o post Compartilhar em outros sites