2009-04-17 6 views
6

Bir MS Exchange sunucusundaki bir posta kutusu üzerinden yinelemek için Net :: POP3'ü Perl'de kullanıyorum. Her mesaj numarasında UIDL komutunu çalıştırıyorum ve geçmişte bu mesaja bakıp bakmadığımı görmek için daha önce görülen ID'lere geri döndürülen kimliği karşılaştırıyorum. Bununla birlikte, bireysel bir POP3 posta kutusunun içinde aynı UID'nin farklı mesajlar için birden fazla kez ortaya çıktığını da görüyorum.MS Exchange POP3 UIDL komutu tarafından sağlanan UID gerçekten benzersiz mi?

Bunun neden olabileceği hakkında bir fikriniz var mı? UID gerçekten eşsiz değil mi? Ya da bir şekilde aynı posta kutusunda çoğaltılan mesajlar nelerdir?

cevap

3

The RFC söyler:

bu maildrop keyfi olarak tahsis edilmiş özel-kimlikleri depolamak için sunucu uygulamaları için tercih edilir iken, Bu şartname bir şekilde hesaplanır özgü-kimlikleri izin verilirse mesajın karmaşası. İstemciler, bir maildrop'taki mesajının aynı özdeş kopyalarının aynı benzersiz kimliğe sahip olduğu bir durumu ele almak için yapabilmelidir.

[vurgu benim]

+0

Teşekkürler, bu benim aradığım sadece budur. Öyle görünüyor ki, işleri düzgün bir şekilde ele alıyorum, o zaman, daha önce gördüğüm bir UID'ye rastladığımda, onu bir kopya olarak görüyorum ve mesajı görmezden geliyorum. Tanjant bir soru şöyle olurdu: "Bu tür bir çift ileti nasıl oluşur?" Ama bu asıl sorunun kapsamı dışında. –

+0

@Peter Wood Hızlı bir ipucu - UID arama sorgusunun büyük/küçük harfe duyarlı bir eşleşme aradığından emin olun. Sorunlarım vardı çünkü varsayılan davranış büyük/küçük harfe duyarsızdı, bu da benim kodumun bazı e-postaları yanlış bir şekilde görmezden gelmesine neden oldu. –

+0

Aynı mesajların senaryosu aslında pratikte mi oluyor? RFC'deki bu pasajı okuduğumda, sunucuların başlığa yazdığı tüm zaman damgaları ve kimlikler nedeniyle yalnızca teorik bir durumun olacağını düşünmüştüm. – billpg

İlgili konular