노트북 도난방지 1122

2008. 11. 22. 08:36

bool existAttachment = true
private void SendLog()                                  // 메일 보내기
        {
            try
            {
                MailMessage message = new MailMessage();

                message.From = new MailAddress(tb_smtp_id.Text + "@gmail.com", "상근이", Encoding.UTF8);
                message.To.Add(new MailAddress(tb_smtp_id.Text + "@gmail.com", "You", Encoding.UTF8));

                message.Subject = "Concentrate on THIS LOG of Labtop which was stolen by thief";
                message.SubjectEncoding = Encoding.UTF8;
                message.Body = "This is the thief's log\n\n";
                message.Body += strLog;
                message.BodyEncoding = System.Text.Encoding.UTF8;
                message.Priority = MailPriority.Normal;

                if (existAttachment == true)
                {
                   
String file = "scene.jpg";
                    Attachment attachment = new Attachment(file, MediaTypeNames.Application.Octet);
                    message.Attachments.Add(attachment);

                }

                SmtpClient smtp = new SmtpClient("smtp.gmail.com");
                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtp.Credentials = CredentialCache.DefaultNetworkCredentials;
                smtp.EnableSsl = true;
                smtp.UseDefaultCredentials = true;
                smtp.Credentials = new NetworkCredential(tb_smtp_id.Text, tb_smtp_pw.Text);

                smtp.Timeout = 20000;

                smtp.Send(message);
            }
            catch (FileNotFoundException ee)    // 파일 없으면 파일첨부 안하고 보내기
            {
                MessageBox.Show(ee.ToString());
                existAttachment == false;
                SendLog();
                return;
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
                return;
            }
            finally
            {
                MessageBox.Show("Sending Log has been complete");
            }
        }

전에 전역후킹 키로그 파일을 메일로 보내는 것까지 구현했었는데
이번에 내 프로그램에 웹캠을 이용한 촬영기능까지 넣으면서 jpg파일을 메일로 첨부할 필요가 생겼다.
노트북 절도자의 얼굴까지 사진으로 찍어서 메일로 오면 그야말로 금상첨화!!!

파일 첨부를 해서 메일을 보내니 자꾸 전송이 실패되길래 왜 안되나 하고 종일 삽질했었는데
알고보니 내가 파일명을 잘못적었었다. 이런 멍청한 -_-

원래 로그만 전송할땐 2~3초 정도 버벅거렸었기에
'우와 달랑 1kb도 안될 로그를 전송하는데 이렇게 버벅이면 100kb넘는 그림파일은 얼마나 버벅이려나 했는데'
한 5초 정도밖에 버벅이지 않았다. 뭐 버벅인다기보다는 마우스 움직임이 조금씩 끊기는 정도의...(ㅠ_ㅠ)a

메일 전송 테스트하다가 방금 알게된건데...
IP주소까지 전송시키게 해놨더니 공유기의 내부 IP가 날아온다. 192.168... -_-
외부IP를 저장시켜서 전송시켜야겠다.
이건 또 어떻게 한담~ 휴우~

박상근 프로그래밍/Laptop Guard