[GastForen Programmierung/Entwicklung PHP und MySQL File und Adresse per Mail senden

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

File und Adresse per Mail senden

fotoblitz
Beiträge gesamt: 20

28. Apr 2007, 06:43
Beitrag # 1 von 5
Bewertung:
(54547 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich habe hier ein Scribt hochgeladen , mit welchem ein File und Angaben über den Benutzer direkt per Mail übermittelt werden können.
Ihr müsst einfach noch ein Formular gestallten und die Variablen am richtigen Ort plazieren. Falls Ihr Fragen habt einfach melden.

Vielleicht hilft es ja dem einen oder anderen.

Das ganze in Aktion könnt ihr auf http://www.fotoblitz.ch sehen (Digitalfotolabor für schnelle Fotos)





Code
<?php 
// Variablen für die Mails
$to = "deine@email.ch";
$from = $_POST['mail'];
$max_byte_size = 4097152;
$allowed_types = "(jpg|jpeg|gif|bmp|png|doc|ppt|psd|pdf)";
$stk=$_POST['stk'];
$art=$_POST['nr'];
$wohn=$_POST['ort'];
$adresse=$_POST['adi'];
$user_neu=$_POST['user'];
$bemer=$_POST['bem'];
$subject = "Bestellung $stk Stück $art";
$message = "$stk Stück Artikel Nummer: $art \n\n$user_neu \n$adresse \n$wohn \n$from \n\nBemerkungen: $bemer" ;
$best= "Hier kannst du deine Antwort für dei Besätigung einfügen";


//schauen ob im Feld Stückzahl was steht
$Fehler="N";
if ($stk =="") {
$Fehler ="Y";
}
if ($Fehler=="N") {

//schauen ob im Feld Email was steht
$Fehler="N";
if ($from =="") {
$Fehler ="Y";
}
if ($Fehler=="N") {

//schauen ob im Feld Ort was steht
$Fehler="N";
if ($wohn =="") {
$Fehler ="Y";
}
if ($Fehler=="N") {

//schauen ob im Feld Adresse was steht
$Fehler="N";
if ($adresse =="") {
$Fehler ="Y";
}
if ($Fehler=="N") {

//schauen ob im Feld Name was steht
$Fehler="N";
if ($user_neu =="") {
$Fehler ="Y";
}
if ($Fehler=="N") {



// File Upload Variabeln
$fileatt = $_FILES['fileatt']['tmp_name'];
$fileatt_type = $_FILES['fileatt']['type'];
$fileatt_name = $_FILES['fileatt']['name'];

$headers = "From: $from";
$kopf = "From: $to";

// Wurde wirklich eine Datei hochgeladen?
if(is_uploaded_file($_FILES["fileatt"]["tmp_name"])) {

// Gültige Endung? ($ = Am Ende des Dateinamens) (/i = Groß- Kleinschreibung nicht berücksichtigen)
if(preg_match("/\." . $allowed_types . "$/i", $_FILES["fileatt"]["name"])) {

// Datei auch nicht zu groß
if($_FILES["fileatt"]["size"] <= $max_byte_size) {

if (is_uploaded_file($fileatt)) {
// Schaut ob es ein zugelassenes File ist
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);

// Generiert einen String
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

// Anhang
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";

// Damit es als Mailanhang klappt
$message = "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$message . "\n\n";

// Base64 Entcodierung
$data = chunk_split(base64_encode($data));

// Zum Mail hinzufügen
$message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
//"Content-Disposition: attachment;\n" .
//" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n";
}

// Mails senden (eine Bestätigung an den Absender)
mail($from, $subject, $best, $kopf);
$ok = @mail($to, $subject, $message, $headers);
if ($ok) {
header("location: ok.php");
} else {
header("location: fehler.php");
}

}
else {
mail($to, "Fehler bei der Eingabe", "Datei zu gross $from", $kopf);
header("location: zugross.php");
}

}
else {
mail($to, "Fehler bei der Eingabe", "Falsche Datei $from", $kopf);
header("location: keinbild.php");
}

}
else {
mail($to, "Fehler bei der Eingabe", "keine Datei $from", $kopf);
header("location: bild.php");
}

}
else {
mail($to, "Fehler bei der Eingabe", "kein Name $from", $kopf);
header("location: namen.php");
}

}
else {
mail($to, "Fehler bei der Eingabe", "keine Adresse $from", $kopf);
header("location: adresse.php");
}

}
else {
mail($to, "Fehler bei der Eingabe", "keine Wohnort $from", $kopf);
header("location: wohnort.php");
}

}
else {
mail($to, "Fehler bei der Eingabe", "keine Email $from", $kopf);
header("location: email.php");
}

}
else {
mail($to, "Fehler bei der Eingabe", "keine Menge $from", $kopf);
header("location: menge.php");
}
?>

X

File und Adresse per Mail senden

Intermedia
Beiträge gesamt: 1287

28. Apr 2007, 11:23
Beitrag # 2 von 5
Beitrag ID: #288996
Bewertung:
(54508 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

das ist zwar nett gemeint aber mir viel zu aufwendig für jedes Feedback eine eigene Datei zu erstellen und dann noch zig Mails bei Fehleingaben zu erhalten. Außerdem läd das Ding ja ein dich zuzuspammen.

Du solltest dir mal dringenst das hier durchlesen: http://www.hilfdirselbst.ch/...;;page=unread#unread

Gruß Sven


als Antwort auf: [#288984]

File und Adresse per Mail senden

ganesh
Beiträge gesamt: 1981

28. Apr 2007, 12:56
Beitrag # 3 von 5
Beitrag ID: #289008
Bewertung: |||
(54502 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja, das ist eine Spamschleuder allererster Güte. Man kann damit sogar Leute mit attachments zumüllen, ein Novum :)


als Antwort auf: [#288984]

File und Adresse per Mail senden

fotoblitz
Beiträge gesamt: 20

28. Apr 2007, 13:25
Beitrag # 4 von 5
Beitrag ID: #289014
Bewertung: |||||
(54497 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ ganesh ] Ja, das ist eine Spamschleuder allererster Güte. Man kann damit sogar Leute mit attachments zumüllen, ein Novum :)


Wenn das so ist, kannst du sicher das Scribt so umschreiben das es keine Spamschleuder mer ist oder?

Bin auf dein Können gespannt!!!!


als Antwort auf: [#289008]

File und Adresse per Mail senden

Intermedia
Beiträge gesamt: 1287

28. Apr 2007, 15:04
Beitrag # 5 von 5
Beitrag ID: #289022
Bewertung:
(54487 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ fotoblitz ] Wenn das so ist, kannst du sicher das Scribt so umschreiben das es keine Spamschleuder mer ist oder?

Bin auf dein Können gespannt!!!!


..... und ja, ich denke mal das er das schafft.......

Für den Beweis dafür kann ich das Jobforum wärmstens empfehlen.

Gruß Sven


als Antwort auf: [#289014]
X