Session Sınıfı
Bu sınıfı kullanmak için şu satır dahil edilir.
SMTP e-posta göndermek içindir. POP3 sadece e-posta okumak içindir.
Genel kullanım şekli
Örneğin Session sınıf aracılığıyla Transport,Store, gibi nesneleri elde ederiz.
Parametre olarak Properties ve Authenticator alır. Sadece Properties vermek için şöyle yaparız.
getDefaultInstance() herkesle paylaşıldığı için kullanılmamalı. Metodun için şuna benziyor. defaultSession nesnesinin null ise yaratıldığı mevcut ise tekrar kullanıldığı görülebilir.
Şöyle yaparız.
Store nesnesi döner. Şöyle yaparız.
Şöyle yaparız.
Store Sınıfı
Store sınıfından Folder nesnesi elde ederiz.
Bu sınıfı kullanmak için şu satır dahil edilir.
import javax.mail.Session;
E-posta için kullanılan bir kaç protokol çeşidir var. Bunlar SMPT (Simple Mail Transfer Protocol), IMAP (Internet Message Access Protocol), POP3 (Post Office Protocol Version 3). Session sınıfının esas amacı bizi bu protokollerden izole etmektir. Session sınıfı, MAPI, NNTP gibi diğer e-posta protokollerini desteklemiyor.SMTP e-posta göndermek içindir. POP3 sadece e-posta okumak içindir.
Genel kullanım şekli
Örneğin Session sınıf aracılığıyla Transport,Store, gibi nesneleri elde ederiz.
Session session = ...;
MimeMessage message = new MimeMessage(session);
...
Transport transport = session.getTransport("smtp");
transport.connect(host, from, pass);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
getInstance metoduParametre olarak Properties ve Authenticator alır. Sadece Properties vermek için şöyle yaparız.
Properties props = new Properties();
props.setProperty(...,...);
Session session = Session.getInstance(props, null);
Properties ve Authenticator vermek için şöyle yaparız.Properties props = new Properties();
prop.put("...", "...");
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
getDefaultInstance metodugetDefaultInstance() herkesle paylaşıldığı için kullanılmamalı. Metodun için şuna benziyor. defaultSession nesnesinin null ise yaratıldığı mevcut ise tekrar kullanıldığı görülebilir.
public static synchronized Session getDefaultInstance(Properties props,
Authenticator authenticator) {
if (defaultSession == null)
defaultSession = new Session(props, authenticator);
else {
// have to check whether caller is allowed to see default session
if (defaultSession.authenticator == authenticator)
; // either same object or both null, either way OK
else if (defaultSession.authenticator != null &&
authenticator != null &&
defaultSession.authenticator.getClass().getClassLoader() ==
authenticator.getClass().getClassLoader())
; // both objects came from the same class loader, OK
else
// anything else is not allowed
throw new SecurityException("Access to default session denied");
}
return defaultSession;
}
getTransport metoduŞöyle yaparız.
Transport transport = session.getTransport ("smtp");
getStore metoduStore nesnesi döner. Şöyle yaparız.
Store store = session.getStore();
setDebug metoduŞöyle yaparız.
session.setDebug(true);
Store sınıfından Folder nesnesi elde ederiz.
Hiç yorum yok:
Yorum Gönder