sedatdurmus
  Gelen Maili Alma Java Kodları
 
package mail;
 
import java.util.Properties;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Store;
import java.io.IOException;
import javax.mail.*;
import javax.mail.search.FlagTerm;
import java.io.*;
import javax.mail.internet.MimeBodyPart;
 
public class mail {
 
public static void main(String args[]) throws IOException {
 
String host = "imap.gmail.com";
String username = "maviay518@gmail.com";                    //gmail hesabı
String password = "maviay518";                              //gmail hesap şifresi
String Subject = ""; // mesaj konusu
String Content = "";// mesaj içeriği
String Sender = "";// mail'i gönderenin adresi
int bas_index = 0;
int son_index = 0;
 
Properties properties = System.getProperties();
properties.setProperty("mail.store.protocol", "imaps");
 
try {
 
// bağlantı kuruluyor.
Session session = Session.getDefaultInstance(properties, null);
Store store = session.getStore("imaps");
store.connect(host, username, password);
 
// bağlantı adı yazdırılıyor
System.out.println(store);
 
// mesajlar alınıyor.
Folder inbox = store.getFolder("inbox");
inbox.open(Folder.READ_WRITE);
Message messages[] = inbox.getMessages();
 
// sadece okunmamışlar alınıyor.
messages = inbox.search(new FlagTerm(
new Flags(Flags.Flag.ANSWERED), false));
 
int i = 0;
for (Message message : messages) {
Subject = message.getSubject();
 
// mail adresini ayıklıyor
bas_index = messages[i].getFrom()[0].toString().indexOf("<");// <...>
// mail
// bu
// iki
son_index = messages[i].getFrom()[0].toString().indexOf(">");// karakterle
// sınırlandırılmış.
Sender = messages[i].getFrom()[0].toString().substring(
bas_index + 1, son_index);
 
Object content = message.getContent();
 
// mesajın içeriği alınıyor
Content = "";
if (content instanceof java.lang.String)
Content = (String) content;
else if (content instanceof Multipart) {
Multipart mp = (Multipart) content;
for (int j = 0; j < mp.getCount(); j++) {
Part part = mp.getBodyPart(j);
MimeBodyPart mbp = (MimeBodyPart) part;
if (mbp.isMimeType("text/plain"))
Content += (String) mbp.getContent();
}
}
 
// ek dosyalar ayıklanıyor.
if (content instanceof Multipart) {
Multipart mp = (Multipart) content;
for (int j = 0; j < mp.getCount(); j++) {
Part part = mp.getBodyPart(j);
 
MimeBodyPart mbp = (MimeBodyPart) part;
if (!mbp.isMimeType("text/plain")) {
String name = decodeName(part.getFileName());
if (!name.equals("unknown")) {
System.out.println(name);
saveFile(new File(name), part);
}
}
}
}
// gönderen,konu ve içerik bastırılıyor
System.out.println(i + ": " + Sender);
System.out.println(i + ": " + Subject);
System.out.println(i + ": " + Content);
 
// veritabanına kaydetme cevaplandı olarak işaretlemeden
// yapılmalı.
messages[i].setFlag(Flags.Flag.ANSWERED, true); // cevaplandı
// olarak
// işaretliyor.
i++;
}
 
store.close();
} catch (Exception e) {
System.out.println("Error!");
}
 
}
 
private static int saveFile(File saveFile, Part part) throws Exception {
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(saveFile));
 
byte[] buff = new byte[2048];
InputStream is = part.getInputStream();
 
int ret = 0, count = 0;
while ((ret = is.read(buff)) > 0) {
bos.write(buff, 0, ret);
count += ret;
}
bos.close();
is.close();
 
return count;
}
 
private static String decodeName(String name) throws Exception {
if (name == null || name.length() == 0)
return "unknown";
 
String ret = java.net.URLDecoder.decode(name, "UTF-8");
 
// also check for a few other things in the string:
ret = ret.replaceAll("=?utf-8?q?", "");
ret = ret.replaceAll("?=", "");
ret = ret.replaceAll("=20", " ");
 
return ret;
}
 
}
 
 
 
  Bugün 5 ziyaretçi (8 klik) kişi burdaydı!  
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol