Hi,
ich habe eine Funktion, welche eine Mail verschickt. Die Empfängerandresse ('String sMail') und eine Nummer ('String anfrageNr') werden in diese Funkton übergeben und hier eingesetzt. Der Funktionsaufruf passiert in einer anderen Funktion in einem Iterator. Hierbei werden die Key/Value-Paare aus einer HashMap (Nummer/Empfängeradresse) ausgelesen und eingesetzt.
Hier erstmal die Funktion zum Mail senden:
Und hier der Aufruf der Funktion an anderer Stelle:
Wenn ich diese Funktion ganz für sich ausführe, natürlich die Eingabestrings entsprechend definiert, funktioniert das einwandfrei. Doch wenn ich diese Funktion aus der aufrufenden Funktion ausführen will, bekomme ich folgende Fehlermeldung:
"javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25"!!!
Das ist mir völlig unverständlich, warum dieser Fehler auftritt, zumal die Funktion alleine ohne Probleme Mails versendet. :?: ???:L
Ich habe schon drangedacht, dass der Iterator vielleicht schneller durchlaufen könnte, als die Connection mit dem Mailserver zustande kommt, aber ein Testszenario mit einem Test-Iterator und meiner Mailfunktion hat problemlos geklappt!
Was könnte das für Ursachen haben? Wieso will/kann auf einmal nicht mit dem SMTP verbunden werden?
Danke und Gruß
ich habe eine Funktion, welche eine Mail verschickt. Die Empfängerandresse ('String sMail') und eine Nummer ('String anfrageNr') werden in diese Funkton übergeben und hier eingesetzt. Der Funktionsaufruf passiert in einer anderen Funktion in einem Iterator. Hierbei werden die Key/Value-Paare aus einer HashMap (Nummer/Empfängeradresse) ausgelesen und eingesetzt.
Hier erstmal die Funktion zum Mail senden:
Code:
private static void sendMailAnfragen(String anfrageNr, String sMail){
try{
String host = "10.0.0.1";
String port = "25";
String username = "geheim";
String password = "geheim";
System.out.println("BestätigungsMail an " + sMail + " Nummer = " +anfrageNr);
Date date = new Date();
DateFormat dateformat;
dateformat = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.MEDIUM); // bspw.: Dienstag, 25.September 2008 15:45:00
String datum = new SimpleDateFormat("dd.MM.yyyy").format( new java.util.Date() ); //bspw.: 25.09.2008
String subject = "Eingang Ihrer Anfrage vom " + datum;
String message = "Ihre Anfrage ist bei uns am " + dateformat.format(date) + " eingegangen und wird unter der Anfragenummer " + anfrageNr + " bearbeitet. \n";
// Get system properties
//Properties props = System.getProperties();
Properties props = new Properties();
//Mail-Server properties: Session verlangt die Informationen über Host, User, Passwd etc.
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", port);
props.put("mail.smtp.auth", "true");
// Initialisierung der Auth-Klasse zur Mail-Account-Authentisierung; in Session benutzt
myAuthenticator auth = new myAuthenticator(username, password);
// Session: steht für die Verbindung mit dem Mail-Server
Session session = Session.getDefaultInstance(props, auth);
//Gibt in der Console Debug-Meldungen zum Verlauf aus
session.setDebug( false );
// neue Message initialisieren
Message msg = new MimeMessage( session );
// Absender der Bestätigungsmail
InternetAddress addressFrom = new InternetAddress("test@test.de");
msg.setFrom( addressFrom );
// Empfänger der Bestätigungsmail --> hier sMail einsetzen
InternetAddress addressTo = new InternetAddress( sMail );
// Mailinhalte festlegen
msg.setRecipient(Message.RecipientType.TO, addressTo);
msg.setSubject( subject );
msg.setContent( message, "text/plain" );
// Mail senden
Transport.send( msg );
System.out.println( "Die Mail wurde am " + dateformat.format(date) + " an " + sMail + " versendet." );
}catch(Exception err){
err.printStackTrace();
}
}
Code:
Set set = map.entrySet();
Iterator it = set.iterator();
while( it.hasNext() )
{
Entry entry = (Entry) it.next();
sendMailAnfragen( entry.getKey().toString(), entry.getValue().toString() );
System.out.println( "Nummer: " + entry.getKey().toString() + ", Mail: " + entry.getValue().toString() );
}
Wenn ich diese Funktion ganz für sich ausführe, natürlich die Eingabestrings entsprechend definiert, funktioniert das einwandfrei. Doch wenn ich diese Funktion aus der aufrufenden Funktion ausführen will, bekomme ich folgende Fehlermeldung:
"javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25"!!!
Das ist mir völlig unverständlich, warum dieser Fehler auftritt, zumal die Funktion alleine ohne Probleme Mails versendet. :?: ???:L
Ich habe schon drangedacht, dass der Iterator vielleicht schneller durchlaufen könnte, als die Connection mit dem Mailserver zustande kommt, aber ein Testszenario mit einem Test-Iterator und meiner Mailfunktion hat problemlos geklappt!
Was könnte das für Ursachen haben? Wieso will/kann auf einmal nicht mit dem SMTP verbunden werden?
Danke und Gruß