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.
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:
- Dalam Visual Basic, buat projek Standard EXE yang baru.
- 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.)
- 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
- 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 - Menjalankan proyek dan kemudian klik tombol perintah. Jika kotak pesan menampilkan "0" (nol), proses bekerja dan aturan ditambahkan; Sebaliknya, nilai kesalahan ditampilkan.
- 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:
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:
815365
(http://support.microsoft.com/kb/815365/
)
Microsoft EDK 5.5 tidak didukung dengan versi Microsoft Exchange Server lebih dari 5,5
Untuk selengkapnya, lihat topik Microsoft Developer Network (MSDN) berikut:
ID Artikel: 251125 - Kajian Terakhir: 21 September 2011 - Revisi: 2.0
Berlaku bagi:
- Microsoft Exchange Server 5.5 Standard Edition
| kbhowto kbmt KB251125 KbMtid |
Penerjemahan MesinPENTING: 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
(http://support.microsoft.com/kb/251125/en-us/
)