2013. 3. 27. 11:40

* .Net 4.0 기준입니다 *

 

닷넷에서 이메일을 보내는 것은 쉽습니다.

그냥 System.Net.Mail만 유징 해주면 되죠.

 

 

1. 디자인

이메일을 보내기 위한 간단한 인터페이스를 만들어 봅시다.

기본적인 이메일 UI죠? ㅎㅎ

 

2. 코드 작성

일단 'System.Net.Mail'와 'System.Text'를 유징해줍니다.

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

 

이제 'button1'의 클릭 이벤트를 다음과 같이 작성합니다. 

private void button1_Click(object sender, EventArgs e)
{
	MailMessage mail = new MailMessage();

	mail.From = new MailAddress(txtFrom.Text);
	mail.To.Add(new MailAddress(txtTo.Text));
	mail.Subject = txtSubject.Text;
	mail.Body = txtBody.Text;

	mail.SubjectEncoding = Encoding.UTF8;
	mail.BodyEncoding = Encoding.UTF8;

	SmtpClient client = new SmtpClient("127.0.0.1");

	try
	{
		client.Send(mail);
		MessageBox.Show("전송 완료");
	}
	catch (Exception ex)
	{
		MessageBox.Show(ex.ToString());
	}
}

 

코드가 너무 간단해서 주석조차 달지 않았습니다 ㅎㅎㅎ

 

여기서 주의하여야 할 것은

SmtpClient("127.0.0.1");

이 부분에 들어가는 주소는 이메일을 전송해주는 서버인 SMTP 서버의 주소를 넣어야 한다는 것입니다.

 

SMTP 서버는 직접 구축해도 되고 다른 업체에서 무료로 제공해주는 서버를 이용하셔도 됩니다.

사설 SMTP 서버는 이메일 수신업체에 따라서 수신 자체를 막는 경우도 있기 때문에 이메일이 전송되지 않는다면 확인해 보셔야 합니다.

(참고 : [IIS7] 메일 서버를 만들어 보자 - SMTP 설정)

 

3. 테스트

이제 이메일을 전송해 봅시다.

 

전송 완료 창이 떴다면 이메일이 정상적으로 전송된 것입니다.

이제 보낸 이메일을 확인해 봅시다. 

 

정상적으로 이메일이 왔습니다.

 

 

마무리

이메일이 전송되지 않는 이유는 엄청 많습니다 ㅡ.-;;;

"전송 완료"메시지 박스를 봤다면 일단 SMTP서버까지는 전송이 되었다는 이야기입니다.

오류가 난다면 이 참고 하세요.