여러사람에게 메일을 보내실때는 Timer 이벤트를 사용하시되 이메일이 발송되는 시간을 고려하여 시간은 대략 20초에서 30초간격으로 보내시면 될듯합니다.
우선 첨부파일을 받으신후 아래와같이 윈도우 '시작메뉴 => 실행' 에서 dll를 등록합니다.
그다음 파워빌더 스크립트를 작성합니다...
//이메일 보내는 스크립트
OLEObject smtp
string ls_title,ls_from_addr,ls_to_addr,ls_attach
int li_rv
//오브젝트생성
smtp = CREATE OLEObject
li_rv = smtp.ConnectToNewObject("SoftArtisans.SMTPMail")
IF li_rv <> 0 THEN
MessageBox ( "ConnectToNewObject Error - SoftArtisans.SMTPMail", li_rv )
Return -1
END IF
ls_title = '이메일보내기 테스트' //이메일 제목
ls_from_addr = 'send@hanmail.net' //보내는 사람 이메일주소
ls_to_addr = 'recive@hanmail.net' //받는사람 이메일주소
smtp.RemoteHost = 'mail.kornet.net' //보내는 메일서버, 다른 host를 사용하셔도 됩니다.
smtp.CustomCharSet = 'ks_c_5601-1987' //문자셋
smtp.ContentType = 'text' // HTML 형식의 e-mail 일때는 html, 일반텍스트형식은 text 로지정
smtp.FromName = '보내는사람' //보내는사람 이름
smtp.FromAddress = ls_from_addr
smtp.ReplyTo = ls_from_addr //답장받을 주소 - 보통 보내는사람 메일주소.
smtp.AddRecipient(ls_to_addr,ls_to_addr)
smtp.Subject = ls_title
smtp.ContentTransferEncoding = 4
smtp.Live = TRUE
smtp.HtmlText = '메일내용' //html 이나 text 형식
//첨부파일이 있을때...
ls_attach = 'c:\text.txt' //첨부파일명
IF ls_attach <> '' OR IsNull( ls_attach ) THEN
smtp.AddAttachment(ls_attach) //첨부파일등록
END IF
IF smtp.SendMail = TRUE THEN
messagebox('확인','이메일이 정상적으로 발송되었습니다..!!')
ELSE
messagebox('에러','이메일 발송에 실패하였습니다..!!')
END IF
//버퍼를 지운다.
smtp.ClearAllRecipients()
smtp.ClearAttachments()
smtp.ClearBCCs()
smtp.ClearBodyText()
smtp.ClearCCs()
smtp.ClearExtraHeaders()
smtp.ClearRecipients()
SetPointer(Arrow!)
Destroy Smtp
'컴퓨터 > 파워빌더' 카테고리의 다른 글
파워빌더 - 수직타이틀바 (0) | 2009.08.26 |
---|---|
파워빌더 - 데이터윈도우 필드 배경색 설정 (0) | 2009.08.26 |
파워빌더 - 한영키변환 (1) | 2009.08.24 |
파워빌더 - 금액을 한글로 표기하기 (0) | 2009.08.21 |
파워빌더 - 파이프라인 사용하기 (1) | 2009.08.21 |