JavaMail API - IMAP Sunucuları
IMAP kısaltmasıdır Internet Message Access Protocol. Bir e-posta istemcisinin uzak bir posta sunucusundaki e-postaya erişmesine olanak tanıyan bir Uygulama Katmanı İnternet protokolüdür. Bir IMAP sunucusu genellikle iyi bilinen bağlantı noktası 143'ü dinler. SSL üzerinden IMAP (IMAPS) 993 numaralı bağlantı noktasına atanır.
IMAP hem çevrimiçi hem de çevrimdışı çalışma modlarını destekler. IMAP kullanan e-posta istemcileri genellikle iletileri kullanıcı açıkça silinceye kadar sunucuda bırakır.
Paket içeriği com.sun.mail.imapbir IMAP mesaj deposuna erişim sağlayan JavaMail API için bir IMAP protokol sağlayıcısıdır. Aşağıdaki tablo, bu sağlayıcının arayüzünü ve sınıflarını listeler:
Sınıf / Arayüz | Açıklama |
---|---|
IMAPFolder.ProtocolCommand | Bu , kullanıcı tanımlı IMAP protokol komutları için basit bir arayüzdür . |
EKL | Bu bir sınıftır. Belirli bir kimlik doğrulama tanımlayıcısı (kullanıcı veya grup) için bir erişim kontrol listesi girişi. |
IMAPKlasörü | Bu sınıf bir IMAP klasörü uygular. |
IMAPFolder.FetchProfileItem | Bu, başlıkları getirmek için bir sınıf. |
IMAPMessage | Bu sınıf bir ReadableMime nesnesi uygular. |
IMAPMessage.FetchProfileCondition | Bu sınıf, klasördeki her mesajda yapılacak testi uygular. |
IMAPSSLStore | Bu sınıf, SSL üzerinden bir IMAP ileti deposuna erişim sağlar. |
IMAPStore | Bu sınıf, bir IMAP ileti deposuna erişim sağlar. |
Haklar | Bu sınıf, bir kimlik doğrulama tanımlayıcısı (örneğin bir kullanıcı veya bir grup) için bir dizi hak temsil eder. |
Rights.Right | Bu iç sınıf, bireysel bir hakkı temsil eder. |
SortTerm | RFC 5256 tarafından tanımlandığı şekliyle belirli bir sıralama kriteri. |
Bu sağlayıcının üzerinde belirtilmesi gereken bazı noktalar:
Bu sağlayıcı hem IMAP4 hem de IMAP4rev1 protokollerini destekler.
Bağlı bir IMAPStore, IMAP sunucusuyla iletişimde kullanılmak üzere bir IMAP protokolü nesneleri havuzu tutar. Klasörler açıldığında ve yeni IMAP protokolü nesnelerine ihtiyaç duyulduğunda, IMAPStore bunları bağlantı havuzundan sağlar veya mevcut değilse oluşturur. Bir klasör kapatıldığında, IMAP protokol nesnesi, havuz varsa bağlantı havuzuna döndürülür.
Bağlı IMAPStore nesnesi, depoya IMAP sunucusuna özel bir bağlantı sağlayan ayrı bir IMAP protokolü nesnesi tutabilir veya tutmayabilir.
IMAP protokol sağlayıcısı, JavaMail Session nesnesinde ayarlanabilen aşağıdaki özellikleri destekler. Özellikler her zaman dizeler olarak ayarlanır; Type sütunu dizenin nasıl yorumlandığını açıklar.
İsim | Tür | Açıklama |
---|---|---|
mail.imap.user | Dize | IMAP için varsayılan kullanıcı adı. |
mail.imap.host | Dize | Bağlanılacak IMAP sunucusu. |
mail.imap.port | int | Connect () yöntemi açıkça bir tane belirtmiyorsa, bağlanılacak IMAP sunucusu bağlantı noktası. 143 varsayılan. |
mail.imap.partialfetch | Boole | IMAP kısmi getirme özelliğinin kullanılıp kullanılmayacağını denetler. Varsayılan değer doğrudur. |
mail.imap.fetchsize | int | Bayt cinsinden kısmi getirme boyutu. Varsayılan 16K'dır. |
mail.imap.ignorebodystructuresize | Boole | IMAP BODYSTRUCTURE yanıtı, her vücut bölümünün tam boyutunu içerir. Normalde bu boyut, her vücut parçası için ne kadar veri alınacağını belirlemek için kullanılır. Varsayılan olarak yanlıştır. |
mail.imap.connectiontimeout | int | Milisaniye cinsinden soket bağlantısı zaman aşımı değeri. Varsayılan sonsuz zaman aşımıdır. |
mail.imap.timeout | int | Milisaniye cinsinden soket G / Ç zaman aşımı değeri. Varsayılan sonsuz zaman aşımıdır. |
mail.imap.statuscachetimeout | int | STATUS komut yanıtının önbelleği için milisaniye cinsinden zaman aşımı değeri. Varsayılan 1000'dir (1 saniye). Sıfır, önbelleği devre dışı bırakır. |
mail.imap.appendbuffersize | int | IMAP klasörüne eklenirken hafızada arabelleğe alınacak maksimum mesaj boyutu. |
mail.imap.connectionpoolsize | int | Bağlantı havuzundaki maksimum kullanılabilir bağlantı sayısı. Varsayılan 1'dir. |
mail.imap.connectionpooltimeout | int | Bağlantı havuzu bağlantıları için milisaniye cinsinden zaman aşımı değeri. Varsayılan 45000'dir (45 saniye). |
mail.imap.separatestoreconnection | Boole | Mağaza komutları için özel bir mağaza bağlantısı kullanılıp kullanılmayacağını belirten bayrak. Varsayılan yanlıştır. |
mail.imap.auth.login.disable | Boole | Doğruysa, düz LOGIN komutunu kullanmak yerine standart olmayan AUTHENTICATE LOGIN komutunun kullanılmasını engeller. Varsayılan yanlıştır. |
mail.imap.auth.plain.disable | Boole | True ise, AUTHENTICATE PLAIN komutunun kullanılmasını engeller. Varsayılan yanlıştır. |
mail.imap.auth.ntlm.disable | Boole | True ise, AUTHENTICATE NTLM komutunun kullanılmasını engeller. Varsayılan yanlıştır. |
mail.imap.proxyauth.user | Dize | Sunucu PROXYAUTH uzantısını destekliyorsa, bu özellik, hareket edecek kullanıcının adını belirtir. Yöneticinin kimlik bilgilerini kullanarak sunucuya kimlik doğrulaması yapın. Kimlik doğrulamasından sonra, IMAP sağlayıcısı PROXYAUTH komutunu bu özellikte belirtilen kullanıcı adıyla verecektir. |
mail.imap.localaddress | Dize | IMAP soketi oluştururken bağlanılacak yerel adres (ana bilgisayar adı). Socket sınıfı tarafından seçilen adrese varsayılanlar. |
mail.imap.localport | int | IMAP yuvası oluştururken bağlanılacak yerel bağlantı noktası numarası. Socket sınıfı tarafından seçilen bağlantı noktası numarasına varsayılanlar. |
mail.imap.sasl.enable | Boole | True olarak ayarlanırsa, oturum açmak için bir kimlik doğrulama mekanizması seçmek üzere javax.security.sasl paketini kullanmayı deneyin. Varsayılan olarak yanlıştır. |
mail.imap.sasl.mechanisms | Dize | Kullanılmaya çalışılacak SASL mekanizma adlarının boşluk veya virgülle ayrılmış listesi. |
mail.imap.sasl.authorizationid | Dize | SASL kimlik doğrulamasında kullanılacak yetkilendirme kimliği. Ayarlanmazsa, kimlik doğrulama kimliği (kullanıcı adı) kullanılır. |
mail.imap.sasl.realm | Dize | DIGEST-MD5 gibi bir bölge gerektiren SASL kimlik doğrulama mekanizmalarıyla kullanılacak alan. |
mail.imap.auth.ntlm.domain | Dize | NTLM kimlik doğrulama alanı. |
mail.imap.auth.ntlm.flags | int | NTLM protokolüne özgü bayraklar. |
mail.imap.socketFactory | Priz Fabrikası | Javax.net.SocketFactory arabirimini uygulayan bir sınıfa ayarlanırsa, bu sınıf IMAP soketleri oluşturmak için kullanılacaktır. |
mail.imap.socketFactory.class | Dize | Ayarlanırsa, javax.net.SocketFactory arabirimini uygulayan bir sınıfın adını belirtir. Bu sınıf, IMAP soketleri oluşturmak için kullanılacaktır. |
mail.imap.socketFactory.fallback | Boole | True olarak ayarlanırsa, belirtilen soket fabrika sınıfını kullanarak bir soket oluşturulamaması, soketin java.net.Socket sınıfı kullanılarak oluşturulmasına neden olur. Varsayılan değer doğrudur. |
mail.imap.socketFactory.port | int | Belirtilen soket fabrikası kullanılırken bağlanılacak bağlantı noktasını belirtir. Ayarlanmadığında varsayılan bağlantı noktası kullanılır. |
mail.imap.ssl.enable | Boole | True olarak ayarlanmışsa, bağlanmak için SSL kullanın ve varsayılan olarak SSL bağlantı noktasını kullanın. "İmap" protokolü için varsayılan değer false ve "imap" protokolü için true'dur. |
mail.imap.ssl.checkserveridentity | Boole | True olarak ayarlanırsa, RFC 2595 tarafından belirtildiği gibi sunucu kimliğini kontrol edin. Varsayılan değer false. |
mail.imap.ssl.trust | Dize | Ayarlanmışsa ve bir soket fabrikası belirtilmemişse, MailSSLSocketFactory'nin kullanımını etkinleştirir. "*" Olarak ayarlanırsa, tüm ana bilgisayarlara güvenilir. Boşluklarla ayrılmış bir ana bilgisayar listesine ayarlanırsa, bu ana bilgisayarlar güvenilirdir. Aksi takdirde güven, sunucunun sunduğu sertifikaya bağlıdır. |
mail.imap.ssl.socketFactory | SSL Soket Fabrikası | Javax.net.ssl.SSLSocketFactory sınıfını genişleten bir sınıfa ayarlanırsa, bu sınıf IMAP SSL soketleri oluşturmak için kullanılacaktır. |
mail.imap.ssl.socketFactory.class | Dize | Ayarlanırsa, javax.net.ssl.SSLSocketFactory sınıfını genişleten bir sınıfın adını belirtir. Bu sınıf, IMAP SSL soketleri oluşturmak için kullanılacaktır. |
mail.imap.ssl.socketFactory.port | int | Belirtilen soket fabrikası kullanılırken bağlanılacak bağlantı noktasını belirtir. Ayarlanmazsa, varsayılan bağlantı noktası kullanılacaktır. |
mail.imap.ssl.protocols | dizi | SSL bağlantıları için etkinleştirilecek SSL protokollerini belirtir. Özellik değeri, javax.net.ssl.SSLSocket.setEnabledProtocols yöntemi için kabul edilebilir belirteçlerin boşluklarla ayrılmış bir listesidir. |
mail.imap.starttls.enable | Boole | Doğruysa, herhangi bir oturum açma komutu vermeden önce bağlantıyı TLS korumalı bağlantıya geçirmek için STARTTLS komutunun (sunucu tarafından destekleniyorsa) kullanımını etkinleştirir. Varsayılan yanlıştır. |
mail.imap.starttls.required | Boole | Doğruysa, STARTTLS komutunun kullanılmasını gerektirir. Sunucu STARTTLS komutunu desteklemiyorsa veya komut başarısız olursa, bağlantı yöntemi başarısız olur. Varsayılan olarak yanlıştır. |
mail.imap.socks.host | dizi | Posta sunucusuna bağlantılar için kullanılacak SOCKS5 proxy sunucusunun ana bilgisayar adını belirtir. |
mail.imap.socks.port | dizi | SOCKS5 proxy sunucusu için bağlantı noktası numarasını belirtir. Bunun yalnızca proxy sunucusu standart bağlantı noktası numarası 1080'i kullanmıyorsa kullanılması gerekir. |
mail.imap.minidletime | int | Bu özellik, gecikmeyi milisaniye cinsinden ayarlar. Ayarlanmazsa, varsayılan 10 milisaniyedir. |
mail.imap.enableimapevents | Boole | Mağazanın Bağlantı Listesine teslim edilecek IMAP'ye özgü özel olayları etkinleştirin. Doğruysa, Store'un boşta kalma yöntemi sırasında alınan istenmeyen yanıtlar, bir tür IMAPStore.RESPONSE ile ConnectionEvents olarak gönderilir. Olayın mesajı ham IMAP yanıt dizesi olacaktır. Varsayılan olarak, bu olaylar gönderilmez. |
mail.imap.folder.class | Dize | Com.sun.mail.imap.IMAPFolder alt sınıfının sınıf adı. Alt sınıf, ek IMAP komutları için destek sağlamak için kullanılabilir. Alt sınıf, genel MyIMAPFolder (String fullName, karakter ayırıcı, IMAPStore deposu, Boolean isNamespace) ve genel MyIMAPFolder (ListInfo li, IMAPStore deposu) biçiminde genel oluşturuculara sahip olmalıdır. |
Genel olarak uygulamaların bu paketteki sınıfları doğrudan kullanmasına gerek olmamalıdır. Bunun yerine, javax.mail paketi (ve alt paketler) tarafından tanımlanan API'leri kullanmalıdırlar. Uygulamalar asla doğrudan IMAPStore veya IMAPFolder örneklerini oluşturmamalıdır. Bunun yerine, uygun bir Store nesnesi elde etmek için getStore Session yöntemini kullanmalı ve bundan Klasör nesneleri edinmelidirler.
IMAP sunucusunu kullanma örnekleri, Kota Yönetimi bölümünde gösterilmiştir .