[윈도우2000] CDONTS.NewMail 이용 메일발송 > 기술자료 | 해피정닷컴

[윈도우2000] CDONTS.NewMail 이용 메일발송 > 기술자료

본문 바로가기

사이트 내 전체검색

[윈도우2000] CDONTS.NewMail 이용 메일발송 > 기술자료

ClassicASP [윈도우2000] CDONTS.NewMail 이용 메일발송

페이지 정보


본문

[윈도우2000] CDONTS.NewMail 이용 메일발송
[윈도우2003] CDO.Message 메일발송
[윈도우2008] CDO.Message 메일발송
[윈도우2012] CDO.Message 메일발송


실제로 ASP로 웹 어플리케이션을 개발하다 보면 메일 발송은 기본이다.
CDONTS를 이용해서 웹 서버가 SMTP서버의 기능까지 하는것은 기본적인 메일링 코딩 방법이다.
Sample소스가 여기 저기 많이 있고 기능 구현이 쉽기 때문이다.
그러나 사이트의 사용가가 많아지고 메일 발송이 많아지면 그만큼 ASP WEB서버도 메일 발송을 위한
트래픽이 증가하게된다.
그러면 웹서버가 SMTP서버가 되지않고 Outlook Express와 같은 메일 클라이언트만 될 수 없을까?

다음의 소스코드는 그러한 기능을 충족시켜주는 COM+ 코드이다.
가장 보내는 기능이 좋은 Qmail Server를 가지고 있는 개발자라면 응용해보는것도 괜찮지 않을까?
물론 SMTP서비스는 설치하지 않아도 작동한다.

PS
작년 이맘때 개발해서 제가 운영하는 사이트에서 일년정도 안정적으로 사용하고있는 소스입니다.
보내는 메일서버는 Linux Qmail Server이고 VB COM+ Class소스입니다.
10분정도에게 소스를 드렸는데... 오늘은 2분이 한꺼번에 달라고 하셔서 이렇게 강좌를 올립니다.

VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  "True
  Persistable = 0  "NotPersistable
  DataBindingBehavior = 0  "vbNone
  DataSourceBehavior  = 0  "vbNone
  MTSTransactionMode  = 1  "NoTransaction
END
Attribute VB_Name = "SendHappyMail"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Option Explicit

Implements ObjectControl

Private Const OBJECT_NAME As String = "ManageOrder.SendMail"
Private Type typeThis
    objCtx As ObjectContext
End Type

Private Const MAILHEADER = "<html>..." '메일전문에  추가할 HTML 메일 해더
Private Const MAILFOOTER = "...</html>" '메일 보디 끝에 내려갈 내용
Private m As typeThis
Private Sub ObjectControl_Activate()
    Set m.objCtx = GetObjectContext()
End Sub

Private Function ObjectControl_CanBePooled() As Boolean
    ObjectControl_CanBePooled = True
End Function

Private Sub ObjectControl_Deactivate()
    Set m.objCtx = Nothing
End Sub

Public Function sendMail(ByVal strSenderAdd As String, ByVal strSenderName As String, _
                                    ByVal strReceiverAdd As String, ByVal strReceiverName As String, _
                                    ByVal strCCAdd As String, ByVal strBccAdd As String, _
                                    ByVal strSubject As String, ByVal strMailBody As String) As Boolean
'메일을 보낸다 CDO2000을 이용한다.

    Dim objCDOConfiguration As CDO.Configuration
    Dim objFields As ADODB.Fields
    Dim objCDOMessage As CDO.Message

    On Error GoTo Err

    Set objCDOConfiguration = CreateObject("CDO.Configuration")
    Set objFields = objCDOConfiguration.Fields

    objFields(cdoSendUsingMethod) = CDO.cdoSendUsingPort
    objFields(cdoSMTPServer) = "mail.myurl.com" '보내는 SMTP서버의 주소
    objFields(cdoSMTPServerPort) = 25
    objFields(cdoSMTPConnectionTimeout) = 30
    objFields(cdoSMTPAccountName) = "정재성"
    '보내는 사람의 신상명세 메일의 Sender와는 다르다.
    objFields(cdoSendUserName) = "aspilla"
    '보내는 사람의 SMTP Server 로그온 계정(만약에 MS의 SMTP를 이용한다면 설정안해도 됨
    objFields(cdoSendPassword) = "****" "페스워드
    objFields(cdoMessageStatus) = CDO.cdoLow
    objFields.Update

    Set objCDOMessage = CreateObject("CDO.Message")
    Set objCDOMessage.Configuration = objCDOConfiguration

    With objCDOMessage
        .From = """" & strSenderName & """" & "<" & strSenderAdd & ">" '받는사람
        .To = """" & strReceiverName & """" & "<" & strReceiverAdd & ">" '보내는 사람

        If Len(strCCAdd) > 0 Then
            .CC = strCCAdd
        End If

        If Len(strBccAdd) > 0 Then
            .BCC = strBccAdd
        End If

        .Subject = strSubject
        .HTMLBody = MAILHEADER & strMailBody & MAILFOOTER
        .Send
    End With

    Set objCDOMessage = Nothing
    Set objFields = Nothing
    Set objCDOConfiguration = Nothing

    sendMail = True
    m.objCtx.SetComplete
    Exit Function

Err:

    If Not objCDOMessage Is Nothing Then
        Set objCDOMessage = Nothing
    End If

    If Not objFields Is Nothing Then
        Set objFields = Nothing
    End If

    If Not objCDOConfiguration Is Nothing Then
        Set objCDOConfiguration = Nothing
    End If

    m.objCtx.SetAbort
    sendMail = False
End Function


[출처] 민우아빠[사가]의 잼있는세상 ( http://saga21.net/316 )

댓글목록

등록된 댓글이 없습니다.


Total 2,640건 1 페이지
  • RSS
기술자료 목록
2640
그누보드   50  2024-11-22 10:52 ~ 2024-11-22 11:03  
2639
호스팅   79  2024-11-19 14:41 ~ 2024-11-19 21:17  
2638
Linux   71  2024-11-18 15:45 ~ 2024-11-18 15:48  
2637
일반   81  2024-11-15 16:45 ~ 2024-11-15 16:46  
2636
Secure   129  2024-11-06 18:48 ~ 2024-11-06 18:50  
2635
영카트   267  2024-10-21 13:44 ~ 2024-10-21 19:42  
2634
전자결제   510  2024-09-05 09:30  
2633
MySQL   935  2024-03-29 14:14 ~ 2024-03-29 14:14  
2632
그누보드   1155  2024-02-23 18:40 ~ 2024-02-24 06:13  
2631
JavaScript   1263  2024-02-16 18:50 ~ 2024-02-16 20:37  
2630
Java   1207  2024-02-06 16:49  
2629
PHP   1384  2024-02-06 16:42  
2628
호스팅   1228  2024-01-29 12:54  
2627
PHP   1293  2024-01-26 11:04 ~ 2024-01-26 11:13  
2626
MySQL   1490  2024-01-08 17:37 ~ 2024-03-14 16:00  
2625
SQL   1585  2024-01-08 12:36  
2624
영카트   1657  2024-01-04 14:57  
2623
일반   2566  2023-12-15 18:33  
2622
Android   2057  2023-11-30 18:48 ~ 2023-11-30 19:41  
2621
전자결제   4004  2023-11-23 19:53  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.