javax.mail.SendFailedException: Sending failed;
nested exception is:
class javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
class javax.mail.SendFailedException: 550 not local host yahoo.de, not a
gateway
at javax.mail.Transport.send0(Transport.java:218)
at javax.mail.Transport.send(Transport.java:80)
> class javax.mail.SendFailedException: 550 not local host yahoo.de, not
> a gateway
Das kommt wahrscheinlich von deinem Server, den du als Mailgateway benutzen
willst und der das nicht will. Ansonsten kann etwas Quelltext nicht
schaden, um das Problem weiter einzugrenzen.
--
Frank Buß, f...@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Hier der Code mit dem ich die EMail verschicken will:
// Get system properties
Properties props = System.getProperties();
// Setup mail server
props.put("mail.smtp.host", "mail.world4you.com");
// Get session
Session session = Session.getDefaultInstance(props,null);
// Define message
MimeMessage message = new MimeMessage(session);
// Set the from address
message.setFrom(new InternetAddress("r.achl...@crazy-team.at"));
message.addRecipient(Message.RecipientType.TO, new
InternetAddress("crazy...@yahoo.de"));
// Set the subject
message.setSubject("Betreff");
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText("Test");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
// Put parts in message
message.setContent(multipart);
// Send message
Transport.send(message);
mfg
Reinhard Achleitner
Der Server wird kein Relaying erlauben. Das tun auch nur die
wenigsten richtig konfigurierten Mailserver.
Da kannst du auch nichts dran ändern. Such Dir einen anderen
Mailserver, der es erlaubt.
Dein Code ist jedenfalls augenscheinlich korrekt.
Schöne Grüsse
Marc Salm
http://www.codebasket.de
mfg
Reinhard Achleitner
"Marc Salm" <m.s...@mediacare.de> schrieb im Newsbeitrag
news:bdubbg$112jp3$1...@ID-43728.news.dfncis.de...
> D.h. ich kann nur in den seltensten Fällen Mails über die Mail API
> verschicken?
Nein, aber bei Deinem Code wahrscheinlich nur über Server, die unter
www.ordb.org gelistet sind :-)
Ich habe auf meinem Server z. B. einen Mailserver, der nur relaying
zulässt, wenn man sich korrekt angemeldet hat.
Mein Code dazu sieht etwa so aus:
<!--
Authenticator auth = new Authenticator()
{
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication(SMTP_USERNAME,
SMTP_PASSWORD);
}
};
Properties props = new Properties();
Session ses = Session.getInstance(props, auth);
-->
Ansonsten musst Du mal nachlesen, wass der von Dir verwendete Mailserver
für Authentifizierungs-Mechanismen (POP before SMTP ist z. B. recht weit
verbreitet) unterstützt, und dann in der Doku nachlesen, wie Du sie
implementierst.
HTH,
Jens
Viel Glück
--
------------------------------------------------
Ich bin nicht dick. Mir wird nur langsamer kalt.
(Ch. Köhntopp in d.a.s.r)
Frank
In der Doku hab ich leider nichts gefunden, weißt du wo das stehen könnte?
mfg
Reinhard
"Jens Greven" <je...@greven.org> schrieb im Newsbeitrag
news:bdug74$109k18$1...@ID-132381.news.dfncis.de...
Dann mach es folgendermassen (näheres siehe javadoc zu Mail-Api):
Session session = Session.getDefaultInstance(System.getProperties(), null);
URLName url = new URLName("imap", "imap.web.de", 143, "", "login", "pwd");
Store store = session.getStore(url);
store.connect();
Das Beispiel ist aus meinen Mailprogramm. Dort arbeite ich zwar über IMAP,
aber POP3 sollte analog zu implementieren sein.
Wie meinen? Was hat denn das mit einer Anmeldung an einem Mailserver
zu tun?
Marc Salm
http://www.codebasket.de
> Wie meinen? Was hat denn das mit einer Anmeldung an einem Mailserver
> zu tun?
Ich vermute, Frank meint folgendes:
Wenn Du den SMTP-Server Deines Providers benutzt, dann verlangt der
keine Anmeldung, weil er Dich anhand der Dir zugewiesenen IP-Adresse
identifiziert.
Gruß,
Michael
--
Sollte ausnahmsweise eine Mail-Antwort auf ein Posting vonnöten sein,
bitte folgende Adresse verwenden: newsreply@<Absender-Domain>.
props.put("mail.smtp.host", "mail.world4you.com");
// Get session
Session session = Session.getDefaultInstance(props, null);
URLName url = new
URLName("pop3","mail.world4you.com",110,"","rein...@crazy-team.at","xxxxx")
;
Store store = session.getStore(url);
store.connect();
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);
folder.getMessages();
// Define message
MimeMessage message = new MimeMessage(session);
// Set the from address
message.setFrom(new InternetAddress("r.achl...@crazy-team.at"));
message.addRecipient(Message.RecipientType.TO, new
InternetAddress("crazy...@yahoo.de"));
// Set the subject
message.setSubject("Betreff");
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText("Test");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
// Put parts in message
message.setContent(multipart);
session.getTransport("smtp").send(message);
Ich bekomme weiterhin die Meldung
javax.mail.SendFailedException: Sending failed;
nested exception is:
class javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
class javax.mail.SendFailedException: 550 not local host yahoo.de, not a
gateway
Mein MailServer erwartet POP before SMTP. aber das mache ich ja, oder
übersehe ich da
irgendwas?
mfg
Reinhard Achleitner
"Marc Salm" <m.s...@mediacare.de> schrieb im Newsbeitrag
news:bdvat7$10q6gq$1...@ID-43728.news.dfncis.de...
Frank