JavaMail: Wie bekommt man rückgabecodes vom Server?

Status
Nicht offen für weitere Antworten.

richardkrieger

Aktives Mitglied
Hallo,

versand funktioniert. Möchte aber die Rückmeldung von Server abfangen, ob Versand erfolgreich war, also wenigstens den Code(250 ist, glaube ich, OK). Weiss vielleicht noch jemand, ob es irgenwo eine Liste gibt, wo die Codes beschrieben sind, damit man eine vernünftige deutsche Fehlermeldung ausgeben kann?

Die Methode:
Code:
	private void senden(String[] sendeDaten){
		String vorname=sendeDaten[0];
		String nachname=sendeDaten[1];
		String email=sendeDaten[2];
		Properties eigenschaften=new Properties();
		eigenschaften.put("mail.smtp.host", xmlStelle.getXMLString(iniPfad, "SMTPServer"));
		eigenschaften.put("mail.smtp.auth", "true");
		eigenschaften.put("mail.debug", "true");
		Authenticator zugang=new JavaxAuth(xmlStelle.getXMLString(iniPfad, "SenderUser"),xmlStelle.getXMLString(iniPfad, "SenderPass"));
		Session sess=Session.getDefaultInstance(eigenschaften, zugang);
		sess.setDebug(true);
		MimeMessage nachricht=new MimeMessage(sess);
		try{
			nachricht.setFrom(new InternetAddress(xmlStelle.getXMLString(iniPfad, "SenderMail")));
			nachricht.addRecipient(Message.RecipientType.TO, new InternetAddress(email));
			System.out.println(email);
			nachricht.setSubject(editorFenster.getBetreff());
			nachricht.setText(editorFenster.getText());
			Transport.send(nachricht);
			} catch(AddressException ae){
			System.out.println(ae.toString());
			}catch(MessagingException me){
			System.out.println(me.toString());
			}

		
	}
 

DP

Top Contributor
versuche es mal mit

com.sun.mail.smtp.SMTPTransport.getLastReturnCode()

> Return the return code from the last response we got from the server.

oder

com.sun.mail.smtp.SMTPTransport.getLastServerResponse()

> Return the last response we got from the server
 

richardkrieger

Aktives Mitglied
Super, jetzt weis ich, wo ich anfangen muss. Danke!


also try...catch sieht jetzt bei mir so aus

Code:
		try{
			SMTPTransport transporter=new SMTPTransport(sess,new URLName(xmlStelle.getXMLString(iniPfad, "SMTPServer")));
			nachricht.setFrom(new InternetAddress(sender_voll));
			nachricht.addRecipient(Message.RecipientType.TO, new InternetAddress(empfaenger_voll));
			nachricht.setSubject(editorFenster.getBetreff());
			nachricht.setText(editorFenster.getText());
			SMTPTransport.send(nachricht);
			System.out.println(transporter.getLastReturnCode());
			} catch(AddressException ae){
			System.out.println(ae.toString());
			}catch(MessagingException me){
			System.out.println(me.toString());
			}
habe auch

Code:
transporter.send(nachricht);

ausprobiert. Resultate sind gleich, auch im Fehlerfall:
getLastReturnCode liefert immer 0
getLastServerResponse liefert immer null

Im zweiten fall ist die Zeile unterstrichen, da "send" statisch angesprochen werden muss.
schaue mir .sendMessage(message,Address[]) an. vielleicht klappt's damit.
 

richardkrieger

Aktives Mitglied
OK, es funktioniert:

Methode:
Code:
	private void senden(String[] sendeDaten){
		String vorname=sendeDaten[0];
		String nachname=sendeDaten[1];
		String email=sendeDaten[2];
		String empfaenger_voll=vorname+" "+nachname+" <"+email+">";
		String sender_voll=xmlStelle.getXMLString(iniPfad, "SenderName")+" <"+xmlStelle.getXMLString(iniPfad, "SenderMail")+">";
		Properties eigenschaften=new Properties();
		eigenschaften.put("mail.smtp.host", xmlStelle.getXMLString(iniPfad, "SMTPServer"));
		eigenschaften.put("mail.smtp.auth", "true");
		eigenschaften.put("mail.debug", "false");
		Authenticator zugang=new JavaxAuth(xmlStelle.getXMLString(iniPfad, "SenderUser"),xmlStelle.getXMLString(iniPfad, "SenderPass"));
		Session sess=Session.getDefaultInstance(eigenschaften, zugang);
		sess.setDebug(false);
		MimeMessage nachricht=new MimeMessage(sess);
		try{
			Address[] transemail={new InternetAddress(xmlStelle.getXMLString(iniPfad, "SenderMail"))};
			SMTPTransport transporter=new SMTPTransport(sess,new URLName(xmlStelle.getXMLString(iniPfad, "SMTPServer")));
			nachricht.setFrom(new InternetAddress(sender_voll));
			nachricht.addRecipient(Message.RecipientType.TO, new InternetAddress(empfaenger_voll));
			nachricht.setSubject(editorFenster.getBetreff());
			nachricht.setText(editorFenster.getText());
			transporter.connect(xmlStelle.getXMLString(iniPfad, "SMTPServer"),xmlStelle.getXMLString(iniPfad, "SenderUser"),xmlStelle.getXMLString(iniPfad, "SenderPass"));
			transporter.sendMessage(nachricht, transemail);
			System.out.println(transporter.getLastServerResponse());
			} catch(AddressException ae){
			System.out.println(ae.toString());
			}catch(MessagingException me){
			System.out.println(me.toString());
			}

		
	}
wobei getLastServerResponse folgendes liefert:
250 Message 0MKwtQ-1KBxXx1hVs-0006M4 accepted by mrelayeu2.kundenserver.de
.getLastReturnCode liefert nur denCode:

Herzlichen Dank an DP für den Denkanstoss.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Javamail with authentication Netzwerkprogrammierung 9
D JavaMail: HTML Code einer Mail Netzwerkprogrammierung 9
D JavaMail - Mailsabrufen Problem (imap) Netzwerkprogrammierung 12
H JavaMail STARTTLS Netzwerkprogrammierung 6
S javamail und filterung bekannter nachrichten Netzwerkprogrammierung 3
T JavaMail POP Zugriff zeigt nicht alle Emails Netzwerkprogrammierung 2
S Mehrere Attachments mit JavaMail API auslesen Netzwerkprogrammierung 3
F Mehrere Attachments mit JavaMail API Netzwerkprogrammierung 2
H HTML-Mails mit JavaMail API Netzwerkprogrammierung 3
A JavaMail Problem - Nachricht wird nicht versendet ? Netzwerkprogrammierung 9
G JavaMail subFolders Netzwerkprogrammierung 6
S Voreinstellungen für JavaMail Netzwerkprogrammierung 2
D JavaMail Kontaktformular Umlaute Problem Netzwerkprogrammierung 2
conan2 JavaMail Netzwerkprogrammierung 10
R Problem beim Senden von Emails (Javamail) Netzwerkprogrammierung 2
J JavaMail Exception bei senden an anderen Server. Netzwerkprogrammierung 8
J JavaMail-Problem Netzwerkprogrammierung 5
G Fragen/Probleme mit JavaMail Netzwerkprogrammierung 2
G JavaMail und Session/Message Problem Netzwerkprogrammierung 2
L JavaMail: Mail in Posteingang aber nicht in Versendet Netzwerkprogrammierung 2
L JavaMail: Automatisches Email Versand (mehrere Empfänger) Netzwerkprogrammierung 4
L JavaMail: Versenden von mails funktioniert nicht Netzwerkprogrammierung 7
V JavaMail API Problem Netzwerkprogrammierung 10
P mit javamail gmx postfach prüfen Netzwerkprogrammierung 8
T Mit JavaMail API Faxe versenden? Netzwerkprogrammierung 5
S Socket Applet Client bekommt keine GLOBALE Verbindung zum Server Netzwerkprogrammierung 25
N Client bekommt close vom Server nicht mit Netzwerkprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben