27 Mart 2018 Salı

JavaMail MimeBodyPart Sınıfı

Giriş
Bu sınıfı kullanmak için şu satır dahil edilir.
import javax.mail.BodyPart;
import javax.mail.internet.MimeBodyPart;
Bu sınıf e-postaya eklenti yapmak için kullanılır. Yani e-posta artık part part olarak düşünülür. Şöyle yaparız.
MimeMultipart content = new MimeMultipart("related");
MimeBodyPart attachment = new MimeBodyPart();
...
content.addBodyPart(attachment);
Normalde eklentiler e-mail içinde gösterilmez. Eğer e-mail içinde gösterilsin istiyorsak şöyle yaparız.

messageBodyPart.setDisposition(Part.INLINE);

constructor
Şöyle yaparız.
BodyPart messageBodyPart = new MimeBodyPart();
setContent metodu
Örnek
Şöyle yaparız.
// first part (the html)
BodyPart htmlPart = new MimeBodyPart();
String htmlText = "<H1>Hello</H1><img src=\"cid:image\">";
htmlPart.setContent(htmlText, "text/html");
Örnek
Şöyle yaparız.
MimeBodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent(html, "text/html; charset=utf-8");
setDataHandler metodu
Şöyle yaparız
File file = new File("filename.txt");
DataSource fds = new FileDataSource(file);
attachment.setDataHandler(new DataHandler(fds));
setFileName metodu
Örnek
Eklenti göndermek için şöyle yaparız
messageBodyPart = new MimeBodyPart();
String filename = "/home/file.txt";
DataSource source = new FileDataSource(filename);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(filename);
Örnek
Şöyle yaparız.
DataSource fds = ...;
attachment.setFileName(fds.getName());
setHeader metodu
Gömülü nesne göndermek içindir.
Örnek
şöyle yaparız.
DataSource fds = new FileDataSource("/path/to/your/image/tr.png");

messageBodyPart.setDataHandler(new DataHandler(fds));
messageBodyPart.setHeader("Content-ID", "<image>");
Örnek
Şöyle yaparız.
attachment.setHeader("Content-ID", "<" + id + ">");
setText metodu
Örnek
Şöyle yaparız. "text/plain" part yaratır.
String subject = ...
BodyPart textPart = new MimeBodyPart(); 
textPart.setText(subject); 
Bu kod sanırım şu kodla aynıdır.
MimeBodyPart textPart = new MimeBodyPart();
textPart.setContent("MyContent", "text/plain"); 
textPart.setDisposition(Part.INLINE);

Hiç yorum yok:

Yorum Gönder