Cara menggunakan sampel Rule.dll untuk membuat aturan kotak masuk dalam Visual Basic

ID Artikel: 251125 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

RINGKASAN

Artikel ini menjelaskan cara menggunakan sampel Rule.dll untuk menambahkan sekumpulan aturan kotak masuk dari kotak pesan. Aturan adalah teknik yang kuat yang dapat diterapkan ke kotak pesan banyak tanpa kelemahan yang terkait dengan server acara script.

INFORMASI LEBIH LANJUT

Aturan yang ditambahkan dalam fungsi sampel ini meninjau semua pesan masuk. Jika subjek pesan termasuk kata "tes", pesan balasan dikirim dan pesan asli akan dihapus.

Platform Software Development Kit (SDK) mencakup komponen aturan COM. Dokumentasi dalam SDK menyediakan contoh menggunakan komponen aturan dalam konteks aplikasi Active Server Pages (ASP). Anda dapat, namun juga menggunakan sampel ini dalam aplikasi yang menggunakan perpustakaan objek Data kolaboratif (CDO).

Catatan Rule.dll harus disusun sebelum digunakan. Kompilasi perpustakaan Rule.dll memerlukan keterampilan dalam Visual C++ dan berada di luar cakupan artikel ini. Lihat dokumentasi yang terdaftar di bagian "Referensi" dari artikel ini untuk informasi lebih lanjut.

Fungsi ini menciptakan tiga item dalam koleksi HiddenMessages folder kotak masuk:
  • Reply aturan
  • Template untuk pesan balasan
  • Hapus aturan
Untuk menjalankan program sampel ini, ikuti langkah berikut:
  1. Dalam Visual Basic, buat projek Standard EXE yang baru.
  2. Menambahkan referensi ke Microsoft CDO 1,21 perpustakaan, dan untuk Rule.dll perpustakaan. (Anda akan perlu untuk browse ke lokasi di mana Anda dibangun Rule.dll.)
  3. Menyalin fungsi berikut untuk modul kode bentuk default:
    Option Explicit
    Const SUBJECT_TO_SEARCH = "Test"
    Public Function AddReplyAndDeleteRule(ByVal strProfileInfo As String) As Long
    
    Dim objCDOSession As MAPI.Session                ' CDO Session.
    Dim objInbox As MAPI.Folder                      ' Folder to set rule.
    Dim colRules As MSExchange.Rules                 ' Rules collection.
    Dim objReplyMsg As MAPI.Message                  ' Reply template.
    Dim objReplyRule As MSExchange.Rule
    Dim objDeleteRule As MSExchange.Rule
    Dim objPropVal As MSExchange.PropVal             ' Property value.
    Dim objContCond As MSExchange.ContentCondition   ' Condition.
    Dim objReplyAction As MSExchange.Action
    Dim objDeleteAction As MSExchange.Action
    
    Const SUBSTRING = 1
    Const IGNORECASE = &H10000
    Const ACTION_DELETE = 3
    Const ACTION_REPLY = 4
    Const CdoPR_SUBJECT = &H37001E
    
    On Error GoTo Error_Handler
    
    ' Create and log on to session object.
    Set objCDOSession = New MAPI.Session
    objCDOSession.Logon , , False, True, True, True, strProfileInfo
    Set objInbox = objCDOSession.Inbox
    
    'Each folder has a Rules collection.
    Set colRules = New MSExchange.Rules
    colRules.Folder = objInbox
    
    ' Create condition for rules.
    Set objPropVal = New MSExchange.PropVal
    objPropVal.Tag = CdoPR_SUBJECT  'looks in Subject property
    objPropVal.Value = SUBJECT_TO_SEARCH 'looks for this string
    
    ' Create ContentCondition
    Set objContCond = New MSExchange.ContentCondition
    objContCond.Value = objPropVal
    objContCond.PropertyType = CdoPR_SUBJECT
    objContCond.Operator = SUBSTRING + IGNORECASE
    ' Previous line ignores case and other text.
    
    ' Create reply message and store in HiddenMessages collection.
    Set objReplyMsg = objInbox.HiddenMessages.Add
    
    ' Set reply message properties.
    objReplyMsg.Type = "IPM.Note.Rules.ReplyTemplate.Microsoft"
    objReplyMsg.Text = "Please do not send messages to this address"
    objReplyMsg.Update
    
    ' Create Reply Rule first.
    Set objReplyRule = New MSExchange.Rule
    
    ' Set reply action.
    Set objReplyAction = New MSExchange.Action
    objReplyAction.ActionType = ACTION_REPLY
    
    Dim vntArgs(1) As Variant
    vntArgs(0) = objReplyMsg.ID       ' ID of template
    vntArgs(1) = objReplyMsg.FolderID ' folder ID of template
    objReplyAction.Arg = vntArgs      ' Set the args
    
    ' Set other reply rule properties.
    objReplyRule.Name = "Reply Test"
    objReplyRule.Condition = objContCond
    objReplyRule.Actions.Add , objReplyAction
    
    ' Add reply rule to rules collection.
    colRules.Add , objReplyRule
    
    ' Create Delete Rule object.
    Set objDeleteRule = New MSExchange.Rule
    
    ' Create delete action.
    Set objDeleteAction = New MSExchange.Action
    objDeleteAction.ActionType = ACTION_DELETE
    
    ' Set delete rule properties.
    objDeleteRule.Name = "Delete Test"
    objDeleteRule.Condition = objContCond  'reuse condition
    objDeleteRule.Actions.Add , objDeleteAction
    colRules.Add , objDeleteRule
    colRules.Update
    
    ' Wrap up.
    objCDOSession.Logoff
    AddReplyAndDeleteRule = 0  'successful
    
    Set objPropVal = Nothing
    Set objContCond = Nothing
    Set objReplyAction = Nothing
    Set objDeleteAction = Nothing
    Set objReplyRule = Nothing
    Set objDeleteRule = Nothing
    Set objReplyMsg = Nothing
    Set colRules = Nothing
    Set objInbox = Nothing
    Set objCDOSession = Nothing
    
    Exit Function
    
    Error_Handler:
    AddReplyAndDeleteRule = Err.Number
    
    End Function
  4. Tambahkan tombol perintah ke bentuk standar, dan paste kode berikut untuk prosedur acara klik tombol (Perhatikan bahwa Anda harus mengubah nama server dan kotak pesan dengan nama-nama yang tepat):
    Dim lResult As Long
    ' TODO Change the ServerName and MailBox to the appropriate names.
    lResult = AddReplyAndDeleteRule("ServerName" & vbLf & "MailBox")
    MsgBox "Call to function: " & lResult
  5. Menjalankan proyek dan kemudian klik tombol perintah. Jika kotak pesan menampilkan "0" (nol), proses bekerja dan aturan ditambahkan; Sebaliknya, nilai kesalahan ditampilkan.
  6. Menggunakan Microsoft Outlook atau klien email lain, mengirim pesan dengan subjek "Tes" ke kotak pesan. Aturan-aturan di kotak pesan akan menjawab kembali dan menghapus pesan.
Catatan Aturan yang ditambahkan oleh komponen Rule.dll COM tidak muncul di antarmuka pengguna Outlook; satu-satunya cara untuk memanipulasi mereka adalah melalui kode. Ini adalah pembatasan COM interface yang digunakan untuk membuat aturan, tidak pembatasan sampel itu sendiri. Oleh karena itu, disarankan bahwa semua pengujian dilakukan pada kotak pesan yang Anda buat untuk tujuan ini.
Untuk men-download Microsoft Exchange Development Kit (EDK) 5.5, kunjungi Web site Microsoft berikut:
http://www.Microsoft.com/downloads/details.aspx?FamilyId = 36A309C3-8 C 55-4476-8785-CAFC59A2D075 & displaylang = en
Microsoft tidak mendukung Microsoft EDK 5,5 dengan versi Microsoft Exchange Server lebih dari 5.5.Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
815365Microsoft EDK 5.5 tidak didukung dengan versi Microsoft Exchange Server lebih dari 5,5

REFERENSI

Untuk selengkapnya, lihat topik Microsoft Developer Network (MSDN) berikut:
Aturan komponen
http://technet.Microsoft.com/en-us/library/cc180206.aspx

Properti

ID Artikel: 251125 - Kajian Terakhir: 21 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Exchange Server 5.5 Standard Edition
Kata kunci: 
kbhowto kbmt KB251125 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:251125

Berikan Masukan