Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 15
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Hướng dẫn tạo mail kích hoạt khi người dùng đăng kí thành công!

    Nhờ mọi người giúp e 2 vấn đề:
    1/. làm sao đề khi người dùng đăng kí tài khoản thành công thì gửi 1 mail để người dùng kích hoạt tài khoản và xử lý việc khi người dùng khi họ click vào link kích hoạt tài khoản
    2/. Khi người dùng quên mật khẩu đăng nhập thì yêu cầu người dùng nhập mail hoặc tên đăng nhập + mã an toàn xong thì làm sao để tạo mật khẩu mới vào send vào mail cho người dùng quên mật khẩu.
    Rât mong nhận đc sự giúp đỡ của các bạn! thanks!

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    có ai làm cái này chưa chỉ cho mình với! hoặc tài liệu hướng dẫn, cũng đc! thanks

  3. #3
    Ngày tham gia
    Dec 2015
    Bài viết
    0
    trong bảng user thêm 1 trường active , 0 là chưa , 1 là rồi
    thêm 1 trường chuỗi active, ranom kiểu absdfjhsjdhfjsdhfjshdjfhjsd0329402394jsdfjshd..... .

    khi đăng kí thành công thì gửi mail active, truyền chuỗi trên vào querystring

    ví dụ để ative bạn click here active.aspx?userID=5&chuoi=fshjfhsjdfhjsdjhfhsdhfj shdjfhsjdfhjssdsdsdshfbsdhbghsdb
    ở trang active.aspx thì cho trường active=1,thông báo active thành công !




    2. thì bạn lấy user name do người dùng nhập vào, lấy mail tuơng ứng rồi gửi mật khẩu cũ hoặc random đại 1 cái password gửi cho nó.random xong cũng phải update csdl

  4. #4
    dây là đoạn code đăng ký cần email xác nhận mình đã làm và chạy thử

    Mã:
    void insertMember()
        {
            
            try
            {
                string strString = "abcdefghijklmnopqrstuvwxyz0123456789";
                Random random = new Random();
                int randomCharIndex = 0;
                char randomChar;
                string captcha = "";
                for (int i = 0; i < 15; i++)
                {
                    randomCharIndex = random.Next(0, strString.Length);
                    randomChar = strString[randomCharIndex];           
                    captcha += Convert.ToString(randomChar);
                }
    
                Session["rdnCode"] = captcha;
                string comm;
                comm = "insert customers(customer_id,customer_username,customer_password,customer_name,customer_email,customer_address,customer_city,customer_country,customer_home_phone,customer_cell_phone,customer_valid_email_code,customer_valid_email,customer_date_added) values ('" + Session["idMember"].ToString() + "','" + txtTen.Text + "','" + txtMatKhau.Text + "','" + txtHoten.Text + "','" + txtEmail.Text + "','" + txtDiachi.Text + "','" + txtThanhpho.Text + "','VietNam','" + txtSdtDidong.Text + "','" + txtSdtBan.Text + "','" + captcha + "','0',now())";
                if (ClassDB.execute(comm, ClassDB.connString) > 0)
                {
                    SendEmailMember();
                }
            }
            catch
            {
            }
    
        
        }
        void SendEmailMember()
        { 
         try
            {
                MailMessage message = new MailMessage();
                message.From = new MailAddress("abc@abc.com", "abc");
                message.To.Add(new MailAddress(txtEmail.Text));
                message.CC.Add(new MailAddress("abc@gmail.com"));
                message.Subject = "Email xác nhận";
                message.Body = "Vui lòng nhấn vào đường dẫn dưới đây để xác nhận đăng ký tại website : 
    ";
                message.Body += "http://www.abc?code=" + Session["rdnCode"].ToString();
    
                SmtpClient client = new SmtpClient("relay-hosting.secureserver.net", 25);
    
                System.Net.NetworkCredential auth = new System.Net.NetworkCredential("abc@abc.com", "abc");
                client.EnableSsl = false;
                client.Credentials = auth;
                //client.Credentials = CredentialCache.DefaultNetworkCredentials; 
                client.Send(message);
            }
            catch { }
    
        
        }

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    cái này mình cũng viết rồi mình thêm cho bạn code random nè thử coi có được ko

    Mã:
    string strString = "abcdefghijklmnopqrstuvwxyz0123456789";
                Random random = new Random();
                int randomCharIndex = 0;
                char randomChar;
                string captcha = "";
                for (int i = 0; i < 15; i++)
                {
                    randomCharIndex = random.Next(0, strString.Length);
                    randomChar = strString[randomCharIndex];           
                    captcha += Convert.ToString(randomChar);
                }
    
                Session["rdnCode"] = captcha;

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cảm ơn những ý kiến chia sẻ của mọi người! e làm phần send mail vẫn ko đc! người nhận ko nhận đc mail ai có DEMO phần này cho e tham khảo với! thanks for help!

  7. #7
    Trích dẫn Gửi bởi jindoniit
    mình chạy trên localhost vẫn gửi được. code trên mình sử dụng gmail , username va password bạn phải nhập đúng.Còn khi up lên host còn tùy lần trước mình xài cái host mà gửi phải 15p mới nhận được mail
    Các bước kiểm tra và kích hoạt mình làm hết rùi! còn mỗi là người dùng ko nhận đc mail thui!
    bạn bảo username và password pải nhập đúng mình có thấy chỗ nào pải nhập nó đâu?

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    chỗ này nè.bạn phải nhập đúng username và password

    Mã:
     System.Net.NetworkCredential auth = new System.Net.NetworkCredential("abc@abc.com", "abc");
    nếu bạn dùng gmail để gửi thì phải có username và pass gmail của người gửi.ko có thể phải có urser và pass của host cung cấp

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi jindoniit
    chỗ này nè.bạn phải nhập đúng username và password

    Mã:
     System.Net.NetworkCredential auth = new System.Net.NetworkCredential("abc@abc.com", "abc");
    nếu bạn dùng gmail để gửi thì phải có username và pass gmail của người gửi.ko có thể phải có urser và pass của host cung cấp
    Mình nhập đúng như bạn bảo sao vẫn ko nhận đc mail nhỉ
    chỗ "abc@abc.com" mình nhập vào gmail của mình,
    còn chỗ "abc" mình nhập vào pass gmail của mình

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    cảm ơn bạn đã hướng dẫn! máy mình có nối mạng! mình chạy project của mình trên localhost thì có gửi dc mail ko bạn! mình làm như bạn và ko có lỗi j xảy ra! nhưng vào mail thì ko có mail j ka!


    Cho mình hỏi thêm khi nhận đc mail kích hoạt rùi thì nếu mình bấm vào link kích hoạt nhiều lần có đc ko? hay là chỉ đc bấm vào link kích hoạt 1 lần duy nhất. nếu chỉ đc 1 lần bấm thì khi người dùng bấm kích hoạt thì sẽ xử lý thế nào trên server để lần sau họ ko bấm đc nữa! thanks for help!

 

 
Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •