Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcus Marinho

[Resolvido] toolbox password recovery no ASP.NET

Recommended Posts

Pessoal,

estou criando uma parte de login no site usando este toolbox. Tudo montado, mas na ultima hora.. na hora que respondo à ultima pergunta, ele me dá o erro abaixo. O que devo fazer ? Acredito eu estar faltando algo para configurar. Poderia me ajudar mais uma vez por favor ?

 

Your attempt to retrieve your password was not successful. Please try again.

Your answer could not be verified. Please try again.

Answer the following question to receive your password.

We were unable to access your information. Please try again.

Enter your User Name to receive your password.

 

Server Error in '/IBCEI' Application.

________________________________________

A from e-mail address must be specified in the From property or the system.net/mailSettings/smtp config section.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

 

Exception Details: System.Web.HttpException: A from e-mail address must be specified in the From property or the system.net/mailSettings/smtp config section.

 

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

 

Stack Trace:

 

[HttpException (0x80004005): A from e-mail address must be specified in the From property or the system.net/mailSettings/smtp config section.]

System.Web.UI.WebControls.MailDefinition.CreateMailMessage(String recipients, IDictionary replacements, String body, Control owner) +330

System.Web.UI.WebControls.LoginUtil.CreateMailMessage(String email, String userName, String password, MailDefinition mailDefinition, String defaultBody, Control owner) +182

System.Web.UI.WebControls.LoginUtil.SendPasswordMail(String email, String userName, String password, MailDefinition mailDefinition, String defaultSubject, String defaultBody, OnSendingMailDelegate onSendingMailDelegate, OnSendMailErrorDelegate onSendMailErrorDelegate, Control owner) +482

System.Web.UI.WebControls.PasswordRecovery.AttemptSendPasswordQuestionView() +743

System.Web.UI.WebControls.PasswordRecovery.AttemptSendPassword() +105

System.Web.UI.WebControls.PasswordRecovery.OnBubbleEvent(Object source, EventArgs e) +135

System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +56

System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +107

System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +178

System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBa

ckEvent(String eventArgument) +31

System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +32

System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +72

System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3838

 

________________________________________

Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42

 

 

 

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse componente envia e-mails, e seu smtp não está configurado corretamente.

Veja um exemplo:

 

<system.net>
	<mailSettings>
	  <smtp from="usuario@dominio.com.br">
		<network host="smtp.dominio.com.br" password="SenhaDoUsuario" userName="usuario@dominio.com.br"/>
	  </smtp>
	</mailSettings>
  </system.net>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu,

mas o que eu estou fazendo não é algo que precise entrar com password... o que estou fazendo é apenas um recoverypassword onde o usuário entra com os dados já cadastrado..o sistema faz a verificação e envia por email a senha....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, para seu sistema enviar e-mails, você precisa configurar o servidor de emails (SMTP). Esse trecho ali de cima vai fazer isso.

Aquelas credenciais que vão no web.config são do usuário que vai enviar e-mail. Geralmente um usuário tipo: admin@seudominio.com.br.

Um usuário que não é de ninguém, é apenas responsável por enviar e-mails.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas é isso que não estou entendendo.....

Beleza.. eu tenho que configurar o SMTP.. mas aonde ? no web.config ? e outra.... eu teria que configurar para todos os cadastrados ? Se sim, ficará dificil.. pois vamos supor que vários e vários usuários existem no sistema depois de serem cadastrados...não teria como isso ser feito automático ? ou devo eu configurar de uma forma gernérica? pois os emails variam dos mais diversos servidores de emails.. é tipo assim, o usuário cria um cadastro.. ele indica o seu email.. e depois ele esquece a senha.. dai, ele entrar em recoverypassword e coloca as perguntas das respostas....ai, o sistema envia para o email cadastrado....

 

Valeu por estar me ajudando....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então,

 

O primeiro passo é inserir isso no web.config.

<system.net>
	<mailSettings>
	  <smtp from="usuario@dominio.com.br">
		<network host="smtp.dominio.com.br" password="SenhaDoUsuario" userName="usuario@dominio.com.br"/>
	  </smtp>
	</mailSettings>
  </system.net>
O fato de você ter 300 usuários cadastrados no seu sistema não vai mudar o valor do web.config, vai ser sempre esse valor acima e nunca irá mudar.

Quando um e-mail é enviado, você envia de X para Y. X é sempre a mesma pessoa, certo? É o seu sistema, nunca vai mudar. Y é a pessoa que vai receber seu e-mail, no caso é o e-mail do usuário.

Essa configuração no web.config é para o usuário X.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grande Wilson,

 

agradeço e muito pela dica... entendi bastante coisa... agora, quando cheguei na parte de configurar o smtp na aba application do ASP.NET configuration, eu não entendi o que devo colocar no Server Name. Seria o nome de qual servidor? Pensei no de email, mas o meu sistema não têm um servidor de email. O que devo colocar ? E o que devo colocar em From ? Essa parte eu não entendi... Poderia me ajudar mais por favor ?

 

valeu mesmo..

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oenning,

 

eu entendi o que você disse....Agora, a única coisa que não estou entendendo é: Meu sistema não têm um servidor de email e não têm um email, então você quer dizer que eu devo colocar um email qualquer com senha para que ess parte funcione corretamente ?

 

Valeu mesmo cara...

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala ai...

 

Consegui algo diferente nesse tópico...mas estou tendo agora o seguinte erro. eu até procurei na net, mas não encontrei nada no google...você o conhece ?

 

Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

 

Parser Error Message: 'yyyyyy' is an unexpected token. The expected token is '"' or '''. Line 22, position 87.

 

Source Error:

 

 

Line 20: <mailSettings>

Line 21: <smtp deliveryMethod="Network" from="yyyyyy@gmail.com">

Line 22: <network defaultCredentials="false" host="smtp.gmail.com" port="587" userName=yyyyyy" password="XXXX=""" />

Line 23: </smtp>

Line 24: </mailSettings>

 

 

Source File: G:\Sistemas\IBCEI\web.config Line: 22

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você colocou userName=yyyyyy"

faltou aspas duplas ali, antes do primeiro y.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Po, fiz a correção e coloquei op seguinte:

 

<system.net>

<mailSettings>

<smtp deliveryMethod="Network" from="yyyyyy@gmail.com">

<network defaultCredentials="false" host="smtp.gmail.com" port="587" userName="yyyyyy" password="xxxx" />

</smtp>

</mailSettings>

</system.net>

 

Mas continuo recebendo msg de erro. Será que ainda falta fazer alguma coisa ? :

 

The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Must issue a STARTTLS command first. 2sm3364721qwi.13

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

 

Exception Details: System.Net.Mail.SmtpException: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Must issue a STARTTLS command first. 2sm3364721qwi.13

 

Source Error:

 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

 

Stack Trace:

 

 

[smtpException: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Must issue a STARTTLS command first. 2sm3364721qwi.13]

System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response) +179

System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, String from) +70

System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception) +188

System.Net.Mail.SmtpClient.Send(MailMessage message) +2184

System.Web.UI.WebControls.LoginUtil.SendPasswordMail(String email, String userName, String password, MailDefinition mailDefinition, String defaultSubject, String defaultBody, OnSendingMailDelegate onSendingMailDelegate, OnSendMailErrorDelegate onSendMailErrorDelegate, Control owner) +482

System.Web.UI.WebControls.PasswordRecovery.AttemptSendPasswordQuestionView() +744

System.Web.UI.WebControls.PasswordRecovery.AttemptSendPassword() +106

System.Web.UI.WebControls.PasswordRecovery.OnBubbleEvent(Object source, EventArgs e) +136

System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +56

System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +107

System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +178

System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBa

ckEvent(String eventArgument) +31

System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +32

System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +72

System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3838

 

 

 

 

--------------------------------------------------------------------------------

Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcus, como você está enviando e-mail? Com MailMessage?

Se sim, quando você criar o smtpCliente, ative o SSL, assim:

 

SmtpClient smtp = new SmtpClient();
smtp.EnableSsl = true;
Isso ocorre pois o gmail usa ssl.

 

Achei um site legal para configurações de e-mail, portas e SSL, veja: http://www.palm.com/br/support/email/proto...l.html#conteudo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcus ver se a pasta q contém teu BD não está com restrição de escrita. Meus problemas com os controles de login foram solucionados. A maioria devido a restricao da pasta App_Data. Outro problema foi a utilização do getpassword, q tb resolvi. E caso você queira um exemplo posso te enviar o projeto zipado brother! meu projeto com os logins está em www.jr2sistemas.com.br.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oenning,

como eu posso saber se é com MailMessage ?

 

E outra , aonde eu coloco as definições que você falou ? acredito que no web.config... mas eu tentei em vários pontos e não consegui.

 

Wilson,

pode me enviar sim.. agradeço e muito. Pode mandar para marcus_marinho@hotmail.com

 

Agora, aonde eu vejo se as pastas estão com restrições ? no próprio web developer ?

 

Valeu irmão

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oenning,

como eu posso saber se é com MailMessage ?

 

E outra , aonde eu coloco as definições que você falou ? acredito que no web.config... mas eu tentei em vários pontos e não consegui.

 

Wilson,

pode me enviar sim.. agradeço e muito. Pode mandar para marcus_marinho@hotmail.com

 

Agora, aonde eu vejo se as pastas estão com restrições ? no próprio web developer ?

 

Valeu irmão

 

Amigo, vou te enviar os arquivos. E com relação às permissões da pasta, veja onde está o seu projeto. Caso esteja na internet, verique com o servidor o qual hospeda seu website.

 

Abs!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.