Kann nicht zum senden von E-Mails über Google App Engine
Habe ich versucht, die Verwendung von Javamail zum versenden von Mails. Allerdings erhielt ich die folgende Meldung:
javax.mail.SendFailedException: Send failure (javax.mail.MessagingException: Illegal Arguments (java.lang.IllegalArgumentException: Bad Request: ))
Habe ich versucht, E-Mails versenden aus dem admin-Konto (das ich verwenden, um die app hochzuladen), sowie das Benutzerkonto ich mich anmelden, um die app als. (aus UserService - getCurrentUser().getEmail()
) beide scheiterten.
Frage ich mich, ob es irgendeine Besondere Einstellung, die ich haben, um das setup?
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
Message msg = new MimeMessage(session);
UserService userService = UserServiceFactory.getUserService();
String email = userService.getCurrentUser().getEmail();
//Or
//String email = "[email protected]";
msg.setFrom(new InternetAddress(email));
msg.addRecipient(Message.RecipientType.TO,
new InternetAddress("[email protected]"));
msg.setSubject("Test Email");
msg.setText("Nobody");
Transport.send(msg);
- Könnte es sein, dass Sie mit einem gefälschten Empfänger-Adresse, die es eigentlich nicht gibt? Ich sehe nicht, nichts falsch mit dem code, und ich habe ähnlichen code zu senden mit appengine in der Vergangenheit.
- Ich änderte die Adresse des Empfängers in der Probe. Ich bin das senden der mail an die admin-Adresse.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dass ist wirklich sehr merkwürdig. Ich schrieb das folgende Beispiel:
Gab es keine Ausnahmen, und ich habe die E-Mail erhalten. Sind Sie sicher, dass es nicht mehr geht, in die tatsächliche Anwendung?
Nur Scannen die Dokumentation, die auf dieser ich Folgendes gefunden:
So 'E-Mail' sollte zumindest festgelegt werden, zurück zu Ihrem admin-emailaccount,
oder eine dedizierte emailaccount Hinzugefügt, wenn Sie als administrator Ihr Projekt..
Andere, als dass ich sehen keine Probleme mit deinem code.
meine zwei cents!! Überprüfen Sie, ob die Funktionalität ist Teil der server und nicht der client-Klassen..
Wahrscheinlich, weil Sie Ihre Anwendung lokal.
Laden Sie Sie auf der app-engine und es funktioniert gut.
*Ihre Absender-E-Mail sollte die E-mail-id, mit der Sie das Projekt bereitstellen von app-engine*
oder ein admin-mail-id.
Stellen Sie sicher, dass Sie die Nachricht von eine E-Mail-Adresse entsprechend des aktuell angemeldeten Benutzers oder die E-Mail des Kontos, in dem die Anwendungen bereitgestellt wird.
Das wichtigste ist, dass Nachrichten nicht gesendet, wenn die Anwendung lokal ausgeführt wird. Tatsächlich senden Sie die Nachrichten, bereitstellen es in die Google App Engine und führen Sie es aus der Ferne.