2012-06-09 20 views
5

Bu kod ile google uygulama motorunu kullanarak basit bir e-posta göndermek için kullanıyorum. Ama hiçbir şey olmuyor, posta api kullanmak için yapılandırmam gereken bir şey var mı? Bu, localhost'ta çalışır. Posta postası olarak gmail kullanıyorum.google app engine ile e-posta gönderimi

String host = "smtp.google.com"; 
String to = "[email protected]"; 
String from = "[email protected]"; 
String subject = "this is a test"; 
String messageText = "test"; 
boolean sessionDebug = false; 
// Create some properties and get the default Session. 
Properties props = System.getProperties(); 
props.put("mail.host", host); 
props.put("mail.transport.protocol", "smtp"); 
Session mailSession = Session.getDefaultInstance(props, null); 

// Set debug on the Session 
// Passing false will not echo debug info, and passing True will. 

mailSession.setDebug(sessionDebug); 

// Instantiate a new MimeMessage and fill it with the 
// required information. 

Message msg = new MimeMessage(mailSession); 
msg.setFrom(new InternetAddress(from)); 
InternetAddress[] address = { new InternetAddress(to) }; 
msg.setRecipients(Message.RecipientType.TO, address); 
msg.setSubject(subject); 
msg.setSentDate(new Date()); 
msg.setText(messageText); 

// Hand the message to the default transport service 
// for delivery. 

Transport.send(msg); 

cevap

9

, Posta servisi ile gönderilir şey aslında gönderilmeyecektir - sadece bir uygulama içinde çalışırken

here

Bkz konsola kaydedilir geliştirme sunucusu bir e-posta mesajı göndermek için Posta servisini çağırır, mesaj günlüğe yazdırılır. Java geliştirme sunucusu e-posta mesajını göndermiyor.

Ayrıca, from adresi bir uygulama yöneticisinin

  • Google Hesabı
  • kullanarak oturum anda oturum açan e-posta ve e-posta

    • (here itibaren) olmalıdır
    • Geçerli bir e-posta adresi başvuru adresinden alındı ​​
    +0

    GAE projesinden e-posta göndermenin bir yolu yok mu? Ya da sadece bu şekilde kullanmıyor musunuz? – Nick

    +0

    Yalnızca belirli adreslerden ve yerel geliştirme sunucusundan sadece konsola e-postaları kaydedebilirsiniz. – jimr

    1

    gönderici SMTP sunucusu kimlik doğrulamanızı gerektiğinden [email protected]

    Nedeni ise yerine kendi Gmail e-posta adresi olmalıdır. Yerel olarak AppEngine geliştirme sunucusu çalıştırırken

    0

    Yerel e-posta adresi çalışmıyor ev sahibi veya gönderici e-postasının kimliği doğrulanmayan bir e-postaya bağlı olmamasından dolayı, sürüm varsayılan sürüm olmadığında bile bu e-postanın çalışmadığını gördüm. Bunu hiçbir yerde belgelemedim. Örneğin

    : nondefaultversion-dot-myapp.appspot.com (e-posta çalışmıyor, hata günlükleri) myapp.appspot.com (e-posta işleri)

    diğerleri de bu sorunu ile karşı karşıya varsa teyit edin.

    1

    Görünüşe göre, GAE artık yönetici hesaplarının kullanımına izin vermiyor. Hizmet hesabını kullanmanız gerekir: [email protected]

    Önceki projelerim hala yönetici hesaplarıyla çalışır, ancak yeni oluşturulan projeler hiçbir yönetici hesabını kullanmama izin vermiyor.