Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Gửi mail với SMTP chứng thực với Gmail

  1. #1
    Ngày gia nhập
    06 2007
    Nơi ở
    TP.HCM
    Bài viết
    113

    Mặc định Gửi mail với SMTP chứng thực với Gmail

    Viết một ứng dụng đôi lúc bạn cần đến một chức năng gửi mail để đáp ứng cho một mục đích nào đó. Đôi khi bạn đã có mailserver của mình để có thể sử dụng SMTPSERVER nhưng đôi lúc bạn không kiếm đâu ra mailserver thì các mailclient như mail của chúng ta đăng ký ở Gmail hay Yahoo ... chỉ cần bạn biết địa chỉ smtpserver của nó và một port là có thể sử dụng SMTP trong name space System.Net.Mail để gửi mail.

    Dưới đây là một lớp mình viết sẵn và có giải thích rỏ ràng trên từng đoạn code nên mình ko giải thích lại nữa.

    Visual C# Code:
    1. using System.Net.Mail;
    2. using System.Text.RegularExpressions;
    3.  
    4. /// <summary>
    5. /// Summary description for SendMailClient
    6. /// </summary>
    7. public class SGmail
    8. {
    9.     public SGmail()
    10.     {
    11.     }
    12.  
    13.     SmtpClient sClient = new SmtpClient();
    14.  
    15.     //xác định smtpserver để gửi mail, với gmail là smtp.gmail.com
    16.     string smtpServer = "smtp.gmail.com";
    17.     /// <summary>
    18.     /// Thuộc tính truyền hoặc lấy mail server khi gửi mail client
    19.     /// </summary>
    20.     public string SmtpServer
    21.     {
    22.         get { return smtpServer; }
    23.         set { smtpServer = value; }
    24.     }
    25.  
    26.     //Gửi từ mail nào, là một địa chỉ mail từ gmail ex: sunflower2441@gmail.com
    27.     string smtpMailFrom = "sunflower2441@gmail.com";
    28.     /// <summary>
    29.     /// Thuộc tính truyền hoặc lấy giá trị địa chỉ gửi mail
    30.     /// </summary>
    31.     public string SmtpMailFrom
    32.     {
    33.         get { return smtpMailFrom; }
    34.         set { smtpMailFrom = value; }
    35.     }
    36.  
    37.     //user đăng nhập vào gmail
    38.     string smtpUser = "sunflower2441";
    39.     /// <summary>
    40.     /// Thuộc tính user đăng nhập mail, chỉ có thể truyền
    41.     /// </summary>
    42.     public string SmtpUser
    43.     {
    44.         set { smtpUser = value; }
    45.     }
    46.  
    47.     //mật khẩu đăng nhập gmail
    48.     string smtpPassword = "123456";
    49.     /// <summary>
    50.     /// Thuộc tính mật khẩu đăng nhập mail, chỉ có thể truyền
    51.     /// </summary>
    52.     public string SmtpPassword
    53.     {
    54.         set { smtpPassword = value; }
    55.     }
    56.  
    57.     //port của smtpserver khi dùng gmail là 587 hoặc 465
    58.     int smtpPort = 587;
    59.     /// <summary>
    60.     /// Port khi gửi mail với smtpserver của mail client, chỉ có thể truyền
    61.     /// </summary>
    62.     public int SmtpPort
    63.     {
    64.         get { return smtpPort; }
    65.         set { smtpPort = value; }
    66.     }
    67.  
    68.     /// <summary>
    69.     /// Hàm gửi mail với mail client là gmail
    70.     /// </summary>
    71.     /// <param name="strMailTo">Mail muốn gửi đến</param>
    72.     /// <param name="strMailSubject">Tựa đề mail</param>
    73.     /// <param name="strContent">Nội dung mail</param>
    74.     /// <param name="bolIsHTMLFormat">Định dang mail gửi đi là HTML hay Text</param>
    75.     /// <returns>Trả về thông tin sau khi gửi là thanh công hay thất bại và lỗi khi thất bại.</returns>
    76.     public int SendMail(string strMailTo, string strMailSubject, string strContent, bool bolIsHTMLFormat)
    77.     {
    78.         try
    79.         {
    80.             MailMessage objMail = new MailMessage();
    81.             //reg xác lập tính hợp lệ của mail
    82.             Regex reg = new Regex(@"^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$");
    83.             objMail.From = new MailAddress(smtpMailFrom);
    84.             objMail.ReplyTo = new MailAddress(smtpMailFrom);
    85.  
    86.             if (reg.IsMatch(strMailTo))
    87.             {
    88.                 objMail.To.Add(new MailAddress(strMailTo));
    89.                 objMail.Subject = strMailSubject;
    90.                 if (bolIsHTMLFormat)
    91.                 {
    92.                     objMail.IsBodyHtml = true;
    93.                     objMail.Body = string.Format("<html><head><title>{0}</title></head><body>{1}</body></html>", strMailSubject, strContent);
    94.                 }
    95.                 else
    96.                 {
    97.                     objMail.IsBodyHtml = false;
    98.                     objMail.Body = strContent;
    99.                 }
    100.                 objMail.BodyEncoding = System.Text.Encoding.UTF8;
    101.                 sClient = new SmtpClient();
    102.  
    103.                 sClient.Host = smtpServer;
    104.                 sClient.Port = smtpPort;
    105.                 sClient.Credentials = new System.Net.NetworkCredential(smtpUser, smtpPassword);
    106.                 sClient.EnableSsl = true;
    107.                 sClient.Send(objMail);
    108.  
    109.                 return 1;
    110.             }
    111.             else
    112.             {
    113.                 return 0;
    114.             }
    115.         }
    116.         catch (Exception ex)
    117.         {
    118.             return -1;
    119.         }
    120.     }
    121. }

    Gác Kiếm

  2. #2
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Xem bài hướng dẫn chi tiết của X viết hồi lâu lâu cũng được Gửi eMail với SMTP trong lập trình C#
    None!

  3. #3
    Ngày gia nhập
    02 2009
    Bài viết
    7

    cho tớ hỏi: tớ cũng viết một cái như này nhưng sau khi chạy một số lần nhất định trong ngày thì nó không cho gửi nữa, hình như là giới hạn số lượng mail gửi đi trong 1 ngày(khoảng 20 mail), có cách nào để nó không bị giới hạn không ?
    Hỡi thế gian tiền ở đâu ?
    Khiến ta than khóc thảm sầu
    Trời Nam, đất Bắc khôn tìm kiếm
    Tiền ơi, tiền hỡi rơi xuống đầu ta đi ...

  4. #4
    Ngày gia nhập
    10 2007
    Nơi ở
    HCMUNS
    Bài viết
    459

    Không giới hạn thì bạn dùng nó để flood người ta rồi sao?
    Keep moving forward!

    ... Retired ...

  5. #5
    Ngày gia nhập
    01 2010
    Bài viết
    7

    sunflower ban cho lai file dll di nhe, ban dua link nay chung to rat kho dowload, ban cho to xin file bang link mediafire nhe. cám ơn bạn rât nhiều.

Các đề tài tương tự

  1. Làm thế nào để gửi mail tới gmail trong lập trình C?
    Gửi bởi MrLoyal trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 3
    Bài viết cuối: 22-04-2013, 04:40 PM
  2. Gửi mail bằng giao thức SMTP với lập trình C#?
    Gửi bởi dangcuongpn trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 21-12-2012, 05:09 PM
  3. Ứng dụng gửi nhận mail bằng POP3 - FPT - SMTP
    Gửi bởi nhatnghe_thuong trong diễn đàn Dự án & Source code C#, ASP.NET
    Trả lời: 3
    Bài viết cuối: 19-12-2011, 10:26 AM
  4. Làm sao để duyệt được mail của yahoo hoặc gmail với C#??
    Gửi bởi #include# trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 24-10-2009, 03:59 AM
  5. Block 1 e-mail trong gmail
    Gửi bởi nthung trong diễn đàn Thắc mắc chung
    Trả lời: 0
    Bài viết cuối: 26-03-2009, 03:23 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn