티스토리 뷰

프로그래밍

C#으로 이메일 보내기

야라바 2025. 8. 29. 17:48
728x90

C#. Net 코드를 작성하며 이메일을 전송하는 코드를 메모한다.

 

using System.Net.Mail;

 

WinForm 형식의 프로그램을 작성하는 사례로 위의 그림처럼 발신자의 이메일과 비밀번호, 그리고 발신자의 이메일이 등록되어 있는 SMTP 서버의 정보를 입력받아 지정한 수신자 이메일로 테스트 메일을 전송한다. 간편하게 메일을 전송하려면 코드에 "using System.Net.Mail;"를 포함한다.

 

var mailMessage = new MailMessage
{
	From = new MailAddress(email_send.Text), 
	Subject = "테스트 메일",
	Body = "<h3>테스트 메일입니다</h3></br><p>확인했습니다</p>",
	IsBodyHtml = true
};
mailMessage.To.Add(email_recv.Text);
bool send_ok = false;
try
{
	// 네이트 smtp.mail.nate.com, 587
	// 네이버 smtp.naver.com, 587
	using (var smtpClient = new SmtpClient(smtp_addr.Text, Convert.ToInt32(smtp_port.Value.ToString())))
	{
		smtpClient.Credentials = new System.Net.NetworkCredential(email_send.Text, email_pass.Text);
		smtpClient.EnableSsl = true;
		smtpClient.Timeout = 1000;
		smtpClient.Send(mailMessage);
		send_ok = true;
	}
}
catch (Exception)
{
	send_ok = false;
}

 

테스트 메일은 HTML 형식으로 작성하고 메일 서버 주소나 포트가 잘못되었거나 사용자 인증이 실패한 경우 등을 대비하여 타임아웃을 밀리초 단위로 지정했다.

 

 

위의 그림은 네이트와 네이버 포털을 통해서 메일을 전송한 테스트 결과로 두 포털은 smtp.mail.nate.com과 smtp.naver.com 주소를 각각 사용하고 SMTP  포트는 모두 587을 사용한다. 

 

728x90
댓글
최근에 올라온 글
최근에 달린 댓글
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함