Exchange Server'da Mesaj Gönderme, Okuma ve Düzenleme
EWS ile Exchange Posta Kutusu Bilgilerini Al
Aspose.Email, Microsoft Exchange’den posta kutusu ayrıntılarını şunu kullanarak almanıza olanak tanır: IEWSClient sınıf döner. Çağırarak GetMailboxInfo() metodu, istemci bir ExchangeMailboxInfo Mailbox, Inbox, Drafts ve Sent Items gibi faydalı klasör URI’ları içeren nesne.
Exchange Web Services (EWS) ile Exchange Server’a bağlanmak için şunu kullanın: IEWSClient Sınıf. Bu sınıf, Exchange Server’a bağlanmak ve öğeleri yönetmek için EWS’yi kullanır.
Aşağıdaki kod parçacığı, exchange web services kullanarak posta kutusu bilgilerini almayı gösterir.
EWS aracılığıyla E-posta Mesajları Gönder
Exchange üzerinden e-posta göndermek için şu yöntemi çağırabilirsiniz IEWSClient->Send() metod. Bir alır MailMessage nesnesi ve mesajı EWS kullanarak doğrudan sunucuya gönderir.
Aşağıdaki kod örneği, Aspose.Email for C++ ile Exchange Web Services (EWS) kullanarak bir Exchange Server üzerinden HTML e-posta mesajı göndermenin nasıl yapılacağını gösterir. Exchange’e bağlantı kurma, gönderici, alıcı, konu ve HTML içeriğiyle bir mail mesajı oluşturma ve ardından EWS istemcisinin Send metodunu kullanarak mesajı gönderme sürecinin tamamını gösterir.
Diğer Kullanıcının Posta Kutusundan E-posta Okuma
Exchange Sunucularındaki bazı hesapların birden fazla posta kutusuna erişim hakkı vardır ve bazı kullanıcıların aynı Exchange Sunucusunda birden fazla e-posta hesabı bulunur. Her iki durumda da, kullanıcılar Aspose.Email ile diğer kullanıcıların posta kutularına erişebilir. API, diğer posta kutularındaki klasörlere ve e-postalara … kullanarak erişim mekanizması sağlar IEWSClient sınıf. Bu işlevsellik, aşırı yüklenmiş GetMailboxInfo() metodu ve kullanıcı e-posta adresini parametre olarak sağlamayı.
Aşağıdaki kod bölümü, … kullanarak e-postaları nasıl okuyacağınızı gösterir IEWSClient sınıf.
EWS Kullanarak Mesajları Listele
Aspose.Email for C++, Exchange Server posta kutularından mesaj meta verilerini aracılığıyla almanıza olanak tanır IEWSClient. EWS tabanlı ListMessages API ile herhangi bir klasörden mesajları listeleyebilir, mesaj meta verilerini göz atabilir ve büyük posta kutuları için sayfalama uygulayabilirsiniz.
Gelen Kutusundan Mesajları Listele
Kullan ListMessages Gelen Kutusu veya herhangi bir klasörden konu, gönderen, alıcılar ve mesaj kimliği gibi temel mesaj bilgilerini almak için.
Aşağıdaki kod örneği, bir Exchange Sunucusundaki tüm mesajların temel bilgilerini listeleme ve gösterme yöntemini gösterir.
- Bir örnek oluştur IEWSClient.
- Çağırın ListMessages hedef klasör URI’si ile.
- Üzerinde yinele ExchangeMessageInfoCollection.
Herhangi Bir Klasörden Mesajları Listele
ListMessages Herhangi geçerli bir klasör URI’sını kabul eder, Silinmiş Öğeler, Taslaklar, Gönderilen Öğeler veya özel klasörlerden öğeleri listelemenizi sağlar. Kullanın IEWSClient->get_MailboxInfo->xxxFolderUri farklı klasörlerin URI’sini almak için özellik.
Aşağıdaki kod örneği, farklı Exchange Server klasör URI’lerine nasıl erişileceğini ve belirli bir klasörden mesajların nasıl alınacağını gösterir.
Mesaj Listesinde Sayfalama
Büyük posta kutuları için kullanın ListMessagesByPage mesajları daha küçük bloklarda yüklemek için.
Aşağıdaki kod örneği, bir Exchange Server gelen kutusundan büyük miktarda mesaj alırken sayfalama nasıl uygulanacağını gösterir.
- İlk olarak, sunucuda birden fazla test mesajı oluşturur.
- Ardından, … kullanır ListMessagesByPage mesajları daha küçük toplu paketlerde (bu durumda sayfa başına 5 mesaj) almayı sağlayan metod, son sayfaya ulaşana kadar tüm sayfalarda yineleme yapar.
- Son olarak, kod tüm sayfalardaki toplam öğeleri sayarak tüm mesajların başarıyla alındığını doğrular.
Mesaj Türü Bilgisini Al
Kullan ExchangeMessageInfo->MessageInfoType altyapıdaki Exchange mesaj tipini (örn. e-posta, toplantı isteği vb.) belirlemek için.
Aşağıdaki kod örneği, bir Exchange Server’a bağlanmayı ve Silinmiş Öğeler klasöründen mesaj türü bilgilerini almayı gösterir.
Exchange Web Services (EWS) Kullanarak Mesajları Kaydet
Aspose.Email, bir Exchange Server posta kutusundan mesajları almanıza ve EML, bellek akışları ve MSG gibi birden fazla formatta kaydetmenize olanak tanır. Aşağıdaki örnekler mesaj bilgisini nasıl alacağınızı ve mesajları kullanarak nasıl kaydedeceğinizi gösterir IEWSClient API.
Mesajları EML Dosyaları Olarak Kaydet
Posta kutusu mesajlarını EML dosyaları olarak kaydetmek için:
- Bir oluştur IEWSClient geçerli kimlik bilgileriyle bir örnek.
- Çağırın ListMessages() almak için bir ExchangeMessagesInfoCollection.
- Koleksiyon üzerinde döngü yaparak her mesajın benzersiz URI’sine erişin.
- Çağırın SaveMessage() her mesajı diske EML biçiminde kaydetmek için.
Aşağıdaki kod örneği, Aspose.Email for C++ kullanarak bir Exchange Server gelen kutusundaki e-posta mesajlarını yerel olarak ayrı ayrı EML dosyaları olarak kaydetmeyi gösterir.
Mesajları Bellek Akışına Kaydet
Diske yazmak yerine, mesajları bir bellek akışına kaydedebilirsiniz—veritabanında e-postaları saklamak veya bellekte işlemek için faydalıdır.
Aşağıdaki kod örneği, bir Exchange Server gelen kutusundaki e-posta mesajlarını bellek akışlarına kaydetmeyi gösterir.
MSG Formatında Mesajları Kaydedin
Mesajları MSG olarak kaydetmek için:
- Mesajı şu şekilde al: FetchMessage(), bir … döndürür MailMessage.
- Çağırın MailMessage::Save() MSG kaydetme seçenekleriyle.
Aşağıdaki kod örneği, bir Exchange Server gelen kutusundaki e-posta mesajlarını Outlook MSG format dosyaları olarak alıp kaydetmeyi gösterir.
Mesaj URI’si ile Mesaj Detaylarını Al
Yalnızca bir mesajın benzersiz URI’si mevcut olduğunda, yine de tam … alabilirsiniz ExchangeMessageInfo nesneler. IEWSClient::ListMessages() aşırı yükleme, mesaj kimlikleri (URI’ler) listesini kabul eder ve bir … döndürür ExchangeMessageInfoCollection. Bu özelliği, mesaj URI’lerini dışarıdan depoladığınızda veya aldığınızda ve tam mesajları indirmeden meta verileri (konu, gönderen, boyut vb.) yüklemeniz gerektiğinde kullanın.
Aşağıdaki kod örneği, bir Exchange Server’da birden fazla e-posta mesajı oluşturmayı ve ardından benzersiz tanımlayıcıları kullanarak mesaj bilgilerini almayı gösterir.
Tam Mesaj İçeriğini Al
ListMessages() özet bilgi (konu, gönderen, kimlikler) döndürür. Tam mesaj içeriğini — gövde, başlıklar, ekler — yüklemek için kullanın FetchMessage().
Aşağıdaki kod örneği, bir Exchange Server gelen kutusundan tam mesajları alıp ek dosya bilgilerini çıkarmayı gösterir:
- Bir oluştur IEWSClient örnek.
- Çağırın ListMessages() temel mesaj meta verilerini almak için.
- Her mesajın UniqueUri’sunu çıkar.
- Çağırın FetchMessage() tam mesaj detaylarını almak için.
Mesaj Boyutunu Al (Tam Mesajı İndirmeden)
Aspose.Email, tüm e-postayı indirmeden mesaj boyutu bilgisini … aracılığıyla sunar ExchangeMessageInfo::Size özellik.
Bu, şunlar için yararlıdır:
- posta kutusu istatistikleri
- kota hesaplamaları
- indirmeden önce büyük mesajları filtreleme
Aşağıdaki kod örneği, bir Exchange Server gelen kutusundan mesaj meta verilerini (boyut dahil) listeleme ve gösterme yöntemini gösterir.
Exchange Ortak Klasörlerinden E-postaları İndir
Exchange ortak klasörleri, kullanıcılar arasında paylaşılan mesajları depolamayı sağlar.
Aspose.Email IEWSClient size bu klasörlerde ve içinde depolanan mesajlarda aşağıdaki işlemleri yapmanıza olanak tanır:
- Genel klasörleri listele
- Alt klasörleri tekrarlı olarak göz at
- Mesajları indir ve kaydet (örn., MSG dosyaları olarak)
Not: Microsoft Exchange Server 2007 veya daha yeni bir sürüm gereklidir, çünkü önceki sürümler EWS’yi desteklemez.
Aşağıdaki kod örneği, bir Exchange Server’daki tüm genel klasörlerden ve alt klasörlerinden mesajları tekrarlı olarak indirmeyi ve bunları yerel olarak Outlook MSG dosyaları olarak kaydetmeyi gösterir.
Exchange Klasörleri Arasında Mesajları Taşı
Bir Exchange klasöründen başka birine mesajları … kullanarak taşıyabilirsiniz. IEWSClient::MoveItem metod. Gerektirdiği şey:
- Taşınacak mesajın benzersiz URI’si.
- Hedef klasörün benzersiz URI’si.
Aşağıdaki kod örneği, bir Exchange Server gelen kutusundaki belirli e-posta mesajlarını içerik kriterlerine göre başka bir klasöre filtreleyip taşımayı gösterir.
- EWS kimlik bilgilerini kullanarak Exchange Server’a bağlan.
- Posta kutusu bilgilerini al (klasör URI’leri).
- Gelen Kutusundaki tüm mesajları listele.
- Her mesaj üzerinden yinele.
- Konu "process this message" içerip içermediğini kontrol et.
- Eşleşen mesajları Silinmiş Öğeler klasörüne taşı.
- Taşınan her mesaj için onay çıktısı.
Exchange Klasöründen Mesajları Sil
Bir klasörden e-posta mesajlarını, aşağıdakinin yardımıyla silebilirsiniz IEWSClient->DeleteMessage metod. Mesajın benzersiz URI’sını parametre olarak alır.
Aşağıdaki kod örneği, bir Exchange Server gelen kutusundaki belirli e-posta mesajlarını konu kriterine göre filtreleyip silmeyi gösterir.
- Gelen Kutusu mesajları üzerinden yinele.
- Mesajları belirli bir kritere göre işleyin (bu örnekte, mesaj konusundaki bir anahtar kelimeyi buluyoruz).
- Eşleşen mesajları sil.
Mesajları Başka Bir Exchange Klasörüne Kopyala
Kullan IEWSClient::CopyItem bir mesajı farklı bir klasöre çoğaltmak için. Aşırı yüklenmiş sürüm, yeni oluşturulan kopyanın URI’sını döndürür.
Aşağıdaki kod örneği, bir Exchange Server’da e-posta mesajı oluşturmayı ve başka bir klasöre kopyalamayı gösterir.