30/09/2018, 23:37

Login vào main gửi mail?

Continuing the discussion from Login vào main rồi gửi Mail?
code rồi, nhưng thêm cái login này thì không làm dc. còn làm một form gồm to, from, username, password, địa chỉ máy chủ, port …thì dc. nhưng muốn login vào rồi mới gửi như mozzilla thunderbird ấy?
muốn gửi code lên nhờ cộng đồng daynhauhoc hướng dẫn sửa dùm http://www.mediafire.com/download/1un5k4gqylj9qv5/Emailclient.rar
Xin cảm ơn!
Ps: thông cảm mới học nên tít tờ mờ lắm.

Đỗ Trung Quân viết 01:47 ngày 01/10/2018
  1. Bạn hãy up code nên và chỉ ra chỗ nào bạn chưa làm được, hoặc có làm nhưng xảy ra lỗi gì mọi người có thể support cho bạn

  2. Bạn up nguyên cái project nên vậy rất ít người rảnh để xem cho bạn

  3. Lần trước mình đã close bài của bạn nhưng bạn vẫn không hiểu cách hỏi sao cho đúng. Vì vậy lần này mình sẽ giúp bạn, hy vọng bạn nhớ để rút kinh nghiệm lần sau

Mình đã tải về và xem thử, code của bạn thật sự rất chán

    1. Không nên để 2 cái textbox là static như vậy. Nên viết 1 hàm truyền tham số sang form Main
    1. Smtp bên form1 với form main là không liên quan
    1. Bên form login đã điền username rồi mà lúc bật form Main lên không tự động điền To = textbox vào?
  • 4.Nếu có access được cũng chắc chắn xảy ra lỗi userauthentication

Thay đoạn code của bạn bên trong sự kiện click button bằng cái này

        private void btnSend_Click(object sender, EventArgs e)
        {
            //try
            //{
            //    SmtpClient client = new SmtpClient("smtp.gmail.com", 465);
            //    client.Credentials = new NetworkCredential(Form1.tb.Text, Form1.tb1.Text);
            //    MailMessage msg = new MailMessage();
            //    msg.To.Add(new MailAddress(txtTo.Text));
            //    msg.From = new MailAddress(txtFrom.Text);
            //    msg.Subject = txtSubject.Text;
            //    msg.Body = txtBody.Text;
            //    client.EnableSsl = true;
            //    client.Send(msg);


            //}
            //catch
            //{
            //    MessageBox.Show("Sorry", "Error");
            //}



            MailAddress fromAddress = new MailAddress(Form1.tb.Text, "From Name");
            MailAddress toAddress = new MailAddress(txtTo.Text, "To Name");
            string fromPassword = Form1.tb1.Text;
            string subject = txtSubject.Text;
            string body = txtBody.Text;

            //khai báo SmtpClient
            SmtpClient smtp = new SmtpClient
            {
                Host = "smtp.gmail.com",
                Port = 587,
                EnableSsl = true,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                Credentials = new NetworkCredential(fromAddress.Address, fromPassword),
                Timeout = 20000
            };
            // truyền tham số cho message
            using (MailMessage message = new MailMessage(fromAddress, toAddress)
            {
                Subject = subject,
                Body = body
            })
            //gửi mail
            {
                smtp.Send(message);
                MessageBox.Show("Gửi Thành Công!");
            }

        }

Chú ý: Lần sau bạn còn hỏi như này mình sẽ close bài không báo trước

Đỗ Trung Quân viết 01:53 ngày 01/10/2018

Hoàng viết 01:53 ngày 01/10/2018

cảm ơn vì sự chân thành và nhiệt tình của ban!

Hoàng viết 01:45 ngày 01/10/2018
          private void btnAdd_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                txtAttacment.Text = openFileDialog1.FileName.ToString();
            }
        }
        private void btnSend_Click(object sender, EventArgs e)
        {  try 
            {
              
                MailMessage message = new MailMessage(); // Email Object
              
                if(txtAttacment!= null)
                {
                    message.Attachments.Add(new Attachment(txtAttacment.Text)); //Adding attachment
                }
                
                Cursor.Current = Cursors.WaitCursor;
                Cursor.Current = Cursors.Default;
                message = null; // Free the memory
            }
        catch (Exception ex) // Catching if any error occurs
        {
            MessageBox.Show(ex.ToString());
        }
            //MailMessage mail = new MailMessage(txtFrom.Text, txtTo.Text, txtSubject.Text,txtBody.Text);
            MailAddress fromAddress = new MailAddress(Form1.tb.Text, "From Name");
            MailAddress toAddress = new MailAddress(txtTo.Text, "To Name");
            string fromPassword = Form1.tb1.Text;
            string subject = txtSubject.Text;
            string body = txtBody.Text;
            
          
            //khai báo SmtpClient

            SmtpClient smtp = new SmtpClient
            {
                Host = "smtp.gmail.com",
                Port = 587,
                EnableSsl = true,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                Credentials = new NetworkCredential(fromAddress.Address, fromPassword),
                Timeout = 20000

            };


            // truyền tham số cho message
            using (MailMessage message = new MailMessage(fromAddress, toAddress)
            {

                Subject = subject,
                Body = body

            })

            //gửi mail
            {
                smtp.Send(message);
                MessageBox.Show("Gửi Thành Công!");
              
            }

        }
    }
}

ở phần gửi file đính kèm H có thêm code như thế này đúng không anh Quân? không báo lỗi nhưng gửi kèm không thấy có kết quả?

Đỗ Trung Quân viết 01:50 ngày 01/10/2018

Hiện tại anh đang bận, anh sẽ trả lời em vào buổi tối.

Reoteu Ray viết 01:54 ngày 01/10/2018

cái gửi mail thông qua server thế này thì hình như tài khoản email phải cấu hình thì mới cho phép gửi thì phải …

Bài liên quan
0