Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 12 kết quả

Đề tài: Phần mềm gửi lỗi của app vào gmail của mình. Xây dựng như thế nào???

  1. #1
    Ngày gia nhập
    12 2010
    Bài viết
    683

    Red face Phần mềm gửi lỗi của app vào gmail của mình. Xây dựng như thế nào???

    Mình đang có một ứng dụng và khi có lỗi gì đó thì người dùng của mình sẽ send lỗi đó vào mail của mình!

    Có ai làm cái này chưa chi giúp với

    Giống như mấy phần mềm nước ngoài đó có lỗi là send error problem

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

    Trích dẫn Nguyên bản được gửi bởi cchangkhongayngo Xem bài viết
    Mình đang có một ứng dụng và khi có lỗi gì đó thì người dùng của mình sẽ send lỗi đó vào mail của mình!

    Có ai làm cái này chưa chi giúp với

    Giống như mấy phần mềm nước ngoài đó có lỗi là send error problem
    Làm thế nào để bắt lỗi?Làm thế nào để lấy lỗi đó ra?Và cách send mail?
    Bạn làm từng phần trên thử xem
    Càng học càng thấy mình thiếu nhiều kiến thức.........

  3. #3
    Ngày gia nhập
    12 2010
    Bài viết
    683

    Trích dẫn Nguyên bản được gửi bởi bimtocsieuquay Xem bài viết
    Làm thế nào để bắt lỗi?Làm thế nào để lấy lỗi đó ra?Và cách send mail?
    Bạn làm từng phần trên thử xem
    Bắt lỗi oki
    Lấy lỗi oki
    còn send mail thui

    Khi user send là mình bắt buộc họ nhập email và proplem của họ vô rồi mình mới cho send và mình gửi phản hồi lại dc!

    Ý tưởng mình là thế!

  4. #4
    Ngày gia nhập
    05 2010
    Bài viết
    505

    Trích dẫn Nguyên bản được gửi bởi cchangkhongayngo Xem bài viết
    Bắt lỗi oki
    Lấy lỗi oki
    còn send mail thui

    Khi user send là mình bắt buộc họ nhập email và proplem của họ vô rồi mình mới cho send và mình gửi phản hồi lại dc!

    Ý tưởng mình là thế!
    làm đc 2 cái trên rồi thì bạn có thể dùng code bên dứoi để sendmail bằng cách dùng account gmail của bạn
    Visual C# Code:
    1. using System;
    2. using System.Collections.Generic;
    3. using System.Text;
    4. using System.IO;
    5. using System.Net.Mail;
    6. using System.Net;
    7.  
    8. namespace ConsoleApplication1
    9. {
    10.     class Program
    11.     {
    12.  
    13.         public static void Main()
    14.         {
    15.            
    16. MailMessage mail = new MailMessage();
    17.  
    18.  
    19.  
    20. mail.From = new MailAddress("tjitender@gmail.com","sss");
    21.  
    22. mail.To.Add("jin_us@yahoo.com");
    23.  
    24.  
    25.  
    26. mail.Subject = "txtSubject.Text";
    27.  
    28. mail.Body = "txtMessage.Text";
    29.  
    30.  
    31.  
    32. SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
    33.  
    34. smtp.EnableSsl = true;
    35.  
    36. smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
    37.  
    38. smtp.Credentials = new NetworkCredential("tjitender@gmail.com", "password");
    39.  
    40. smtp.Timeout = 20000;
    41.  
    42.  
    43.  
    44. smtp.Send(mail);
    45.  
    46.         }
    47.     }
    48. }

  5. #5
    Ngày gia nhập
    08 2011
    Nơi ở
    Hà Nội | http://ipmac.vn
    Bài viết
    198

    Hi bạn, vì bạn không nói rõ bạn làm web hay desktop.
    Nếu bạn làm asp.net thì có thể sử dụng emlah nhé : http://code.google.com/p/elmah/
    Cấu hình rất đơn giản theo hướng dẫn, nếu ko rõ thì mình sẽ chỉ cách cho.

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

    Mặc định Phần mềm gửi lỗi của app vào gmail của mình. Xây dựng như thế nào???

    Trích dẫn Nguyên bản được gửi bởi cchangkhongayngo Xem bài viết
    Bắt lỗi oki
    Lấy lỗi oki
    còn send mail thui

    Khi user send là mình bắt buộc họ nhập email và proplem của họ vô rồi mình mới cho send và mình gửi phản hồi lại dc!

    Ý tưởng mình là thế!
    Nếu để họ send mail cho bạn bằng chính tài khoản gmail của họ thì mình e họ không dám
    Còn vấn đề send mail như thế nào thì bạn search thử, trong diễn đàn có bài hướng dẫn rất chi tiết luôn đó.
    Càng học càng thấy mình thiếu nhiều kiến thức.........

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

    Trích dẫn Nguyên bản được gửi bởi bimtocsieuquay Xem bài viết
    Nếu để họ send mail cho bạn bằng chính tài khoản gmail của họ thì mình e họ không dám
    Còn vấn đề send mail như thế nào thì bạn search thử, trong diễn đàn có bài hướng dẫn rất chi tiết luôn đó.
    Sao họ lại không dám???

    Chỉ là gửi lỗi thôi mà!

    Thanks bạn lubuxu nhiêu nha! để mình test thử!

    Còn cái này nữa!

    Kiểm tra xem chuỗi có phải là email và chỉ gmail thôi thì sao nhỉ??

  8. #8
    Ngày gia nhập
    02 2011
    Nơi ở
    Vô Gia Cư
    Bài viết
    269

    Anh có thể dùng thư viện Mail trong System.Net trong đó có hàm thực hiện việc gủi mail mà k cần xác thực, anh có thể dùng địa chỉ gửi là tên máy tính@gmail.com vẫn đc. Nó k yêu cầu mật khẩu hay xác thực tài khoản!

    Đây là cách làm của spam box đó!

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

    Trích dẫn Nguyên bản được gửi bởi Click8A4 Xem bài viết
    Anh có thể dùng thư viện Mail trong System.Net trong đó có hàm thực hiện việc gủi mail mà k cần xác thực, anh có thể dùng địa chỉ gửi là tên máy tính@gmail.com vẫn đc. Nó k yêu cầu mật khẩu hay xác thực tài khoản!

    Đây là cách làm của spam box đó!
    Click84A nói rõ hơn dc không?Mình cũng dùng thư viện Mail trong System.net để gởi mail nhưng yêu cầu phải có pass
    Càng học càng thấy mình thiếu nhiều kiến thức.........

  10. #10
    Ngày gia nhập
    02 2011
    Nơi ở
    Vô Gia Cư
    Bài viết
    269

    Sr anh, lâu rồi không vào diễn đàn, quên trả lời anh mất.

    Anh có thể xem tutorial này của anh Xcross87! Nhưng nó sẽ chỉ báo là spam mail.
    Anh dùng một địa chỉ mail tạo trước gửi đến mail của anh, hay nói đúng hơn là anh gửi mail cho chính mình nhưng nội dung mail sẽ là lỗi và người gửi sẽ là người dùng, nó sẽ k yêu cầu password!

    Trích dẫn Nguyên bản được gửi bởi Xcross87 Xem bài viết
    việc cuôi cùng là test lại class cho hoàn chỉnh

    đây là bộ class hoàn chỉnh Smtp cho Gmail
    có cả 1 class con để test luôn

    Visual C# Code:
    1. using System;
    2. using System.Collections;
    3. using System.Collections.Generic;
    4. using System.Net.Sockets;
    5. using System.Net.Mail;
    6. using System.Text;
    7.  
    8. namespace Gmail
    9. {
    10.     public class Smtp : TcpClient
    11.     {
    12.         #region { VARIABLES LIST }
    13.         private string _server = null;
    14.         private int _port = 0;
    15.         private string _from = "";
    16.         private ArrayList _to;
    17.         private ArrayList _cc;
    18.         private ArrayList _bcc;
    19.         private string _subject = "";
    20.         private string _bodyHtml = "";
    21.         private string _bodyText = "";
    22.         #endregion
    23.  
    24.         #region { CONSTRUCTOR }
    25.         ///
    26.         /// Constructor
    27.         ///
    28.        
    29.         public Smtp()
    30.         {
    31.             // Init server connection info
    32.             _server = "gsmtp163.google.com";
    33.             _port = 25;
    34.  
    35.             // Init ArrayList
    36.             _to = new ArrayList();
    37.             _cc = new ArrayList();
    38.             _bcc = new ArrayList();
    39.         }
    40.         #endregion
    41.  
    42.         #region { PROPERTIES }
    43.         ///
    44.         /// Properties
    45.         ///
    46.  
    47.         public string Server
    48.         {
    49.             get { return _server; }
    50.             set { _server = value; }
    51.         }
    52.         public int Port
    53.         {
    54.             get { return _port; }
    55.             set { _port = value; }
    56.         }
    57.         public string From
    58.         {
    59.             get { return _from; }
    60.             set { _from = value; }
    61.         }
    62.         public ArrayList To
    63.         {
    64.             get { return _to; }
    65.             set { _to = value; }
    66.         }
    67.         public ArrayList CC
    68.         {
    69.             get { return _cc; }
    70.             set { _cc = value; }
    71.         }
    72.         public ArrayList BCC
    73.         {
    74.             get { return _bcc; }
    75.             set { _bcc = value; }
    76.         }
    77.         public string Subject
    78.         {
    79.             get { return _subject; }
    80.             set { _subject = value; }
    81.         }
    82.         public string BodyText
    83.         {
    84.             get { return _bodyText; }
    85.             set { _bodyText = value; }
    86.         }
    87.         public string BodyHTML
    88.         {
    89.             get { return _bodyHtml; }
    90.             set { _bodyHtml = value; }
    91.         }
    92.  
    93.         #endregion
    94.  
    95.         #region { METHODS }
    96.         ///
    97.         /// Methods
    98.         ///
    99.  
    100.         // Write
    101.         public void Write(string message)
    102.         {
    103.             ASCIIEncoding en = new ASCIIEncoding();
    104.  
    105.             byte[] WriteBuffer = new byte[1024];
    106.             WriteBuffer = en.GetBytes(message);
    107.  
    108.             NetworkStream stream = GetStream();
    109.             stream.Write(WriteBuffer, 0, WriteBuffer.Length);
    110.         }
    111.  
    112.         // Response
    113.         public string Response()
    114.         {
    115.             ASCIIEncoding enc = new ASCIIEncoding();
    116.             byte[] serverbuff = new Byte[1024];
    117.             NetworkStream stream = GetStream();
    118.             int count = stream.Read(serverbuff, 0, 1024);
    119.             if (count == 0)
    120.                 return "";
    121.             return enc.GetString(serverbuff, 0, count);
    122.         }
    123.  
    124.         // Send
    125.         public void Send()
    126.         {
    127.             string message = "";
    128.             string response;
    129.  
    130.             /*
    131.              * 1. Set up a connection to server and wait for welcome response
    132.              *      Code = 220
    133.              */      
    134.             Connect(_server, _port);
    135.             response = Response();
    136.             if (response.Substring(0, 3) != "220")
    137.             {
    138.                 throw new SmtpException(response);
    139.             };
    140.            
    141.             /*
    142.              * 2. Say greeting to server and wait for input
    143.              *      Code = 250
    144.              */
    145.             message = "HELO me\r\n";
    146.             Write(message);
    147.             response = Response();
    148.             if (response.Substring(0, 3) != "250")
    149.             {
    150.                 throw new SmtpException(response);
    151.             }
    152.  
    153.             /*
    154.              * 3. Input sender address, just any
    155.              *      Code = 250
    156.              */
    157.             message = "MAIL FROM:<" + _from + ">\r\n";
    158.             Write(message);
    159.             response = Response();
    160.             if (response.Substring(0, 3) != "250")
    161.             {
    162.                 throw new SmtpException(response);
    163.             }
    164.  
    165.             /*
    166.              * 4. Input list of receivers
    167.              *      Code = 250
    168.              */
    169.             foreach (string address in _to)
    170.             {
    171.                 try
    172.                 {
    173.                     message = "RCPT TO:<" + address + ">\r\n";
    174.                     Write(message);
    175.                     response = Response();
    176.                     if (response.Substring(0, 3) != "250")
    177.                     {
    178.                         throw new SmtpException(response);
    179.                     }
    180.                 }
    181.                 catch (SmtpException e)
    182.                 {
    183.                     System.Console.WriteLine("{0}", e.What());
    184.                 }
    185.             }
    186.  
    187.             /*
    188.              * 5. Input list of cc
    189.              *      Code = 250
    190.              */
    191.             foreach (string address in _cc)
    192.             {
    193.                 try
    194.                 {
    195.                     message = "RCPT TO:<" + address + ">\r\n";
    196.                     Write(message);
    197.                     response = Response();
    198.                     if (response.Substring(0, 3) != "250")
    199.                     {
    200.                         throw new SmtpException(response);
    201.                     }
    202.                 }
    203.                 catch (SmtpException e)
    204.                 {
    205.                     System.Console.WriteLine("{ 0}", e.What());
    206.                 }
    207.             }
    208.  
    209.             /*
    210.              * 6. Input list of bcc
    211.              *      Code = 250
    212.              */
    213.             foreach (string address in _bcc)
    214.             {
    215.                 try
    216.                 {
    217.                     message = "RCPT TO:<" + address + ">\r\n";
    218.                     Write(message);
    219.                     response = Response();
    220.                     if (response.Substring(0, 3) != "250")
    221.                     {
    222.                         throw new SmtpException(response);
    223.                     }
    224.                 }
    225.                 catch (SmtpException e)
    226.                 {
    227.                     System.Console.WriteLine("{ 0}", e.What());
    228.                 }
    229.             }
    230.  
    231.             /*
    232.              * 7. Input data
    233.              *      Code = 354
    234.              */
    235.             message = "DATA\r\n";
    236.             Write(message);
    237.             response = Response();
    238.             if (response.Substring(0, 3) != "354")
    239.             {
    240.                 throw new SmtpException(response);
    241.             }
    242.             // Subject
    243.             message = "Subject: " + _subject + "\r\n";
    244.             // To
    245.             foreach (string address in _to)
    246.             {
    247.                 message += "To: " + address + "\r\n";
    248.             }
    249.             // CC
    250.             foreach (string address in _cc)
    251.             {
    252.                 message += "Cc: " + address + "\r\n";
    253.             }
    254.             // From
    255.             message += "From: " + _from + "\r\n";
    256.             // Content
    257.             if (_bodyHtml.Length > 0)
    258.             {
    259.                 message += "MIME-Version: 1.0\r\n"
    260.                     + " Content-Type: text/ html;\r\n"
    261.                     + " charset=\" iso-8859-1\"\r\n";
    262.                 message += "\r\n" + _bodyHtml;
    263.             }
    264.             else
    265.             {
    266.                 message += "\r\n" + _bodyText;
    267.             };
    268.             message += "\r\n.\r\n";
    269.            
    270.             /*
    271.              * 8. Send message
    272.              *      Code = 250
    273.              */
    274.             Write(message);
    275.             response = Response();
    276.             if (response.Substring(0, 3) != "250")
    277.             {
    278.                 throw new SmtpException(response);
    279.             }
    280.  
    281.             /*
    282.              * 9. Quit
    283.              *      Code = 221
    284.              */
    285.             message = "QUIT\r\n";
    286.             Write(message);
    287.             response = Response();
    288.             if (response.IndexOf("221") == -1)
    289.             {
    290.                 throw new SmtpException(response);
    291.             }
    292.         }
    293.  
    294.         #endregion
    295.     }
    296.     public class SmtpException : Exception
    297.     {
    298.         string message;
    299.         public SmtpException(string str)
    300.         {
    301.             message = str;
    302.         }
    303.         public string What()
    304.         {
    305.             return message;
    306.         }
    307.     }
    308.     public class SMTPTest
    309.     {
    310.         public static void Main(string[] args)
    311.         {
    312.             try
    313.             {
    314.                 Smtp smtp = new Smtp();                
    315.                 smtp.From = "xcross87@cviet.com";
    316.                 smtp.Subject = "Greet to Pete";
    317.                 smtp.BodyText = "How's your work going?";
    318.                 smtp.To.Add("pete.houston.17187@gmail.com");
    319.                 smtp.Send();
    320.             }
    321.             catch (SmtpException e)
    322.             {
    323.                 System.Console.WriteLine("{0}", e.What());
    324.             }
    325.         }
    326.     }
    327. }

    rất đơn giản phải không
    giờ bạn chỉ cần thêm 1 class POP3 cho Gmail nữa là có được 1 namespace Gmail để xử lý việc gửi và nhận mail trong gmail rồi ^^
    Một ý tưởng khác là khi anh tạo phần mềm có yêu cầu người dùng nhập địa chỉ mail của họ, rồi dùng địa chỉ mail đó gửi về mail của anh!

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. Làm thế nào đẻ send mail từ yahoo sang gmail trên winform
    Gửi bởi noisim89 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 06-02-2012, 06:42 PM
  3. Cách post data để login auth gmail bằng C# như thế nào?
    Gửi bởi hkahka trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 30-07-2010, 09:46 AM
  4. Gửi mail với SMTP chứng thực với Gmail
    Gửi bởi sunflower trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 4
    Bài viết cuối: 09-04-2010, 11:30 PM
  5. Gmail Notifier | Thông báo cho bạn khi có email mới
    Gửi bởi dieucay555 trong diễn đàn Sản phẩm phần mềm của bạn
    Trả lời: 7
    Bài viết cuối: 28-08-2009, 03:02 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