[GastForen Programmierung/Entwicklung PHP und MySQL Datei auf Server laden und dann per E-Mail verschicken

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Datei auf Server laden und dann per E-Mail verschicken

flobaer
Beiträge gesamt: 317

25. Okt 2006, 11:20
Beitrag # 1 von 7
Bewertung:
(1589 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich verzweifle hier gerade weil ich den Fehler nicht finde. Ich habe ein Script, dass erst eine Datei aus einem Formular auf den Server speichert:
Code
if(!empty($DateiAnhang_1_name)) 
{
if(copy($DateiAnhang_1,$datei_pfad.$DateiAnhang_1_name))
{
echo("Die Datei $DateiAnhang_1_name wurde hochgeladen.");
$temp1="$DateiAnhang_1_name";
}
else echo("Datei wurde nicht hochgeladen!");
}
else echo("Dateiname ist leer!");


Das funktioniert auch. Dann soll eine E-Mail generiert werden, bei der die eben gespeicherte Datei als Anhang verschickt wird. Dazu verwende ich folgenden Code:
Code
$ausgabe_datei_1 = $datei_pfad.$temp1; 
$Dateiinhalt1 = fread(fopen($ausgabe_datei_1, "r"), filesize($ausgabe_datei_1));
$Header_Appel .= "--$Trenner";
$Header_Appel .= "\n";
$Header_Appel .= "Content-Type: ".filetype($ausgabe_datei_1)."; name=\"".$DateiAnhang_1_name."\"";
$Header_Appel .= "\nContent-Transfer-Encoding: base64 ";
$Header_Appel .= "\nContent-Disposition: attachment; filename=\"".$DateiAnhang_1_name."\"";
$Header_Appel .= "\n\n";
$Header_Appel .= chunk_split(base64_encode($Dateiinhalt1));


Leider wird die Datei aber nicht als Anhang verschickt, sondern in den Mailtext geschrieben. Gerade bei PDF Dateien ist das aber wenig sinnvoll :-(((

Hat jemand eine Idee woran das liegen kann?

Vielen Dank
Florian
X

Datei auf Server laden und dann per E-Mail verschicken

ganesh
Beiträge gesamt: 1981

25. Okt 2006, 11:32
Beitrag # 2 von 7
Beitrag ID: #258427
Bewertung:
(1581 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wie lautet $Trenner ?


als Antwort auf: [#258423]

Datei auf Server laden und dann per E-Mail verschicken

ganesh
Beiträge gesamt: 1981

25. Okt 2006, 11:35
Beitrag # 3 von 7
Beitrag ID: #258428
Bewertung:
(1578 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
siehe auch hier:
http://www.zend.com/...lpart4.php#Heading17
(ausführliches Tutorial)

Ich ziehe für solche Sachen fertige Klassen vor. Empfehlenswert ist z.B. Swift:
http://www.swiftmailer.org/
Beispiel mit Attachment senden:
http://www.swiftmailer.org/...utorials/attachments


als Antwort auf: [#258423]

Datei auf Server laden und dann per E-Mail verschicken

flobaer
Beiträge gesamt: 317

25. Okt 2006, 11:40
Beitrag # 4 von 7
Beitrag ID: #258430
Bewertung:
(1574 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Code
$Trenner = md5(uniqid(time())); 



als Antwort auf: [#258427]

Datei auf Server laden und dann per E-Mail verschicken

ganesh
Beiträge gesamt: 1981

25. Okt 2006, 11:45
Beitrag # 5 von 7
Beitrag ID: #258433
Bewertung:
(1569 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Furthermore, notice that each boundary marker starts with two hyphens, with the last boundary marker starting and ending in two hyphens. The last boundary marker (defining the end of the MIME e-mail) must start and stop with two hyphens.

aus: http://www.zend.com/...ndmimeemailpart1.php

Vermutlich ist das dein Fehler. Ist dein letzter Trenner irgendein String mit -- am Anfang und -- am Ende?


als Antwort auf: [#258430]

Datei auf Server laden und dann per E-Mail verschicken

flobaer
Beiträge gesamt: 317

25. Okt 2006, 11:48
Beitrag # 6 von 7
Beitrag ID: #258434
Bewertung:
(1565 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja, es gibt insgesamt fünf mögliche Anhänge. Anschließend wird auf jedenfall folgendes angehängt:
Code
$Header_Appel .= "\n--$Trenner--"; 



als Antwort auf: [#258433]

Datei auf Server laden und dann per E-Mail verschicken

flobaer
Beiträge gesamt: 317

25. Okt 2006, 13:24
Beitrag # 7 von 7
Beitrag ID: #258470
Bewertung:
(1545 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
OK, ich hab den Fehler gefunden. Ich hatte an anderer Stelle vorher schon einen Trenner drin. Manchmal sind es eben die kleinen Dinge...

Danke trotzdem


als Antwort auf: [#258434]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
05.02.2021 - 05.11.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 05. Feb. 2021, 13.00 Uhr - Freitag, 05. Nov. 2021, 17.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PM

Veranstaltungen
05.03.2021 - 30.04.2021

Digicomp Academy AG, Zürich oder virtuell
Freitag, 05. März 2021, 13.00 Uhr - Freitag, 30. Apr. 2021, 17.00 Uhr

Lehrgang

Im berufsbegleitenden Web Publisher Lehrgang vertiefen Sie Ihr Wissen rund um das Thema Screendesign und die Umsetzung von Websites. Wir befähigen Sie dazu selbständig und professionell Ihren Webauftritt zu planen und in die Realität umzusetzen.

Preis: CHF 3'250.–
Dauer: 8.5 Tage - Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt.

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PWEB