email mit anhang -> anhang liegt online

starter/or_not

Grünschnabel
Hallo,
ich suche ein Skript um eine Mail mit einem Anhang zu schicken. Ich habe zwar einige gefunden, aber bei denen ist es immer so, dass man die Datei die man anhängt auch beim Formular mithochläd. Diese wird ja dann in eine tmp umgewandelt und dann codiert.
Bei mir müsste es aber so sein, dass er sich den Anhang vom Server gleich holt also z.B. die test.jpg vom absoluten Pfad
http://www.domain.de/img/test.jpg

Nur habe ich keine Ahnung wie man das nun hinbekommt, dass er das umcodiert und dann verschickt.
Wäre super, wenn mir jemand weiterhelfen könnte. :) .. Danke schon einmal ;)
 
poste mal bitte ein script von denen die du schon hast, dann können wir dir das entsprechend umschreiben.
 
Hi,

probiers mal so:

PHP:
$file = "/is/htdocs/.../datei.jpg";
$fd = fopen($file, "r");
$anhang = chunk_split(base64_encode(fread( $fd, filesize($file))));
fclose($fd);
$header = "MIME-Version: 1.0\nContent-Type: multipart/mixed; boundary=\"========123456789\"";
$content = "--========123456789\nContent-Type: text/plain; charset=\"us-ascii\"\nContent-Transfer-Encoding: 7bit\n\n\n".$content."\n--========123456789\nContent-Type: $file_type; name=$file_name\nContent-Transfer-Encoding: base64\nContent-Disposition: attachment; filename=\"$file_name\"\n\n".$anhang;
mail($recipient,$subject,$content,"From: $sender <$frommail>\n".$header);

Gruß
Dunsti
 
geht leider nicht :(

hallo,
also ich habe nun dein skript ausprobiert. und
als $file einmal den absoluten
$file = "/usr/home/bla/test.jpg";
und einmal mit dem relativen
$file = "test.jpg";
ausprobiert.

und die mail wird zwar verschickt, aber ich erhalte nur:
Ä·û¶NÍËêÛ·ŠEŲ’È<àõHcþb‹qúªVp: âz˜[GOmÍAܪÄÂ?S'ýEùÒ{Þ¦=KýAó¤ö úXUõ4åúGš£, "ú›œÃàÔ¯5~Fô?

usw. usw. in einer txt die angehängt wird.

hat das denn bei dir funktioniert?
 
mist ... manchmal bin ich auch echt blöd ;)

das liegt an $file_type und $file_name

das Script funktioniert bei mir nur, weil ich ne Datei verschicken, die hochgeladen wird, und dabei wird $file_type und $file_name automatisch von dem <INPUT TYPE="file".....> erzeugt. Und das ist genau, was hier fehlt.

Du musst also am Anfang noch einfügen:
PHP:
$file_type="image/pjpeg"; //für JPG-Dateien
$file_name="test.jpg";

dann funktionierts ;)

als $file_type geht auch:
image/gif,
image/x-xbitmap,
image/jpeg,
image/png,
*/*

das letzte für Dateien, wo Du den "content-type" nicht genau kennst.

Gruß
Dunsti
 

Neue Beiträge

Zurück