Thursday, July 14, 2011

Gửi mail (thư) trong C# - với tài khoản Gmail

[sourcecode language="csharp"]
using System.Net.Mail;
using System.Net;
private void button1_Click(object sender, EventArgs e)
{
string Sendto = "ngotuongdan01@gmail.com"; //Email Address to reciever
// tai khoan này các bạn sử đừng sử dụng để gửi tùm lum dùm tui nhe
string UserName = "ngotuongdan04"; //Ur Gmail address
string PassWord = "ngotuongdan"; //Gmail password
NetworkCredential loginInfo = new NetworkCredential(UserName, PassWord);
MailMessage msg = new MailMessage();
msg.From = new MailAddress(UserName);
msg.To.Add(new MailAddress(to.ToString()));
msg.Subject = "Testing Mail";
msg.Body = textBox1.Text.ToString();
msg.IsBodyHtml = true;
SmtpClient client = new SmtpClient("smtp.gmail.com");
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = loginInfo;
client.Send(msg);
MessageBox.Show("mail sent");
}
[/sourcecode]

Chúc các bạn thành công

18 comments:

  1. Em có vấn đề này muốn hỏi thầy, e muốn sử dụng keys để ràng buộc thời gian sử dụng cho phần mềm. Lầu đầu khi cai đặt phần mềm xong và chạy lên e sẽ cho phần mềm đó tự động xuất ra Keys rồi gửi vào mail của em. Nhưng khi có cái keys rồi thi em k bít lưu lại bằng cách nào để lần thứ hai chạy không bắt nhập keys nữa, em có thử lưu keys đó lại thành một file của hệ thống, rồi sao đó đọc file đó nếu như có tồn tại thi không bắt nhập keys lại, nhưng cách này em thấy không an toàn là vì ví dụ như khi nguoi ta cài phần mếm thêm o máy khác mà người ta bít chỗ lưu cái file của minh o dau thì người ta tạo cái file giống hệt như z thì sẽ chạy được.

    Thầy giúp em hướng giải quyết nhe,
    em cám ơn thầy

    ReplyDelete
  2. Mong được giúp đỡApril 8, 2012 at 3:38 AM

    Em muốn hỏi thầy như sau: em viết một chương trình bằng c# với mục đính là: có 1 địa chỉ Email (vd: kaka@yahoo.com.vn), đã được lưu trong database, em muốn gửi 1 bức thư với một nội dung nào đó đến địa chỉ đó thì phải làm như thế nào ạ.

    ReplyDelete
  3. Mong được giúp đỡApril 9, 2012 at 2:02 AM

    Cảm ơn Thầy rất nhiều !!!

    ReplyDelete
  4. Thầy ơi, thế còn đính kèm tệp khi gửi thư thì sao ạ?

    ReplyDelete
  5. em gọi lệnh đính kèm thêm file là được:
    msg.Attachments.Add(new Attachment(filepath));

    Thử xem nhe

    ReplyDelete
  6. Vâng để e thử ạk.. Cảm ơn thầy, chúc thầy sức khỏe ạ! :D

    ReplyDelete
  7. nếu gửi từ gmail đến yahoo, hoặc từ yahoo đến gmail thì dùng code thế nào , Thầy giúp em với !

    ReplyDelete
  8. hiện tại theo tôi biết thì gmail cho phép chứng thực gởi từ xa còn yahoo thi đã khóa tính này này cho bản miễn phí.
    Còn code này tôi sử dung server mail của gmail để gởi nên gmail gởi được đến đâu thì code code trên sẽ gởi đến đó.

    Tôi nghĩ bạn nên xem lại một chút về STMP để hiểu rõ thư điện tử nhe vì có vẻ bạn đang hiểu sai rồi.

    ReplyDelete
  9. Thầy ơi cho em hỏi, giờ em muốn cho app có thể thông báo tự động khi có mail đến thì em phải làm ntn ạ? em cảm ơn thầy!

    ReplyDelete
  10. app đây là ứng dụng di động, desktop hay web vậy bạn.

    ReplyDelete
  11. Nhìn qua code thì có vẻ ổn nhưng em nên in ngoại lệ chi tiết ra để biết bị lỗi gì, vì khi gởi mail có nhiều nguyên nhấn lỗi lắm em à.

    1. Không phân giải được tên miềm sptm.gmail.com
    2. Bị chặn do gởi nhiều mail từ một địa chỉ mail
    .....

    em thử nhe, có gì liên hệ lại với tôi
    Tham khao file nay nhe

    ReplyDelete
  12. Em chào thầy, cho em hỏi là : em thay đổi

    string UserName = "ngotuongdan04"; //Ur Gmail address
    string PassWord = "ngotuongdan"; //Gmail password

    sang tài khoản của em thì chương trình báo lỗi vậy, e cũng dùng gmail nhưng gmail của thầy gửi đc mà gmail của e ko gửi đc ạ ! @@

    ReplyDelete
  13. Thầy ơi, em xử lý được rồi ạ, Thầy cho em hỏi, bây giờ em muốn thêm chức năng thống kê số người đã reply lại mail của mình gửi đi thì có phải dùng thư viện hỗ trợ gì k ạ? Ví dụ em gửi 1 mail cho 5 người, nếu có 4 người đã trả lời thì app thống kê đã có 4 ng trả lời và link trực tiếp tới mail họ đã trả lời? Em cảm ơn!

    ReplyDelete
  14. Trường hợp này em phải sử dụng POP và thống kê rồi, tôi chưa xây dựng demo trong tình huống này.

    ReplyDelete
  15. Chào thầy em có tạo 1 form login vậy để làm sao biết khi nào mình login thành công để chuyển vào form gửi thư vậy thầy.

    ReplyDelete
  16. em có thể tham khảo bài này
    https://www.youtube.com/watch?v=75kdIx-9E9E

    Đây là bài giảng trên lớp của tôi

    ReplyDelete

Translate