Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

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

Bu makalenin Microsoft Visual Basic Scripting Edition sürümü için bkz: 317680.
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 StringDim HTMLDisclaimer As StringImplements IEventIsCacheableImplements CDO.ISMTPOnArrivalPrivate Sub IEventIsCacheable_IsCacheable()    'Yalnızca S_OK döndürür.End SubPrivate 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 SubPrivate 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 = cdoRunNextSinkEnd 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:

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 No: 317327 - Son İnceleme: 11/26/2007 01:55:00 - Düzeltme: 8.2

  • 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
  • kbhowtomaster KB317327
Geri bildirim