2015-06-22 81 views
-3

我有一個.aspx註冊頁面。我已經使用C#編寫代碼。在註冊頁面中,用戶可以註冊自己輸入他的電子郵件ID和密碼。我想將電子郵件ID和密碼發送到用戶在成功提交頁面後註冊時輸入的用戶電子郵件ID。如何發送用戶名和密碼。請給我一些代碼。如何在註冊後發送用戶名和密碼到電子郵件ID

我已經寫了登記

string str = FileUpload1.FileName; 
          FileUpload1.PostedFile.SaveAs(Server.MapPath(".") + "//uploadimage//" + str); 
          string path = "~//upload//" + str.ToString(); 
          con.Open(); 
          SqlCommand cmd = new SqlCommand("insert into Registration(memberid,loginemailid,password,firstname,lastname,dob,maritalstatus,photo,about,lastattended,years,slno,indexno,qualification,years1,specialachivements,currentoccupation,companyname,currentdesignation,preadd,precity,prestate,prepin,peradd,percity,perstate,perpin,mobileno,officeno,telno,emailid) values('" + mid + "','" + TextBox1.Text + "','" + TextBox3.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "','" + dob + "','" + DropDownList4.Text + "','" + path + "','" + TextBox7.Text + "','" + DropDownList5.Text + "','" + DropDownList6.Text + "','" + TextBox8.Text + "','" + TextBox9.Text + "','" + TextBox10.Text + "','" + drop1 + "','" + TextBox11.Text + "','" + TextBox12.Text + "','" + TextBox13.Text + "','" + TextBox14.Text + "','" + TextBox15.Text + "','" + TextBox16.Text + "','" + TextBox17.Text + "','" + TextBox18.Text + "','" + TextBox19.Text + "','" + TextBox20.Text + "','" + TextBox21.Text + "','" + TextBox22.Text + "','" + mobno + "','" + TextBox25.Text + "','" + TextBox26.Text + "','" + TextBox27.Text + "')", con); 
          cmd.ExecuteNonQuery(); 
          con.Close(); 
          Response.Redirect("Successfull.aspx"); 
+5

**從不**在電子郵件中發送密碼。 – SLaks

+1

您有一個SQL注入漏洞。 – SLaks

+5

**不要以明文**存儲密碼。 – SLaks

回答

0

這個簡單的代碼作爲評論所提到的,它真的是不以純文本發送/存儲密碼是個好主意,他這樣說,這裏有一個例子,你可以修改發送確認電子郵件:

try 
{ 

    MailMessage notification; 
    SmtpClient Client; 

    notification = new MailMessage(); 
    notification.From = new MailAddress(YourEmail.Text, Microsoft.Security.Application.Encoder.HtmlEncode(TextName.Text)); 
    notification.To.Add(new MailAddress(ConfigurationManager.AppSettings["Contact Email"].ToString())); 

    notification.Priority = MailPriority.Normal; 
    notification.Subject = "Confirmation email " + Microsoft.Security.Application.Encoder.HtmlEncode(YourSubject.Text); 
    notification.IsBodyHtml = false; 
    notification.BodyEncoding = Encoding.UTF8; 
    notification.Body = "account: " + Microsoft.Security.Application.Encoder.HtmlEncode(TextName.Text) + "\n\npassword: " + Microsoft.Security.Application.Encoder.HtmlEncode(passwordtext.Text); 

    Client = new SmtpClient(); 
    try 
    { 
     Client.Send(notification); 
    } 
    catch (SmtpException ex) 
    { 
     // write a log entry here, maybe notify user of error 
     return false; 
    } 

} 
catch (Exception ex) 
{ 
    this.dynamicJavaScript.Text = "<script>alert(\"Error sending message: " + Server.HtmlEncode(ex.Message.Replace("'","`")) + "\")</script>"; 

    return false; 
} 
this.dynamicJavaScript.Text = "<script>alert(\"Message Sent.\")</script>"; 
return true; 

在你的web.config文件,你需要配置你<system.net>下郵件設置爲例:

<mailSettings using outlook> 
    <smtp deliveryMethod="Network" from="yourEmailAddress"> 
    <network host="yoursmtphost" userName="EmailLoginUserName" password="password here" port="??" > 
    </smtp> 
</mailSettings> 

我會建議如果用戶不知道或忘記密碼,請設置重置密碼頁。

+1

通過_不是一個好主意以純文本發送/存儲密碼_我假設你的意思是'糟糕的主意,應該在汽油火災中死亡'。 – mah

相關問題