İçeriğe atla
Sistem Günlüğü Teknik notlar ve Tecrübeler..
MICROSOFT EXCHANGE 3 dk okuma

Exchange Server Mesaj Teslim ve Kuyruk Ayarları

Temel Kavramlar

  • MessageExpirationTimeout: Gönderilemeyen bir e-posta iletisinin kuyrukta bekleyeceği toplam süredir. Süre dolunca mesaj kuyruktan silinir ve göndericiye NDR (teslim edilemedi bildirimi) gönderilir.
  • RetryInterval: Teslim başarısızsa, Exchange’in tekrar denemeye çalışacağı zaman aralığıdır.

Varsayılan Ayarları Görüntüleme

Aşağıdaki komutu Exchange Management Shell’de çalıştırarak mevcut ayarları görebilirsiniz:

Get-TransportService | select Name, MessageExpirationTimeout, RetryInterval

Örnek çıktı:

Name             MessageExpirationTimeout RetryInterval
----             ----------------------- -------------
EXCH01           2.00:00:00               00:05:00
EXCH02           2.00:00:00               00:05:00
  • 2.00:00:00 = 2 gün
  • 00:05:00 = 5 dakika

Ayarları Değiştirme

Bir sunucuda mesajın kuyrukta 1 gün beklemesi ve 10 dakika aralıklarla tekrar denenmesi için örnek komut:

Set-TransportService -Identity EXCH01 -MessageExpirationTimeout 1.00:00:00 -RetryInterval 00:10:00

Birden fazla sunucu için her sunucuya ayrı ayrı uygulayabilirsiniz:

Set-TransportService -Identity EXCH02 -MessageExpirationTimeout 1.00:00:00 -RetryInterval 00:10:00

Exchange Kuyrukları İzleme ve Yönetme Komutları

Tüm Kuyrukları Görüntüleme

Get-Queue

Bu komut, bağlı olduğunuz sunucudaki tüm kuyrukları listeler.


Belirli Bir Sunucudaki Kuyrukları Görüntüleme

Get-Queue -Server EXCH01

Belirtilen sunucudaki kuyrukları listeler.


Tüm Transport Sunucularında Kuyrukları Görüntüleme

Get-TransportService | Get-Queue

Ortamınızdaki tüm transport sunucularının kuyruklarını topluca görüntülemek için kullanılır.


Belirli Parametrelerle Kuyruk Filtreleme

Sadece Teslim Edilemeyen Mesajlar (Status=Retry):

Get-Queue | Where-Object {$_.Status -eq 'Retry'}

Mesaj Sayısı 100’den Fazla Olan Kuyruklar:

Get-Queue | Where-Object {$_.MessageCount -gt 100}

Belirli Bir Domain’e Giden Kuyrukları Görüntüleme

Get-Queue | Where-Object {$_.NextHopDomain -eq 'gmail.com'}

Kuyrukta Bekleyen Mesajları Görüntüleme

Tüm Mesajları Görmek için

Get-Message

Belirli Bir Kuyruktaki Mesajları Görmek için

Get-Message -Queue "EXCH01123"

Belirli Bir Filtreyle (örneğin, gönderen veya alıcıya göre)

Get-Message | Where-Object {$_.FromAddress -like '*ornek.com'}

Kuyruğu Başka Bir Sunucuya Aktarma (Redirect-Message)

Kuyrukta bekleyen mesajları bir başka Exchange sunucusuna aktarmak için kullanılır.

Tüm Mesajları Başka Bir Sunucuya Yönlendirme

Get-Queue -Server EXCH01 | Where-Object {$_.Status -eq 'Retry'} | Redirect-Message -Target EXCH02

Sadece Belirli Bir Kuyruktaki Mesajları Yönlendirme

Redirect-Message -Identity "EXCH01123" -Target EXCH02
  • -Identity: Kuyruk kimliği (sunucuadıkuyruknumarası)
  • -Target: Mesajların aktarılacağı hedef sunucu

Not: Yönlendirme işlemi, genellikle bir sunucuda problem olduğunda mesaj kaybını engellemek için kullanılır.


Notlar

  • Değişiklikler hemen uygulanır.
  • MessageExpirationTimeout süresi dolmadan teslim gerçekleşirse mesaj otomatik olarak kuyruktan çıkarılır.
  • Ayarlar Exchange 2013, 2016, 2019 için geçerlidir.
  • GUI üzerinden bu detaylı ayarlar yönetilemez, sadece PowerShell ile mümkündür.

Yorum yaz

Üye olmadan yorum yazabilirsin. Yorumlar onaylandıktan sonra yayınlanır.