2012-01-31 18 views
7

Ben gmail ve yahoo çalışıyorum ama hotmail değil. İşte sahip olduğum şey, neyi yanlış yapıyorum?Hotmail'den göndermek için javamail kullanma?

private String mailhost = "smtp.live.com"; 

    public hotmailSenderActivity(String user, String password) { 
    this.user = user; 
    this.password = password; 

    //This connects to the actual mailserver 
    Security.addProvider(new com.provider.JSSEProvider()); 
    Properties props = new Properties(); 
    props.setProperty("mail.transport.protocol", "smtp"); 
    props.setProperty("mail.host", mailhost); 
    props.put("mail.smtp.starttls.enable", "true"); 
    props.put("mail.smtp.auth", "true"); 
    props.put("mail.smtp.port", "587"); 
    props.put("mail.smtp.socketFactory.port", "587"); 
    props.put("mail.smtp.socketFactory.class", 
      "javax.net.ssl.SSLSocketFactory"); 
    props.put("smtp.starttls.enable", "true"); 
    props.put("mail.smtp.socketFactory.fallback", "false"); 
    props.setProperty("mail.smtp.quitwait", "false"); 

    session = Session.getDefaultInstance(props, this); 

SSL nesnesi olmadan 25 + 587 numaralı bağlantı noktasını denedim. SSL şeyler ile 465 numaralı bağlantı noktasını denedim. E-posta ve şifre doğrudur (emin olmak için sabit kodlanmışlardır).

Hata görmüyorum ... Peki sorun nedir?

+0

ait

Bağlandıktan şimdi
... props.put("mail.smtp.starttls.enable", "true"); Session session = Session.getDefaultInstance(props); Transport trans = session.getTransport("smtp"); trans.connect("smtp.live.com", 25, "user", "pass"); 

, kullanım yöntemleri [bu] Bu kod (http://stackoverflow.com/ buldunuz sorular/2020088/gönderme-e-posta-in-android-kullanarak-javamail-api-kullanmadan-the-varsayılan-android-a/2033124 # 2033124) – Deepak

+0

Evet, ve dediğim gibi, gmail ve yahoo için harika çalıştı. – VicVu

+0

kontrol edeyim ... – Deepak

cevap

19

1) ayıklama çıkışını kullanmak:

session.setDebug(true); 

2) hotmail SMTP sunucusu bağlantı noktası 25 veya 587 SSL olmayan bağlantı başlar ve ilk bağlantı sonrası STARTTLS kullanır; böylece

props.put ("mail.smtp.socketFactory.port", "587") satırlarını kaldırın;
props.put ("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); ayarlardan

3) mimimum miktar o zaman:

props.setProperty("mail.transport.protocol", "smtp"); 
    props.setProperty("mail.host", "smtp.live.com"); 
    props.put("mail.smtp.starttls.enable", "true"); 
    props.put("mail.smtp.auth", "true"); 

bu aksi props.put ("mail.smtp.port", "587") ekleyin, liman 25 varsayar;

4) henüz daha güzel görünüyor bu: Transport

+2

Ahaaa! Stresin% 35'ini hayatımdan yeni çıkardınız. – VicVu

İlgili konular