Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Mail API

0 views
Skip to first unread message

Reinhard Achleitner

unread,
Jul 2, 2003, 3:50:07 AM7/2/03
to
Hi!
Ich versuche über das Mail API Mails zu verschicken, das klappt auch alles
wunderbar, wenn ich einen Empfänger wähle der innerhalb meines Mail Hosts
liegt. Will ich die Email an eine fremde Adresse schicken, bekomm ich die
Exception: (Hat da jemand eine Idee was da schief läuft? )

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)

Frank Buss

unread,
Jul 2, 2003, 4:37:18 AM7/2/03
to
"Reinhard Achleitner" <r.achl...@crazy-team.at> wrote:

> 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

Reinhard Achleitner

unread,
Jul 2, 2003, 5:27:19 AM7/2/03
to
Falls der Server es nicht will, kann ich das irgendwo einstellen?

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


Marc Salm

unread,
Jul 2, 2003, 6:15:28 AM7/2/03
to
Reinhard Achleitner wrote:
> Falls der Server es nicht will, kann ich das irgendwo einstellen?

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


Reinhard Achleitner

unread,
Jul 2, 2003, 6:30:08 AM7/2/03
to
D.h. ich kann nur in den seltensten Fällen Mails über die Mail API
verschicken?

mfg

Reinhard Achleitner


"Marc Salm" <m.s...@mediacare.de> schrieb im Newsbeitrag
news:bdubbg$112jp3$1...@ID-43728.news.dfncis.de...

Jens Greven

unread,
Jul 2, 2003, 7:35:50 AM7/2/03
to
Reinhard Achleitner wrote:

> 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 Radermacher

unread,
Jul 2, 2003, 10:08:20 AM7/2/03
to
Jens Greven wrote:
> Reinhard Achleitner wrote:
>
>> 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 :-)
>
Die meisten "Festanschluesse" ADSL, Glasfaser fordern auch keine
Anmeldung, weil der Anschluss Hardwareseitig identifiziert ist.

Frank

Reinhard Achleitner

unread,
Jul 2, 2003, 10:33:44 AM7/2/03
to
Mein Server erfordert POP before SMTP

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...

Marc Salm

unread,
Jul 2, 2003, 3:16:19 PM7/2/03
to
"Reinhard Achleitner" <r.achl...@crazy-team.at> schrieb:

> Mein Server erfordert POP before SMTP
>
> In der Doku hab ich leider nichts gefunden, weißt du wo das stehen könnte?

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.

Marc Salm

unread,
Jul 2, 2003, 3:17:54 PM7/2/03
to
"Frank Radermacher" <isag...@libero.it> schrieb:

> Die meisten "Festanschluesse" ADSL, Glasfaser fordern auch keine
> Anmeldung, weil der Anschluss Hardwareseitig identifiziert ist.

Wie meinen? Was hat denn das mit einer Anmeldung an einem Mailserver
zu tun?

Marc Salm
http://www.codebasket.de


michael paap

unread,
Jul 2, 2003, 6:06:49 PM7/2/03
to
Marc Salm wrote:

> 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>.

Reinhard Achleitner

unread,
Jul 3, 2003, 1:34:38 AM7/3/03
to
Danke für die Antwort. Ich hab es jetzt folgendermassen versucht, aber es
klappt immer noch nicht.
// Setup mail server

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 Radermacher

unread,
Jul 3, 2003, 2:37:45 AM7/3/03
to
michael paap wrote:
> Marc Salm wrote:
>
>> 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.
>
Ack

Frank

0 new messages