အင်တာနက်ကိုလျင်မြန်စွာဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူ spam ပြ problems နာများသည်အချိန်နှင့်ခွန်အားကိုဖြုန်းတီးရုံသာမကလုံခြုံစိတ်ချရသောအန္တရာယ်များကိုဖြစ်ပေါ်စေနိုင်သည်။ ဤပြ problem နာကိုဖြေရှင်းရန်အီးမေးလ် 0 န်ဆောင်မှုပေးသူများသည်အလိုအလျောက် spam filtering ကိုပေးသည်။ PHP မှတစ်ဆင့် spam များကိုအလိုအလျောက်ဖျက်ရန်လဲလှယ်ရန်လဲလှယ်စာတိုက်ပုံးကိုမည်သို့တည်ဆောက်ရမည်ကိုမိတ်ဆက်ပေးမည်။
ဖလှယ်မှုသည်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသော adfrise-class စာတိုက်ပုံးဆာဗာတစ်ခုဖြစ်သည်။ လူကြိုက်များသော web ဖွံ့ဖြိုးတိုးတက်မှုဘာသာစကားတစ်ခုအနေဖြင့် PHP သည် Exchange ၏ 0 န်ဆောင်မှုများ API နှင့်အပြန်အလှန်ဆက်သွယ်နိုင်သည်။ သင်မစခင်, သင်၏ဖွံ့ဖြိုးရေးပတ် 0 န်းကျင်သည် PHP ကိုမှန်ကန်စွာတပ်ဆင်ထားပြီးရရှိနိုင်သည့်ငွေလဲလှယ်မှုအကောင့်ရှိကြောင်းသေချာပါစေ။
ဖလှယ်မှုသည် 0 က်ဘ်ဆိုက် 0 န်ဆောင်မှုမျက်နှာပြင်ကိုထောက်ပံ့ပေးပြီး PHP ၏ဆပ်ပြာ extension ကိုချိတ်ဆက်နိုင်သည်။ SuppClient ဥပမာတစ်ခုဖန်တီးရန်နှင့် WSDL ဖိုင်အိတ်လိပ်စာကိုသတ်မှတ်ရန်လိုအပ်သည်။ ဒီဥပမာမှာသင်လဲလှယ်နဲ့အပြန်အလှန်ဆက်သွယ်နိုင်တယ်။
နောက်တော့ spam တွေကိုဖျက်ပစ်ဖို့ကုဒ်ရေးမယ်။ ပထမ ဦး စွာကျွန်ုပ်တို့သည် Exchange ၏ရှာတွေ့မှုစစ်ဆင်ရေးကိုသတ်သတ်မှတ်မှတ်ဖိုင်တွဲတွင်ရှာဖွေရန်နှင့်အချို့သောစစ်ထုတ်ခြင်းစံနှုန်းများပေါ်တွင်အခြေခံသည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်အီးမေးလ်၏ဘာသာရပ်, လိုဂိုနှင့်အခြားအချက်အလက်များအပေါ် အခြေခံ. စစ်ထုတ်နိုင်သည်။ SPAM ကိုစစ်ထုတ်ပြီးသည်, ဒေနာဝဲလည်ပတ်မှုကို အသုံးပြု. ၎င်းကိုသင်ဖျက်ပစ်နိုင်သည်။
ဖလှယ်မှုဆာဗာတစ်ခုနှင့်မည်သို့ချိတ်ဆက်ရန်နှင့် spam များကိုဖျက်ခြင်းကိုပြသသည့်ကုဒ်နမူနာတစ်ခုရှိသည်။
// ဖန်တီးSoapClientနမူနာ,နှင့်ချိတ်ဆက်ပါExchangeဆာဆာ
$soapClient = new SoapClient("http://exchangeserver/ews/exchange.asmx?WSDL");
// အသုံးပြုသူအမည်နှင့်စကားဝှက်ကိုသတ်မှတ်ပါ
$soapClient->__setSoapHeaders(array(
new SoapHeader("http://schemas.microsoft.com/exchange/services/2006/messages",
"RequestServerVersion", array("Version" => "Exchange2007_SP1"))
));
$soapClient->__setUsername("username");
$soapClient->__setPassword("password");
// ဖန်တီး过滤器
$filter = new stdClass();
$filter->FieldURI = new stdClass();
$filter->FieldURI->FieldURI = "item:Subject";
$filter->Contains = new stdClass();
$filter->Contains->Constant = new stdClass();
$filter->Contains->Constant->Value = "မလိုလားအပ်သောအီးမေးလ်များ";
$filter->ContainmentComparison = "Exact";
// ဖန်တီးFindItemမေးမြန်း
$request = new stdClass();
$request->Traversal = "Shallow";
$request->ItemShape = new stdClass();
$request->ItemShape->BaseShape = "AllProperties";
$request->IndexedPageItemView = new stdClass();
$request->IndexedPageItemView->BasePoint = "Beginning";
$request->IndexedPageItemView->Offset = 0;
$request->IndexedPageItemView->MaxEntriesReturned = 100;
$request->ParentFolderIds = new stdClass();
$request->ParentFolderIds->DistinguishedFolderId = new stdClass();
$request->ParentFolderIds->DistinguishedFolderId->Id = "inbox";
$request->Restriction = $filter;
// ပေးပို့FindItemမေးမြန်း
$response = $soapClient->__soapCall("FindItem", array($request));
// ရှာဖွေမှုရလဒ်များကိုရယူပါ
if ($response && $response->ResponseMessages->FindItemResponseMessage &&
$response->ResponseMessages->FindItemResponseMessage->RootFolder &&
$response->ResponseMessages->FindItemResponseMessage->RootFolder->Items) {
$items = $response->ResponseMessages->FindItemResponseMessage->RootFolder->Items->Message;
// အီးမေးလ်ကိုဖျက်ပါ
foreach ($items as $item) {
$itemId = $item->ItemId->Id;
$soapClient->DeleteItem(array(
"DeleteType" => "HardDelete",
"ItemIds" => array("ItemId" => array("Id" => $itemId))
));
}
}
အထက်ပါကုဒ်ကိုလိုအပ်သည့်အခါဖုန်းခေါ်ဆိုမှုများကိုလွယ်ကူချောမွေ့စေရန် function ကို function တစ်ခုထဲသို့သင် encapsate လုပ်နိုင်သည်။ ဥပမာအားဖြင့်သင်သည် spam များကိုအလိုအလျောက်ဖျက်ရန်အချိန်ကိုက်ရန်အချိန်ကိုက်ဖြင့်ဤ function ကိုမှန်မှန်လုပ်ဆောင်နိုင်သည်။
PHP မှတစ်ဆင့်စာတိုက်ပုံးများဖလှယ်ခြင်းဖြင့် spam များကိုအလိုအလျောက်ပယ်ဖျက်ခြင်း၏လုပ်ဆောင်မှုကိုတိုးတက်စေရန်ရှုပ်ထွေးမှုမရှိပါ။ သင် Exchange Server နှင့်ချိတ်ဆက်ရန်လိုသည်, ရှာဖွေရေးအက်ပလီက်အရေးယူဆောင်ရွက်မှုကိုအသုံးပြုပြီး spam များကို filter လုပ်ပါ။ သင်၏လိုအပ်ချက်များနှင့်အညီစစ်ထုတ်သည့်အခြေအနေများကိုသင် သတ်မှတ်. Code ကိုပုံမှန်ခေါ်ဆိုမှုများအတွက်လုပ်ဆောင်ချက်များကိုလိုက်နာနိုင်သည်။ ဒီသင်ခန်းစာကသင့်အတွက်အထောက်အကူဖြစ်လိမ့်မယ်လို့မျှော်လင့်ပါတယ်။