2012-10-31 3 views
1

reportviewer가 포함 된 WinForm에서 작업하고 있습니다.Reportviewer는 Gmail을 통해 이메일을 보냅니다.

Gmail/yahoo를 통해 이메일을 보내고이 보고서를 pdf로 첨부하려면 어떻게해야합니까? 이 게시물을 보니 http://www.codeproject.com/Articles/32109/Send-Mail-and-Print-Report-in-Report-Viewer-Contro이지만 Outlook과 같은 데스크톱 전자 메일 클라이언트에서만 작동하는지 또는 웹 기반 전자 메일 클라이언트를 지원합니까?

미리 감사드립니다.

답변

0
const string HTML_TAG_PATTERN = "<.*?>"; 
static string StripHTML(string inputString) 
{ 
    return Regex.Replace(inputString, HTML_TAG_PATTERN, string.Empty); 
} 

public static void sendMessage() 
{ 
    var username = "[email protected]"; 
    var password = "password"; 
    MailAddress MailFrom = new MailAddress("[email protected]"); 
    MailAddress MailTo = new MailAddress("[email protected]"); 
    var subject = "TEST SUBJECT"; 
    var attachmentPath = "test.pdf"; 
    var mailBody = "<b>test</b>"; 


    NetworkCredential cred = new NetworkCredential(username, password); 

    System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient(); 
    smtp.Host = "smtp.gmail.com"; 
    smtp.UseDefaultCredentials = false; 
    smtp.EnableSsl = true; 
    smtp.Credentials = cred; 
    smtp.Port = 587; 

    MailMessage mail = new MailMessage(); 

    mail.IsBodyHtml = true; 

    AlternateView avAlternateView = null; 
    Encoding myEncoding = Encoding.GetEncoding("UTF-8"); 

    avAlternateView = AlternateView.CreateAlternateViewFromString(StripHTML(mailBody), myEncoding, "text/plain"); 
    mail.AlternateViews.Add(avAlternateView); 

    avAlternateView = AlternateView.CreateAlternateViewFromString(mailBody, myEncoding, "text/html"); 
    mail.AlternateViews.Add(avAlternateView); 

    mail.Sender = MailFrom; 
    mail.From = MailFrom; 
    mail.ReplyTo = MailFrom; 

    mail.To.Add(MailTo); 

    mail.Subject = subject; 
    mail.SubjectEncoding = Encoding.GetEncoding("UTF-8"); 

    mail.BodyEncoding = Encoding.GetEncoding("UTF-8"); 

    Attachment attachment = new Attachment(attachmentPath); 
    mail.Attachments.Add(attachment); 
    try 
    { 
    smtp.Send(mail); 
    } 
    catch (Exception ex) 
    { 
    } 
} 
+0

매력처럼 작동했습니다! 많은 감사합니다! – Aqua267