2012-06-09 3 views
5

Im tring, aby wysłać prosty e-mail z tym kodem za pomocą wyszukiwarki Google. Ale nic się nie dzieje, czy jest coś, co muszę skonfigurować, aby korzystać z api poczty? To działa na localhost. Używam Gmaila jako hosta poczty.Wysyłanie wiadomości e-mail za pomocą silnika aplikacji Google

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); 

Odpowiedz

9

Po uruchomieniu serwera rozwoju AppEngine lokalnie, cokolwiek wysyłane za pośrednictwem usługi poczty nie będzie faktycznie być wysłany - to po prostu być zalogowany do konsoli

Zobacz here

Gdy aplikacja działa w Serwer programistyczny wywołuje usługę poczty, aby wysłać wiadomość e-mail, wiadomość zostanie wydrukowana do dziennika. Serwer programistyczny Java nie wysyła wiadomości e-mail.

Ponadto adres from musi być (z here)

  • wiadomości e-mail od administratora aplikacji
  • Wiadomość od aktualnie zalogowanego użytkownika, który podpisał się za pomocą konta Google
  • Prawidłowy adres e-mail otrzymany z aplikacji
+0

Czy nie ma możliwości wysłania e-maila z projektu GAE? Lub po prostu nie używać w ten sposób? – Nick

+0

Możesz, tylko z określonych adresów i lokalnego serwera programistycznego, tylko loguje wiadomości e-mail do konsoli – jimr

1

Nadawca powinien mieć swój własny adres e-mail Gmail zamiast [email protected]

Powód jest ponieważ serwer SMTP wymaga uwierzytelnienia.

0

Inny niż e-mail nie działa w lokalnej wersji host lub e-mail nadawcy nie jest uwierzytelniony. Dowiedziałem się, że ten e-mail nie działa, nawet jeśli wersja nie jest domyślna. Nie mogłem znaleźć tego udokumentowanego nigdzie.

Na przykład: nondefaultversion-dot-myapp.appspot.com (e-mail nie działa, nie ma dzienniki błędów) myapp.appspot.com (prac e-mail)

Proszę potwierdzić, czy inni też w obliczu tego problemu.

1

Wygląda na to, że GAE nie zezwala już na korzystanie z kont administracyjnych. musisz użyć konta usługi: [email protected]

Moje poprzednie projekty nadal współpracują z kontami administracyjnymi, ale ostatnio utworzone projekty nie pozwalają mi używać żadnego z kont administracyjnych.