본문 바로가기

ASP.net with C# (웹폼)

C# SMTP 메일발송, 옵션에 대한 설명

C#에서 SMTP 메일 보내기

이번 글에서는 C#에서 SMTP 메일 보내기입니다. 먼저 최종적인 코드는 다음과 같습니다.

아래 코드에서 부가적인 기능은 메일 발송시 메일참조 추가하기, 파일 첨부하기 등입니다.

using System.Net.Mail;
using System.Text;

void MailSetting()
{ 
    MailMessage message = new MailMessage();
    message.To.Add("receiver@gmail.com");
    message.From = new MailAddress("sender@gmail.com", "홍길동", System.Text.Encoding.UTF8);
    MailAddress bcc = new MailAddress("bcc@gmail.com");//참조 메일계정
    message.Bcc.Add(bcc);
    message.Subject = "메일 제목입니다.";
    message.SubjectEncoding = UTF8Encoding.UTF8;
    message.Body = "메일 내용입니다.";
    message.BodyEncoding = UTF8Encoding.UTF8;
    message.IsBodyHtml = true; //메일내용이 HTML형식임
    message.Priority = MailPriority.High; //중요도 높음
    message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure; //메일 배달 실패시 알림
    Attachment attFile = new Attachment("d\\image1.jpg");//첨부파일

    SmtpClient client = new SmtpClient();
    client.Host = "smtp.gmail.com"; //SMTP(발송)서버 도메인
    client.Port = 587; //25, SMTP서버 포트
    client.EnableSsl = true; //SSL 사용
    client.Timeout = 10000;
    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    client.UseDefaultCredentials = false;
    client.Credentials = new System.Net.NetworkCredential("user@gmail.com", "password");//보내는 사람 메일 서버접속계정, 암호, Anonymous이용시 생략
    client.Send(message);

    message.Dispose();
}


※주의사항

- SMTP메일서버의 IP가 발신자의 메일도메인이 등록된 IP와 다를 경우 다음 등 포털에서 스팸메일 처리될 수 있습니다.

 

프로젝트의 성공을 기원합니다.