Hallo zusammen, ich versuche gerade mit Java eine Email zu verschicken. Hab mir schon Beispielquelltext durchgelesen und auch in dem Forum mir die Beiträge angeschaut. Was mich aber immer noch mehr verwirrt hat.
Ich habe mir mal in Java ist auch eine Insel den Quellcode dazu durchgelesen und auch versucht ihn zu verstehen. Ich glaube es fehlt noch an der Authentifizierung. Ich poste mal den Quellcode mit meinen Kommentaren, so wie ich ihn verstanden hab, ich hoff mal, des passt soweit.
Und hier mal die Fehlermeldung
Ich hoffe ihr könnt damit was anfangen und mir sagen, wo ich ansetzen muss um des zum laufen zu bringen.
Ich habe mir mal in Java ist auch eine Insel den Quellcode dazu durchgelesen und auch versucht ihn zu verstehen. Ich glaube es fehlt noch an der Authentifizierung. Ich poste mal den Quellcode mit meinen Kommentaren, so wie ich ihn verstanden hab, ich hoff mal, des passt soweit.
Java:
package test;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
public class EmailVersand
{
public static void postMail( String recipient,
String subject,
String message, String from )
throws MessagingException
//spart mir die try and catch Klauseln im Quellcode
{
Properties props = new Properties();
//Klasse properties, speichert Strings, die später über das Schlüsselwort
// den 1. String ausgelesen werden können
props.put( "mail.smtp.host", "mx.freenet.de" );
//hier wird der mailserver über das Schlüsselwort mail.smtp.host gespeichert
//in meinem Fall dürfte es mx.freenet.de Quelle: [url=http://www.patshaping.de/hilfen_ta/pop3_smtp.htm]Liste mit POP3- und SMTP-Servern[/url]
Session session = Session.getDefaultInstance( props );
//eine neue Session wird eröffnet. In dem fall verbinden wir uns mit dem smtp server
//da nur ein Schlüssel im props liegt, wird der mail server mx.freenet.de verwendet
Message msg = new MimeMessage( session );
//wir senden eine message und zwar an unsere session, also an den smtp server
InternetAddress addressFrom = new InternetAddress( from );
//hier wird meine mail adresse gespeichert
msg.setFrom( addressFrom );
//hier wird der absender an die message gepackt
InternetAddress addressTo = new InternetAddress( recipient );
msg.setRecipient( Message.RecipientType.TO, addressTo );
//das gleiche spiel wie oben,nur mit dem empfänger
msg.setSubject( subject );
//hier packen wir die nachricht dran
msg.setContent( message, "text/plain" );
//den inhalt festlegen, bin aber nicht sicher,was genau
Transport.send( msg );
//die message msg wird an alle empfänger, die in der mail gespeichert sind
}
public static void main( String[] args ) throws Exception
{
postMail( "absendeAdresse@freenet.de",
"Tolles Buch",
"Wow. Das Buch ist schön zu lesen",
"empfängerAdresse@irgendwas");
}
}
Und hier mal die Fehlermeldung
Java:
Exception in thread "main" javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
com.sun.mail.smtp.SMTPAddressFailedException: 550 inconsistent or no DNS PTR record for 188.105.235.204 (see RFC 1912 2.1)
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1446)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:736)
at javax.mail.Transport.send0(Transport.java:191)
at javax.mail.Transport.send(Transport.java:120)
at test.EmailVersand.postMail(EmailVersand.java:35)
at test.EmailVersand.main(EmailVersand.java:41)
Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 550 inconsistent or no DNS PTR record for 188.105.235.204 (see RFC 1912 2.1)
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1297)
... 5 more
Ich hoffe ihr könnt damit was anfangen und mir sagen, wo ich ansetzen muss um des zum laufen zu bringen.