Connect failed: Connection timed out

[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:
(1737 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:
(1729 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:
(1726 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:
(1722 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:
(1717 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:
(1713 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:
(1693 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