Hi leutz,
ich habe mal wieder ein kleines Problem.
Ich habe eine Klasse zum Mail verschicken geschrieben:
Wenn ich diese Klasse benutze gehts sie auch. Aber nur wenn ich Mails an einen virtuellen Server schicke oder an einen E-Mail account von meiner HP. Allerdings bekomme ich wenn ich an AOL, WEB.de, Yahoo Accounts u.s.w schicke bekomme ich folgende Fehlermeldung:
Ich wäre euch sehr dankbar wenn ihr mir wie immer helfen könntet,
Der Programmierer
ich habe mal wieder ein kleines Problem.
Ich habe eine Klasse zum Mail verschicken geschrieben:
Code:
class MailConnection {
// Definieren von globalen Variabeln, die in allen Unterklassen und // Methoden benutzt werden können
MimeMessage nachricht;
Session mailSitzung;
Store store;
/* Konstruktor für die Hauptklasse, der die Parameter für die Verbindung erwartet und eventuelle Fehler ignoriert
Parameter:
- host: Die Adresse, unter der die eMails abgerufen werden können (z.B. imap.web.de)
- typ: Der Typ des eMail-Servers, z.B. imap oder pop3
- benutzername: Der Name des Benutzers, dessen Postfach geöffnet werden soll
- passwort: ... und dessen Passwort
*/
MailConnection(String host,String typ,String benutzername,String passwort) throws Exception {
/* Im Hauptkonstruktor werden wichtige Klassen instanziert, um bei häufiger Verwendung der Funktionen etwas Speicher zu sparen. */
// Standarteinstellungen vom System übernehmen
Properties einstellungen = System.getProperties();
// Den Host selbst einstellen
einstellungen.put("mail.smtp.host",host);
// Eine Mailsitzung aus den Einstellungen des Systems // erstellen
mailSitzung = Session.getDefaultInstance(einstellungen, null);
// Die Store-Klasse erstellen, über die mit dem Account // verbunden wird
store = mailSitzung.getStore(typ);
// Verbinden
store.connect(host,benutzername,passwort);
}
// Methode von MailConnection, die für das Versenden der Mails
// verantwortlich ist
void senden (String von,String zu,String cc,String bcc,String betreff,String inhalt) throws Exception {
// Nachrichtenklasse erstellen
MimeMessage nachricht = new MimeMessage(mailSitzung);
// Den Namen des Absenders setzen
nachricht.setFrom(new InternetAddress(von));
// CC und BCC setzen, wenn der dafür übergebene Parameter // nicht null, also nichts, ist
if(cc.length() != 0)
nachricht.addRecipient(Message.RecipientType.CC,new InternetAddress(cc));
if(bcc.length() != 0)
nachricht.addRecipient(Message.RecipientType.BCC,new InternetAddress(bcc));
// Den Namen des Empfänger setzen
nachricht.addRecipient(Message.RecipientType.TO,new InternetAddress(zu));
// Die Betreffzeile setzen
nachricht.setSubject(betreff);
// Den Inhalt, also die Nachricht, setzen
nachricht.setText(inhalt);
// ... Und schließlich abschicken
Transport.send(nachricht);
}
// Methode, die für das Empfangen der Mails verantwortlich ist
Message[] abholen (String ordner) throws Exception {
// Den Ordnerinhalt auslesen und öffnen
Folder mailOrdner = store.getFolder(ordner);
mailOrdner.open(Folder.READ_ONLY);
// Ein Nachrichtenarray erstellen und mit dem Ordnerinhalt // füllen
Message nachrichten[] = mailOrdner.getMessages();
// Den Ordner wieder schließen
mailOrdner.close(false);
// Das Array zurückliefern
return nachrichten;
}
}
Wenn ich diese Klasse benutze gehts sie auch. Aber nur wenn ich Mails an einen virtuellen Server schicke oder an einen E-Mail account von meiner HP. Allerdings bekomme ich wenn ich an AOL, WEB.de, Yahoo Accounts u.s.w schicke bekomme ich folgende Fehlermeldung:
javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
com.sun.mail.smtp.SMTPAddressFailedException: 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)
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 MailConnection.senden(MailConnection.java:75)
at desk.actionPerformed(desk.java:237)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:5501)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
at java.awt.Component.processEvent(Component.java:5266)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3968)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1778)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1047)
... 29 more
Ich wäre euch sehr dankbar wenn ihr mir wie immer helfen könntet,
Der Programmierer