返回首页

比的System.Net.Mail其他任何指令的NetworkCredential,需要吗??

In the button click I did coding . but Iam getting an error ""The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.1 Client was not authenticated ""

coding is like this

 

protected void Button1_Click(object sender, EventArgs e)

    {

        System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();

        mail.To.Add(TextBox1.Text);

        mail.From = new System.Net.Mail.MailAddress("from");

        mail.Body = "Your new password is xxxx";

        mail.Subject = "New Password";

        System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("localhost");

        try

        {

            smtp.Send(mail);

            

            Response.Write("The mail has been sent to ");

            Response.Write(mail.To);

        }

        catch (System.Exception ex)

        {

            Response.Write(ex.Message);

        } 

    }
我已创建了一个登录页面。在这有一个重置密码的选项。我如何才能重置密码。我需要做codeing的作为,当用户点击复位按钮,一个新的密码应发送给他的邮件。如何才能做到这一点。我从那里开始。请帮助。

回答

评论会员:游客 时间:2012/02/06
P.Salini:首先所有您需要验证使用任何安全问题回答由用户在注册时使用的身份验证,然后生成一些随机码更新数据库的代码,然后向用户发送邮件。发送电​​子邮件进行检查。imgsrc=]
木孔德Thakker:所有你需要验证从用户的安全问题和答案,并通过问题,回答下面的存储过程。它将更新随机密码并返回密码,您可以发送到顾客的电子邮件。

CREATE PROCEDURE [dbo].[prc_UpdatePassword]

(

	@secretquestion varchar(100)='',

	@secretanswer varchar(100)='',

	@ReturnVal varchar(10) out

)

as

begin

if exists (select * from tbl_MUSR where secretquestion=@secretquestion and secretanswer=@secretanswer)

Begin

			--Generate Random Password

			Declare @Length int

			DECLARE @strPassword varchar(32)

			DECLARE @counter smallint

			DECLARE @RandomNumber float

			DECLARE @RandomNumberInt tinyint

			DECLARE @CurrentCharacter varchar(1)

			DECLARE @ValidCharacters varchar(255)

			SET @ValidCharacters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-=+&$'

			DECLARE @ValidCharactersLength int

			

			declare @iLicence int

			declare @iInsured varchar(10)

			

			SET @ValidCharactersLength = len(@ValidCharacters)

			SET @CurrentCharacter = ''

			SET @RandomNumber = 0

			SET @RandomNumberInt = 0

			SET @strPassword = ''

 

			SET NOCOUNT ON

 

			SET @counter = 1

			set @Length=8

			WHILE @counter < (@Length + 1)

			BEGIN

					SET @RandomNumber = Rand()

					SET @RandomNumberInt = Convert(tinyint, ((@ValidCharactersLength - 1) * @RandomNumber + 1))

					SELECT @CurrentCharacter = SUBSTRING(@ValidCharacters, @RandomNumberInt, 1)

					SET @counter = @counter + 1

					SET @strPassword = @strPassword + @CurrentCharacter

			END

			update tbl_MUSR set Password=@strPassword where secretquestion=@secretquestion and secretanswer=@secretanswer

			set @ReturnVal=@strPassword

end

else

	set @ReturnVal='Not Found'

end
评论会员:游客 时间:2012/02/06
喜lll123,当我们正在使用的System.Net.Mail发送邮件,我们必须要提供凭证像codepreSmtpClientsmtp=spanclass="code-keyword"new/spanSmtpClient();smtp.Host=spanclass="code-string""/spanspanclass="code-string"mail.google.com"/span;NetworkCredentialauthinfo=spanclass="code-keyword"new/spanNetworkCredential(spanclass="code-string""/spanspanclass="code-string"uid"/span,spanclass="code-string""/spanspanclass="code-string"password"/span);smtp.UseDefaultCredentials=spanclass="code-keyword"false/span;smtp.Credentials=authinfo;/pre/code这将解决您的问题:乌玛・尚卡尔帕特尔
你应该也需要更新您的数据库中的密码,并发送邮件,指定新密码
发送邮件使用
{体C3}
评论会员:Tejas_Vaishnav 时间:2012/02/06
首先你需要验证使用任何安全问题回答由用户在注册时使用的身份验证,然后他/她的密码重置



您可以直接发送新密码的电子邮件给他/她的邮件ID注册时间。

重设密码,您可以触发一个UPDATE查询给你分贝,上述任何条件匹配的用户标准的基础上设置新的密码

重设密码,您可以重置用户的出生日期,或者你也可以使用重置密码的编码genrate随机单词。

用于发送电子邮件,请看到这个链接,这将有助于全给你..
{A}]