2012-06-09 6 views
5

Im Anschluss an das Senden einer einfachen E-Mail mit diesem Code mit Google App Engine. Aber nichts passiert, gibt es etwas, das ich konfigurieren muss, um die Mail API zu verwenden? Dies läuft auf localhost. Ich verwende Gmail als Mail-Host.Senden von E-Mails mit Google App-Engine

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

Antwort

9

Wenn der Server AppEngine Entwicklung lokal ausgeführt wird, etwas über den Mail-Dienst gesendet werden, nicht tatsächlich gesendet werden - es wird nur an der Konsole angemeldet sein

here Siehe

Wenn eine Anwendung in der laufenden Wenn der Entwicklungsserver den Mail-Dienst zum Senden einer E-Mail-Nachricht aufruft, wird die Nachricht in das Protokoll gedruckt. Der Java-Entwicklungsserver sendet die E-Mail-Nachricht nicht.

Darüber hinaus ist die from Adresse muss sein (von here)

  • Die E-Mail von einem App-Administrator
  • Die E-Mail des aktuell angemeldeten Benutzers, die
  • in mit einem Google-Konto angemeldet
  • Ein gültige E-Mail-Empfangsadresse aus der App
+0

Gibt es also keine Möglichkeit, eine E-Mail von einem GAE-Projekt zu senden? Oder einfach nicht auf diese Weise? – Nick

+0

Sie können nur von bestimmten Adressen und dem lokalen Entwicklungsserver nur E-Mails an die Konsole protokollieren – jimr

1

Der Absender sollte Ihre eigene Google Mail-Adresse anstelle von [email protected]

Grund ist, weil der SMTP-Server, den Sie authentifizieren muss.

0

Andere als E-Mail nicht auf dem lokalen Arbeits Host oder aufgrund der Absender-E-Mail nicht die authentifizierte sein, habe ich erfahren, dass E-Mail nicht funktioniert, auch wenn die Version nicht die Standardversion ist. Ich konnte das nirgendwo dokumentiert finden.

Zum Beispiel: nondefaultversion-dot-myapp.appspot.com (E-Mail nicht funktioniert, keine Fehlerprotokolle) myapp.appspot.com (E-Mail-Werke)

Bitte bestätigen Sie, ob andere auch dieses Problem konfrontiert.

1

Anscheinend erlaubt GAE die Verwendung der Administratorkonten nicht mehr. Sie müssen das Dienstkonto verwenden: [email protected]

Meine bisherigen Projekte noch mit Admin-Konten arbeiten, aber die vor kurzem gerade erstellten Projekte erlauben mir nicht eine der Admin-Konten zu verwenden.

Verwandte Themen