2008년 9월 9일 포스팅..
==========================================
사이트를 운영 하면서 공지사항을 보낸다던가.. 혹은 비밀 번호를 잊었을 때 새로 비번을 생성해서 보낸 다던가 ..(클릭) 하는 경우 써먹을 수 있는 메일 발송 코딩..
분명. 아래와 같은 코드로 테스트를 해서 무사히 잘 동작 하는 것을 보았다.
using System.Web.Mail;
protected void btnInitPass_Click(object sender, ImageClickEventArgs e)
{
string from = "보내는 사람 이 메일";
string to = "받는 사람 이 메일";
string subject = "이 메일 제목";
string body = "이메일 내용";
SmtpMail.Send(from, to, subject, body);
Response.Write(ckCom.MsgPageClose("이메일을 발송 하였습니다."));
Response.End();
}
그런데!!! 그런데!!!
새로 VS 2005.NET PROFESSIONAL 버전을 깐 뒤로 안된다..
라고 말을 하니까 좀 알겠지만.. 사실 첨에 안될때는 이유도 몰랐다..
분명 지난 주에는 잘 되었는데... 갑자기 안된다.
소스 수정한게 없는데...=+=;
포멧한번 하고 모든걸 새로 시작 했을 뿐인데..-_-;;
뭐 암튼.. 이유를 몰랐다.
친절하게도 smtp 네임스페이스는 사용할 수 없다는 경고 메세지도 나왔지만.. 지난 주에는 되었지 않느냐고 따지면서(누구에게!!) 시스템 설정에 관한 생각만 했었다..
그러다 주변에 도움을 구한 결과 vs2003 버전 이후로 System.Web.Mail <-- 요거는 사용하지 않는다는 말을 들었다.
그럼 왜 지난주엔 된거지?? 분면 지난주에도 내가 사용하던 툴은 vs2005 인데!!
물론 쪼~~금 다르다..
지난번건 팀에디션이고..이번건 프로페셔널..-_-;
그게 뭐 어쨌다고!!
뭐 암튼..
경고메세지에서 친절히 알려 준데로 새로운 네임스페이스를 사용하기로 했다.
using System.Net;
using System.Net.Mail;
using System.Net.Mime;
protected void btnInitPass_Click(object sender, ImageClickEventArgs e)
{
MailMessage mail = new MailMessage();
mail.From = new MailAddress("보내는사람");
mail.To.Add(new MailAddress("받는사람"));
mail.Subject = "이 메일 제목";
mail.Body = "이 메일 내용";
SmtpClient client = new SmtpClient(); // SmtpClient 생성
client.Host = "xxx.xxx.xxx.xxx"; //Smtp서버는 IP 또는 머신네임으로 할당
client.Send(mail);
Response.Write(ckCom.MsgPageClose("이메일을 발송 하였습니다."));
Response.End();
}
위의 새롭게 작성한 코드..물론 잘 된다..만..(길어졌다!!)
그리고 iis 에서 smtp 속성의 릴레이도 잡아줘야 한다.. (귀찮다!)
그래도 보다 안정적이고 정확도가 높다고 하는군.. (그딴건 모른다..)
어쩃건 위 코드에서 보내는 사람, 받는 사람, 그리고 내용 과 제목을 DB에 연결해 주기만 하면 우리가 흔히 쓰는 '이메일 문의' '이메일로 비밀번호 받기' 등이 가능하다.
'프로그래밍 > ASP.NET/C#' 카테고리의 다른 글
IE7.0 에서 새창열고 부모창 닫기 (0) | 2014.07.15 |
---|---|
랜덤비번 생성하기.. (1) | 2014.07.15 |
C# 의 정수 형식들 (0) | 2014.07.15 |