JavaMail Problem - Nachricht wird nicht versendet ?

Status
Nicht offen für weitere Antworten.

angelika_m

Mitglied
Hallo,

ich habe ein Problem mit dem Versenden von E-Mails über einen SMTP Server.
Den folgenden Quelltext habe ich aus einem Buch 1:1 abgeschrieben.
Ich kann die Anwendung ausführen, ohne eine Fehlermeldung zu erhalten. Leider funktioniert das Versenden von Emails trotzdem nicht ?!

Würde mich freuen, wenn jemand das Ganze bei sich testen könnte. Ohne Fehlermeldung kann ich die Ursache leider nicht feststellen :(
Habe zwei unterschiedliche SMTP Server getestet.

Die JavaMail-lib könnt ihr hier downloaden:
http://java.sun.com/products/javamail/downloads/index.html

Gruß
Angelika


Code:
import java.util.Properties;

import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;

public class Mail extends Authenticator {

	private String smtpUsername;
	private String smtpPassword;
	
	public Mail(String smtpUsername, String smtpPassword) {
		this.smtpUsername = smtpUsername;
		this.smtpPassword = smtpPassword;
	}	
	protected PasswordAuthentication getPasswordAuthentication() {		
		PasswordAuthentication result = new PasswordAuthentication(smtpUsername, smtpPassword);		
		return result;		
	}		
	public static void main(String[] args) {			
		try {			
			Properties settings = new Properties();
			settings.put("java.mail.host", "??????");
			
			// Authenticator Ableitung instanziieren, welche die Zugriffsinformationen auf den Mailserver enthält.
			Mail auth = new Mail("??????", "??????");
			
			// Mail-Session erzeugen
			Session session = Session.getDefaultInstance(settings, auth);
			
			// Nachricht erzeugen
			Message message = new MimeMessage(session);
			
			// Absender
			message.setFrom(new InternetAddress("??????"));
			
			// Empfänger
			message.setRecipient(Message.RecipientType.TO, new InternetAddress("??????"));
			
			// Betreff
			message.setSubject("Betreff !");
			
			// MultiPart-Instanz vom Typalternative erzeugen
			Multipart mp = new MimeMultipart("alternative");
			
			// BodyParts erzeugen - text
			BodyPart part = new MimeBodyPart();
			part.setContent("Nachricht - text", "text/plain");			
			mp.addBodyPart(part);
			// BodyParts erzeugen - html
			part = new MimeBodyPart();
			part.setContent("<html><body><h3>Nachricht - html</h3></body></html>", "text/html");
	
			// Multipart-Instanz zuweisen
			message.setContent(mp);
			
			// versenden
			Transport.send(message);
			
		} catch(Exception e) {
			e.getStackTrace();
		}
	}
}
 

angelika_m

Mitglied
Hallo,

ich habe z.b. als SMTP-Server mail.gmx.net angegeben. Die mail wird innerhalb von "Posteingang" nicht angezeigt.

Wie kann ich den response von GMX SMTP-Server abfangen ?
Wie kann ich das Problem ohne Fehlermeldung eingrenzen ?

Habe die Anwendung um diese Zeile erweitert, Hat aber leider nicht geholfen:
Code:
settings.put("mail.smtp.auth", "true");

Gruß
Angelika
 

HoaX

Top Contributor
ist die absenderadresse deine? installier dir lokal einen mailserver, probiers mit dem und schau ins log
 

angelika_m

Mitglied
als Absender habe ich meine eigene GMX E-Mail Adresse angegeben.

Denke nicht, dass ich so einfach einen eigenen Mailserver einrichten kann. Muss mich erst einmal mit der Materie auseinander setzen. Dadurch hätte ich ein neues Problem.
 

HoaX

Top Contributor
so, ich dein progamm getestet und der fehler ist eigentlich offensichtlich.

wie man die mailapi debugt steht in der faq der mailapi:
http://java.sun.com/products/javamail/FAQ.html#debug hat gesagt.:
Turn on session debugging by invoking the method setDebug(true) on the Session object in your code. That will cause debug information to be printed to the console, including a protocol trace. ...

dann solltest du sehn warum nix ankommt.

mini änderung und schon gehts ...
 

angelika_m

Mitglied
Danke Hoax .. wer lesen kann ...

die SMTP-Authentifizierung scheint zu funktionieren. Anschließend versucht die Anwendung, zu localhost zu connecten. Die restlichen Angaben scheinen zu stimmen.

Ich sehe das Problem nicht. Ich verstehe nicht, warum eine Verbindung zu localhost aufgebaut wird.
DEBUG SMTP: connected to host "localhost", port: 25

Debug Ausgabe:

Code:
DEBUG: setDebug: JavaMail version 1.4ea
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "localhost", port 25, isSSL false
220 angelika ESMTP Exim 4.63 Sun, 17 Jun 2007 18:18:07 +0200
DEBUG SMTP: connected to host "localhost", port: 25

EHLO angelika
250-angelika Hello localhost [127.0.0.1]
250-SIZE 52428800
250-PIPELINING
250 HELP
DEBUG SMTP: Found extension "SIZE", arg "52428800"
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "HELP", arg ""
DEBUG SMTP: use8bit false
MAIL FROM:<angelikamorgan@gmx.de>
250 OK
RCPT TO:<angelikamorgan@gmx.de>
250 Accepted
DEBUG SMTP: Verified Addresses
DEBUG SMTP:   [email]angelikamorgan@gmx.de[/email]
DATA
354 Enter message, ending with "." on a line by itself
From: [email]angelikamorgan@gmx.de[/email]
To: [email]angelikamorgan@gmx.de[/email]
Message-ID: <5487165.01182097087776.JavaMail.angelika@angelika>
Subject: Betreff !
MIME-Version: 1.0
Content-Type: multipart/alternative; 
	boundary="----=_Part_0_1026511.1182097087738"

------=_Part_0_1026511.1182097087738
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Nachricht (text)
------=_Part_0_1026511.1182097087738--

.
250 OK id=1HzrS3-0000ed-Q5
QUIT
221 angelika closing connection
 

HoaX

Top Contributor
weil du das property "java.mail.host" setzt - lass das "java." am anfang weg. bei "mail.smtp.auth" hast dus richtig gemacht
 

angelika_m

Mitglied
Hallo HoaX,

der Eintrag sieht jetzt folgendermaßen aus: settings.put("mail.host", "post.fh-kl.de");
Komischerweise erhalte ich jetzt eine invalid destination addresses Fehlermeldung.

als Ziel habe ich meine eigene Adresse angegeben. Daher verstehe ich die Fehlermeldung nicht. Irgendwie hat JavaMail etwas gegen mich ! ???:L
Dei gleiche Meldung erhalte ich auch, wenn ich andere E-Mail Adressen angebe.

Debug-Ausgabe:

Code:
DEBUG: setDebug: JavaMail version 1.4ea
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "post.fh-kl.de", port 25, isSSL false
220 post.fh-kl.de ESMTP Postfix
DEBUG SMTP: connected to host "post.fh-kl.de", port: 25

EHLO angelika
250-post.fh-kl.de
250-PIPELINING
250-SIZE 80000000
250-VRFY
250-ETRN
250-STARTTLS
250 8BITMIME
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "SIZE", arg "80000000"
DEBUG SMTP: Found extension "VRFY", arg ""
DEBUG SMTP: Found extension "ETRN", arg ""
DEBUG SMTP: Found extension "STARTTLS", arg ""
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: use8bit false
MAIL FROM:<angelikamorgan@gmx.de>
250 Ok
RCPT TO:<angelikamorgan@gmx.de>
554 <angelikamorgan@gmx.de>: Relay access denied
DEBUG SMTP: Invalid Addresses
DEBUG SMTP:   [email]angelikamorgan@gmx.de[/email]
DEBUG SMTP: Sending failed because of invalid destination addresses
RSET
250 Ok
javax.mail.SendFailedException: Invalid Addresses;
  nested exception is:
	com.sun.mail.smtp.SMTPAddressFailedException: 554 <angelikamorgan@gmx.de>: Relay access denied

	at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1196)
	at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:584)
	at javax.mail.Transport.send0(Transport.java:169)
	at javax.mail.Transport.send(Transport.java:98)
	at de.angelika.Mail.main(Mail.java:78)
Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 554 <angelikamorgan@gmx.de>: Relay access denied

	at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1094)
	... 4 more
QUIT
221 Bye
 

HoaX

Top Contributor
debugausgabe hat gesagt.:
MAIL FROM:<angelikamorgan@gmx.de>

darum. du musst deine uni-adresse als absender nehmen. relaying ist auf eigentlich jedem email-server abgeschalten. sonst könntest du ja auch "Bill Clinton" als absender reinschreiben wenn du mit der moni n kaffee trinken gehen wollen würdest.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D JavaMail - Mailsabrufen Problem (imap) Netzwerkprogrammierung 12
D JavaMail Kontaktformular Umlaute Problem Netzwerkprogrammierung 2
R Problem beim Senden von Emails (Javamail) Netzwerkprogrammierung 2
J JavaMail-Problem Netzwerkprogrammierung 5
G JavaMail und Session/Message Problem Netzwerkprogrammierung 2
V JavaMail API Problem Netzwerkprogrammierung 10
T Javamail with authentication Netzwerkprogrammierung 9
D JavaMail: HTML Code einer Mail Netzwerkprogrammierung 9
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
R JavaMail: Wie bekommt man rückgabecodes vom Server? Netzwerkprogrammierung 3
F Mehrere Attachments mit JavaMail API Netzwerkprogrammierung 2
H HTML-Mails mit JavaMail API Netzwerkprogrammierung 3
G JavaMail subFolders Netzwerkprogrammierung 6
S Voreinstellungen für JavaMail Netzwerkprogrammierung 2
conan2 JavaMail Netzwerkprogrammierung 10
J JavaMail Exception bei senden an anderen Server. Netzwerkprogrammierung 8
G Fragen/Probleme mit JavaMail 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
P mit javamail gmx postfach prüfen Netzwerkprogrammierung 8
T Mit JavaMail API Faxe versenden? Netzwerkprogrammierung 5
I Socket Problem mit den WebSocket Antworten der Discord API Netzwerkprogrammierung 0
K Java Websocketserver Problem | Android to Pi Netzwerkprogrammierung 1
C RMI Produzent-Verbraucher-Problem - Code review Netzwerkprogrammierung 12
B Socket Bilder verschicken via Sockets. Heap-Problem. Netzwerkprogrammierung 2
S Problem bei dem Bluetoothverbindungsaufbau Netzwerkprogrammierung 2
G Server-Client IO Problem Netzwerkprogrammierung 6
M Netty - TCP Problem Netzwerkprogrammierung 4
L Socket Problem mit Server Netzwerkprogrammierung 1
J Chat Server starten über GUI problem Netzwerkprogrammierung 4
M Problem bei Socket (MultiplayerSpiel) Netzwerkprogrammierung 4
M Socket CDI, Websocket reference Problem ! Netzwerkprogrammierung 2
Shams Problem mit Eventbus in Verbindung mit Server Netzwerkprogrammierung 0
G apache httpClient Problem. Netzwerkprogrammierung 5
H Problem mit ObjectStreams Netzwerkprogrammierung 3
A Problem beim Senden von Client zu Server Netzwerkprogrammierung 10
D Socket BufferedWriter/Reader Problem Netzwerkprogrammierung 1
Maxim6394 Problem mit Socks5 Implementierung Netzwerkprogrammierung 0
C Handle Connection Problem Netzwerkprogrammierung 3
E HttpUrlConnection Cookie Problem Netzwerkprogrammierung 0
X Problem mit vielen Bytes über Socket Netzwerkprogrammierung 23
O 4Gewinnt Multiplayer - Netzwerk Problem (TCP) Netzwerkprogrammierung 1
A Socket Socket-Problem - Object wird nicht übertragen Netzwerkprogrammierung 3
R Problem beim Programmieren eines Chatprogramms Netzwerkprogrammierung 5
E einfaches Problem: Session-Handling bei Servlets Netzwerkprogrammierung 5
G Problem mit einem FileWatcher Netzwerkprogrammierung 7
T Socket Server starten Thread Problem Netzwerkprogrammierung 12
B Client/Server Connection Problem Netzwerkprogrammierung 2
G Problem mit STATIC-Verständnis Netzwerkprogrammierung 8
S Umstellung AS400 auf Postgre - Problem beim Arbeiten mit Metadaten Netzwerkprogrammierung 2
J Facelets Include Rendered Problem Netzwerkprogrammierung 2
J Socket Problem mit C++/Java Netzwerkprogrammierung 20
P Problem mit Datagram-Sockets Netzwerkprogrammierung 2
G Socket NIO2 Problem mit AsynchronousSocketChannel beim Schließen Netzwerkprogrammierung 3
G Cookie Verwaltungs Problem nach Login auf InetSeite (Wo utma-Cookie?) Netzwerkprogrammierung 18
C Socket Problem mit ObjectInput/OutputSream Netzwerkprogrammierung 7
B Socket Problem mit Netzwerkchat Netzwerkprogrammierung 21
D RMI Problem beim shutdown von verteilter CORBA-Anwendung Netzwerkprogrammierung 6
Maxim6394 ipv6 Problem Netzwerkprogrammierung 2
Maxim6394 Proxyserver Performance Problem Netzwerkprogrammierung 11
M Problem Client - Server Sockets: .ready() wird nie true! Netzwerkprogrammierung 6
C Socket Problem mit ObjectInput/OutputSream Netzwerkprogrammierung 5
B RMI und Problem mit rmic-Tool Netzwerkprogrammierung 3
C FTP storeFileStream Problem Netzwerkprogrammierung 3
N Problem über http eine Datei zu senden Netzwerkprogrammierung 4
J HTTP Übersetzung yahoo babelfish - Zeichensatz-Problem Netzwerkprogrammierung 6
D Apache CXF, JAX-WS Problem bei Arrays - einfacher Server Netzwerkprogrammierung 2
M Problem beim Datenempfang Netzwerkprogrammierung 2
X Problem mit Server-Client-Kommunikation Netzwerkprogrammierung 14
M Problem mit Socket-Verbindung Netzwerkprogrammierung 2
N NIO Problem beim speziellen Behandeln von einzelnen Benutzern Netzwerkprogrammierung 13
D Thread problem Netzwerkprogrammierung 3
T Servlets JSP: Tomcat Problem Netzwerkprogrammierung 4
K Client - Server Problem Netzwerkprogrammierung 16
T RMI Problem Client-Server Netzwerkprogrammierung 2
P RMI Stub Problem Netzwerkprogrammierung 3
D Socket UDP Übertragungs Problem Netzwerkprogrammierung 7
I HTTP Post aus html in Java einlesen - Problem Netzwerkprogrammierung 2
I HTTP Post aus html in Java einlesen - Problem Netzwerkprogrammierung 6
D Problem mit ObjectInputStreams Netzwerkprogrammierung 10
D Socket Problem mit InputStreamReader Netzwerkprogrammierung 3
N CRC32 CheckSum Problem bei UDP Netzwerkprogrammierung 2
V Java Mail Api - IMAP Problem Netzwerkprogrammierung 6
P RMI Problem Netzwerkprogrammierung 4
I Problem bei Outputstreamerzeugung in anderer Klasse als Socket Netzwerkprogrammierung 5
S Socket Problem mit Objektübertragung Netzwerkprogrammierung 16
Shoox Reader / Writer Problem Netzwerkprogrammierung 2
S Problem mit 2 Serversockets unter Win XP Netzwerkprogrammierung 7
P Socket Problem mit Netzwerkverbindung über TCP Netzwerkprogrammierung 12
M RMI - Connection Problem Netzwerkprogrammierung 7
J Socket Client - Server Problem Netzwerkprogrammierung 4
M Socket Chat-Client-Problem Netzwerkprogrammierung 8
D Client Server Problem, Methode readline() löst SocketException "Connection reset" aus Netzwerkprogrammierung 8
E HTTP Problem beim Auslesen von Websiten Netzwerkprogrammierung 6
T Problem bei Findung der richtigen Architektur Netzwerkprogrammierung 3
AlexSpritze Authentication Problem bei WebServices Netzwerkprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben