본문 바로가기
C#

.net framework를 이용한 SMTP에 파일첨부해서 보내기

by 캡틴노랑이 2019. 1. 9.
반응형

.net 프레임워크에서 제공하는 SMTP로 파일 첨부해서 메일 보내기



using (MemoryStream stream = new MemoryStream())
{
    report.ExportToPdf(stream);
    byte[] bytes = stream.ToArray();

    MailMessage mail = new MailMessage();
    SmtpClient SmtpServer = new SmtpClient("Server URL", 587);//587  SSL : 465
    string userState = "Send Email";
    string msg = GetMailTempleate();

    msg = msg.Replace("[name]", ds.Tables[0].Rows[0]["USR_NM"].ToString());
    msg = msg.Replace("[Position]", ds.Tables[0].Rows[0]["DR_GB_NM"].ToString());
    msg = msg.Replace("[part]", ds.Tables[0].Rows[0]["DEPT_NM"].ToString());        
    
    mail.From = new MailAddress(ds.Tables[0].Rows[0]["EML"].ToString());
    mail.To.Add(new MailAddress(dr["TPIC_EML"].ToString()));

    mail.Subject = "subject;
    mail.Body = msg;

    mail.Attachments.Add(new Attachment(new MemoryStream(bytes), "purchase_order.pdf"));//, "application/pdf"
    mail.IsBodyHtml = true;
    mail.Priority = MailPriority.High;

    //SmtpServer.Port = 465;
    
    //SmtpServer.UseDefaultCredentials = false;
    //SmtpServer.EnableSsl = true;
    //SmtpServer.Timeout = 5;

	SmtpServer.Credentials = new System.Net.NetworkCredential("ID", "PASS");
    SmtpServer.Send(mail);
                                    
    //SmtpServer.SendCompleted += SmtpServer_SendCompleted;
    //SmtpServer.SendAsync(mail, userState);

    MessageBox.Show("success");
}


반응형

댓글