Visual Basic'te giden SMTP iletilerine bir vazgeçme belgesi nasıl eklenir

Makale çevirileri Makale çevirileri
Makale numarası: 317327 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makalenin Microsoft Visual Basic Scripting Edition sürümü için bkz: 317680.
Hepsini aç | Hepsini kapa

Bu Sayfada

GİRİŞ

Bu adım adım makalede, giden SMTP e-posta iletilerine bir vazgeçme belgesi eklemek için bir SMTP aktarım olay havuzunun nasıl kullanılacağı anlatılmaktadır.

Olay havuzunu oluşturma

  1. Yeni bir Microsoft Visual Basic ActiveX DLL dosyası oluşturun. Projeyi SMTPEventSink olarak ve modulü de VazgeçmeBelgesi olarak adlandırın.
  2. Project References altında, Microsoft CDO for Exchange 2000 Library ve ardından Server Extension Objects COM Library'yi ekleyin.
  3. Aşağıdaki kodu modüle ekleyin:
    Dim TextDisclaimer As String
    Dim HTMLDisclaimer As String
    
    Implements IEventIsCacheable
    Implements CDO.ISMTPOnArrival
    
    Private Sub IEventIsCacheable_IsCacheable()
        'Yalnızca S_OK döndürür.
    End Sub
    
    Private Sub Class_Initialize()
      'YAPILACAK: Örnek vazgeçme metnini kendi metninizle değiştirin.
      TextDisclaimer = vbCrLf & "VAZGEÇME:" & vbCrLf & "Örnek Vazgeçme Metni."
      HTMLDisclaimer = "<p></p><p>VAZGEÇME:<br>Örnek Vazgeçme Metni"
    End Sub
    
    Private Sub ISMTPOnArrival_OnArrival(ByVal Msg As CDO.IMessage, EventStatus As CDO.CdoEventStatus)
        If Msg.HTMLBody <> "" Then
            Dim szPartI As String
            Dim szPartII As String
            Dim pos As Integer
            
            '"</body>" etiketini ara ve bu etiketten önce vazgeçme metnini ekle.
            pos = InStr(1, Msg.HTMLBody, "</body>", vbTextCompare)
            szPartI = Left(Msg.HTMLBody, pos - 1)
            szPartII = Right(Msg.HTMLBody, Len(Msg.HTMLBody) - (pos - 1))
            Msg.HTMLBody = szPartI + HTMLDisclaimer + szPartII
        End If
    
        If Msg.TextBody <> "" Then
            Msg.TextBody = Msg.TextBody & vbCrLf & TextDisclaimer & vbCrLf
        End If
        
        'İçerik değişikliklerini ADO Akışı nesnesi aktarımına kaydet.
        Msg.DataSource.Save
        EventStatus = cdoRunNextSink
    End Sub
    					
  4. Örnek vazgeçme metni yerine kendi vazgeçme metninizi koyun ve DLL dosyasını oluşturun.

Olay havuzunu kaydetme

Olay havuzunu kaydetmek için, Exchange yazılım geliştirme paketiyle (SDK) birlikte yüklenen Smtpreg.vbs dosyasını kullanın.
  1. Komut istemine \Exchange SDK\SDK\Support\CDO\Scripts klasörünü bulun ve aşağıdaki komutu yazın: cscript smtpreg.vbs /add 1 OnArrival SMTPDisclaimer SMTPEventSink.VazgeçmeBelgesi "mail from=*@etki-alanınız.com"

    Bu komut başarılı olursa, komut dosyası tarafından oluşturulan bir başarı iletisi alırsınız.
  2. Bu olayın kaydını kaldırmak için şunu yazın: cscript smtpreg.vbs /remove 1 OnArrival SMTPDisclaimer
Olay bağlantılarını yönetme hakkında ek bilgi için, aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/7406817f-b48f-4b62-86af-bd6703fca4f6.asp

Olay havuzunu sınama

Olay havuzunu sınamak için, kuruluşunuz dışındaki bir SMTP alıcısına bir e-posta iletisi gönderin. Alıcı, iletinin sonuna vazgeçme belgesi eklenmiş olarak değiştirilmiş bir ileti alır.

Not E-postayı göndermek için Microsoft Outlook gibi bir MAPI istemci kullanırsanız, alıcı değiştirilmiş bir e-posta iletisi almaz. Bunun nedeni, e-posta SMTP aktarım olayını tetiklediğinde MAPI kullanılarak gönderilen iletinin SMTP biçiminde olmamasıdır. Bu nedenle, olayın kodu tarafından yapılan değişiklikler kalıcı olmaz.

Referanslar

Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
273233 CDO SMTP olay havuzunda MAPI ileti içeriği değiştirilemiyor (Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir.)

Özellikler

Makale numarası: 317327 - Last Review: 26 Kasım 2007 Pazartesi - Gözden geçirme: 8.2
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange 2000 Server Standard Edition
  • Collaboration Data Objects for Exchange 2000 6.0
  • Microsoft Collaboration Data Objects 2.0, Ne zaman ne ile kullanilir:
    • Microsoft Windows Server 2003 Standard Edition
    • Microsoft Windows 2000 Standard Edition
Anahtar Kelimeler: 
kbhowtomaster KB317327

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com