Email versenden mehrere Zeilen

A

annie

Gast
Halllo zusammen,

ich habe folgt ein Code programmiert. Jetzt will ich aus einer Datei alles auslesen und den Inhalt in einer Email versenden.
Leider klappt dies nicht, er schreib mir immer nur die letzte Zeile in meine Email.... kann mir jemand helfen?

Grüße Annie

Java:
private static void sendMail(String order) throws NoSuchProviderException,
			MessagingException, AddressException, IOException {
		Properties props = new Properties();
		Session session = Session.getDefaultInstance(props);
		session.setDebug(false);
		Transport tr = session.getTransport(new URLName(TYPE, HOST, PORT, null, null, null));
//				USER, PASSWD));
		Message message = new MimeMessage(session);
		message.addRecipient(RecipientType.TO, new InternetAddress(RECIPIENT));
		message.addFrom(new InternetAddress[] { new InternetAddress(SENDER) });
		// subject
		message.setSubject("Bestellung: " + order);
		// the multipart
		BufferedReader br = new BufferedReader(new FileReader(new File("H:/i/r/txt/", order + ".txt")));
		String line;
		List<String> lines = new ArrayList<String>();
                MimeMultipart multiPart = new MimeMultipart("mixed");
                MimeBodyPart bodypart = new MimeBodyPart();   
                while ((line = br.readLine()) != null) {
        	bodypart.setContent(line, "text/plain");
        	multiPart.addBodyPart(bodypart);
        }
		MimeBodyPart body3 = new MimeBodyPart();
		body3.attachFile(new File("H:/i/txt/", order + ".txt"));
		multiPart.addBodyPart(body3);
		// set the content to the multipart
		message.setContent(multiPart);
		// send
		tr.connect();
		tr.sendMessage(message, message.getAllRecipients());
		tr.close();
	}
 
S

SlaterB

Gast
du hast nur ein bodypart-Objekt und änderst darin immer den Content,
bestenfalls merkt MimeMultipart, dass du mehrmals denselben MimeBodyPart addest und zeigt diesen nur einmal, eben mit dem letzten Inhalt,
schlimmstenfalls steht diese Zeile mehrfach in der Email,

erstelle in jedem Schleifendurchlauf einen neuen MimeBodyPart
oder sammle eher die Zeilen vorher in einem String/StringBuilder und schreibe diesen komplett in einen MimeBodyPart
 
A

anniee

Gast
wenn ich das so mache, erstellt ihr "tausend" anlagen und jede Zeile ist eine neue Anlage ...

Java:
  while ((line = br.readLine()) != null) {
        	MimeBodyPart bodypart = new MimeBodyPart();
        	bodypart.setText(line);
        	multiPart.addBodyPart(bodypart);
        }
 
A

annie

Gast
jap habe ich;)....

das Problem nur ist das ich nicht einfach alles in ein String packen kann, weil Formatierungen eingehalten werden müssen, also neue Zeile usw. die in der Textdatei vorhanden sind.

Ein Stringbuilder?!... ok. hab ich als erstes versucht aber nicht hinbekommen, habe nicht verstanden wie genau ich jetzt von meinem BuffedReader alles in den Stringbuilder packe.
 
S

SlaterB

Gast
Zeilenumbrüche solltest du gewiss hinzufügen, ansonsten gibts kaum keine Formatierungen in TXT oder in der Email,
jedenfalls nichts was hier eine Rolle spielen dürfte oder was meinst du noch?

an String zusammenfügen oder StringBuilder gibt es nichts zu wissen
String st = ..
st += ..

StrinbBuilder b = ..;
b.append(..)

StringBuilder ist nur schneller und sparsamer, gerade bei tausenden Zeilen,
siehe auch Beispiele im Internet, Stringbuilder + BuffedReader kann man bestimmt zusammen suchen,
am Ende kommt das gleiche raus
 
A

annie

Gast
danke dir erstmal, ich habs geschafft die Textdatei dort reinzubekommen,
ich finds nur komisch das keine Formatierung mitgenommen wir nix. Kann jetzt die TXT nicht nochmal formatieren.
 
A

annieee

Gast
die lösung ist nicht optimal, jetzt müsste ich mit substring usw, arbeiten.
Hättest du noch einen anderen vorschlag?
 
S

SlaterB

Gast
ich verstehe nicht
- um welche Formatierungen es geht
- was du mit substring meinst
- ergo was daran nicht optimal ist

zumal es zu dem Thema keine Varianten/ Vorschläge gibt,
du stellst einen String zusammen wie er in der Email stehen soll, der kommt in einen Multipart-Teil oder direkt in die Message und ist dann in der Email, fertig, da gibts nicht viel zu bedenken,

dass du im String selber Zeilenumbrüche, Tabs und wer weiß was alles einfügen kannst ist ein Thema für sich,
hat mit Email wenig zu tun, stellst du dazu eine Frage?
 
A

annie

Gast
Ich stelle mich sooooo dumm an, Tut mir leid. ich habs hinbekommen.

Java:
  while ((line = br.readLine()) != null) {
        	lines = lines + line;
        	lines = lines + newline;
        }
  bodypart.setText(lines);
  multiPart.addBodyPart(bodypart);
  MimeBodyPart body3 = new MimeBodyPart();
 
S

SlaterB

Gast
und jetzt könnte man noch optimieren,
bei tausenden Zeilen erstellst du 2x tausende Strings in deiner Schleife,
immer nur append() in einem StringBuilder aufrufen wäre günstiger

kann jetzt schon vielleicht 0.x sec ausmachen, aber wenn es läuft ist es auch nicht brennend wichtig
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Email versenden Allgemeine Java-Themen 1
P "Email" versenden mit Anhang Allgemeine Java-Themen 5
foobar Email mit Standard Mailclient versenden Allgemeine Java-Themen 12
D Email an mehrer Absender versenden Allgemeine Java-Themen 3
K Email mit Anhang über mailto:. versenden Allgemeine Java-Themen 11
S java mail API, email versenden Allgemeine Java-Themen 8
L Input/Output Email mit großer Pdf Anhang auslesen? Allgemeine Java-Themen 3
javaBoon86 Email Server Connection Problem Allgemeine Java-Themen 1
TimEtech Email senden - web.de ; Fehlercode Allgemeine Java-Themen 2
OnDemand Java Email Templates Allgemeine Java-Themen 2
T @Email Allgemeine Java-Themen 42
B Java Mail: Prüfen, ob Email hat ein Anhang oder nicht Allgemeine Java-Themen 2
B Java Mail: Unterscheidung bei Attachments und eingefügte Bilder in Email Allgemeine Java-Themen 18
V EMail, Attachments auslesen von einer Email Allgemeine Java-Themen 0
B Bei Email: FW / AW... - Hilfe bei String suche Allgemeine Java-Themen 21
S Validation Null aber nicht Blank und muss Email sein Allgemeine Java-Themen 22
C Email Versand überprüfen Allgemeine Java-Themen 1
C Email mit public-key verschlüsseln Allgemeine Java-Themen 0
D Best Practice Gesamten Bildschirminhalt auslesen und Email schicken sobald kein Pixel sich ändert Allgemeine Java-Themen 11
M Email-Versand Java+Outlook Allgemeine Java-Themen 8
F JavaMail - Lokale eMail-Datei einlesen und parsen? Allgemeine Java-Themen 9
A Email-Programm aus Applet öffnen Allgemeine Java-Themen 4
H RegEX und eMail Allgemeine Java-Themen 4
Developer_X Email per Java senden Allgemeine Java-Themen 81
D Email versand bei einem festgelegten Datum Allgemeine Java-Themen 11
C automatische email nach 6 tagen! Allgemeine Java-Themen 14
M Email - Informationen auslesen Allgemeine Java-Themen 3
N EMail-Versandt mit Java 6: komplexer Body Allgemeine Java-Themen 4
M kennt jemand nen gute email client in java mit imap? Allgemeine Java-Themen 3
L javaformular auf website (eingabe per email zusenden) Allgemeine Java-Themen 3
L Java & Excel & EMail Allgemeine Java-Themen 2
L Ping Probe auf hinteren Teil einer Email Adresse (nach @) Allgemeine Java-Themen 5
G EMail Client Allgemeine Java-Themen 7
S eMail Dienst mit Java Allgemeine Java-Themen 3
A Regulärer Ausdruck EMail-Prüfung Allgemeine Java-Themen 3
S standard-email-programm öffnen Allgemeine Java-Themen 4
d.lumpi JDA eclipse dateien versenden Allgemeine Java-Themen 4
R Compiler-Fehler Bild per E-Mail versenden Allgemeine Java-Themen 3
T Automatisch Mails versenden Allgemeine Java-Themen 4
X Mail versenden mit java.mail Allgemeine Java-Themen 14
KaffeeFan EMails versenden in Java Allgemeine Java-Themen 18
P MimeMessage SMS versenden Allgemeine Java-Themen 0
C SMS versenden Allgemeine Java-Themen 7
B Per BatchScript Mail versenden Allgemeine Java-Themen 27
C .hex Datei über RS232 versenden Allgemeine Java-Themen 3
G E-Mail versenden Allgemeine Java-Themen 6
G E-Mails versenden Allgemeine Java-Themen 12
D Mit Java Daten aus Access holen und als VCard versenden Allgemeine Java-Themen 3
B Image(png) versenden Allgemeine Java-Themen 3
T ObjectOutputStream => Socket versenden Allgemeine Java-Themen 2
T Automatische Emails versenden mit Java? Allgemeine Java-Themen 5
P Streams per Mail mit JavaMailAPI versenden Allgemeine Java-Themen 3
I Mehrere Klassen mit den selben Daten Allgemeine Java-Themen 5
berserkerdq2 Ist es schlechter Programmierstyle mehrere Panes aufeinander zu machen? Allgemeine Java-Themen 1
Tarrew OpenAPI Schnittstelle - Mehrere Kunden mit unterschiedlichen Zugriffsrechten Allgemeine Java-Themen 2
A Mehrere for-Schleifen Allgemeine Java-Themen 2
M Mehrere Sounds Allgemeine Java-Themen 3
M Mehrere Ressourcen in einem package ablegen Allgemeine Java-Themen 1
Avalon DTO aus mehrere Entitäten erstellen Allgemeine Java-Themen 5
H Mehrere PNG-Files in einer Datei Allgemeine Java-Themen 9
H Mehrere Datentypen in einer Arraylist speichern Allgemeine Java-Themen 9
Curtis_MC Collections Liste anhand mehrere Kriterien sortieren Allgemeine Java-Themen 6
bueseb84 Git : Mehrere Server verwenden Allgemeine Java-Themen 3
L Mehrere .Jar Files aufrufen Allgemeine Java-Themen 9
L mehrere Methoden Allgemeine Java-Themen 19
W Variablenübergabe über mehrere Klassen Allgemeine Java-Themen 4
B StAX Parser - mehrere Methoden, ein XML Allgemeine Java-Themen 4
T String mehrere Worte Allgemeine Java-Themen 2
N Bei Mouse Events nicht mehrere Objekte erstellen Allgemeine Java-Themen 13
J Variablen Mehrere int-variablen in txt abspeichern und danach wieder auslesen Allgemeine Java-Themen 1
S JTable - mehrere ausgewählte Rows in ArrayList Allgemeine Java-Themen 5
H Java FX 2 Fragen um Programm in mehrere sprachen zu übersetzen in Gluon Framwork Allgemeine Java-Themen 3
F Listen - Mehrere Objekte Allgemeine Java-Themen 1
R Variable durch mehrere Methoden ändern und nutzen Allgemeine Java-Themen 17
S libGDX mehrere Texturen zu Einer zusammenfassen Allgemeine Java-Themen 0
X Mehrere booleans in Datei Speichern, Updaten und Laden Allgemeine Java-Themen 1
OnDemand CSV parsen mehrere Zeilen Allgemeine Java-Themen 22
K Mehrere Programmiersprachen gleichzeitig lernen Allgemeine Java-Themen 3
C Mehrere Seiten drucken in Hoch- und Querformat Allgemeine Java-Themen 0
perlenfischer1984 Mehrere Komponenten erstellen Allgemeine Java-Themen 3
F AWT Mehrere Tastatureingaben verarbeiten Allgemeine Java-Themen 5
J Mehrere Wörter getrennt in eine Array einlesen, wie ? Allgemeine Java-Themen 7
HarleyDavidson Best Practice Integer-Zahlenfolge über mehrere Programmstarts Allgemeine Java-Themen 7
F Mehrere JTables' drucken Allgemeine Java-Themen 0
2 mehrere Json Werte Parsen Allgemeine Java-Themen 3
stylegangsta Mehrere html seiten einer Homepage einlesen und als Textdatei ausgeben Allgemeine Java-Themen 14
P Mehrere Java Versionen auf dem Rechner Allgemeine Java-Themen 3
B JAVA - mehrere Clienten gleichzeitig starten. Nicht bei Code! Allgemeine Java-Themen 3
S PrintWriter.println() schreibt mehrere Zeilen Allgemeine Java-Themen 19
2 Mehrere Uhrzeiten Sortieren Allgemeine Java-Themen 2
T Jsoup: Mehrere Links nacheinander parsen Allgemeine Java-Themen 11
T Schlüsselworte mehrere public-Klassen in einem Paket Allgemeine Java-Themen 7
E Lesen von mehrere Csv-Datei und ihre Inhalte vergleichen Allgemeine Java-Themen 3
K GUI-Entwicklung - Dispose, enabling und mehrere Controller Allgemeine Java-Themen 1
M Eclipse Mehrere Threads, mehrere Konsolen Allgemeine Java-Themen 4
A Threads Lock über mehrere Abschnitte in verschiedenen Methoden Allgemeine Java-Themen 5
H Mehrere Bilder aus einer Datei lesen Allgemeine Java-Themen 2
B Mehrere Objekte verschlüsselt serialisieren Allgemeine Java-Themen 6
S Tool um mehrere Klassen in einer Klasse vereinen? Allgemeine Java-Themen 6
K Mehrere Arrays auf einmal erstellen Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben