MIME-E-MAIL mit PEAR
Kalle_B
- php
Hallöle,
neues Thema für mich. Ich möchte Bilder in eine Mail einbinden, habe dazu etliche Zeilen aus dem PHP- Buch in mein Script eigefügt.
Das Schript läuft ohne Fehler durch, aber es versendet nur eine Text- Mail:
MIME-Version: 1.0
From: ecard@xxxx.de
Content-Type: text/plain; charset="ISO-8859-1"
Folgende Zeilen müssten doch auf einen Fehler laufen, denn ich habe nichts installiert. Woher kommt Mail.php?
require 'Mail.php';
require 'Mail/mime.php';
Okay, habe mal den include_path abgefragt: .:/usr/local/lib/php
Auf /usr habe ich keinen Zugriff, es ist eine Kunden- Domain bei 1&1. Vielleicht liegen da ja unbekante Schätze.
Das PHP- Buchempfielt, das Paket herunterzuladen von http://pear.php.net/package/Mail_Mime. Habe ich gemacht und unter Win2000 entpackt. Da ist keine Mail.php enthalten, allerdings im Verzeichnis Mail_Mime-1.4.0a1 diese fünf Dateien:
xmail.xsl
xmail.dtd
mimePart.php
mimeDecode.php
mime.php
Habe das Gefühl, dass ich auf der falschen Baustelle bin.
Hier die weiteren Zeilen, die eigentlich eine Bild-Mail verschicken sollen:
//-------------
// MAIL SENDEN
//-------------
$arr_headers = array(
'Subject' => 'Postkarte aus Birkenau von '.$arr['name']
,'From' => 'ecard@gewerbe-birkenau.de'
);
$mime_message = new Mail_mime();
$mime_message->setTXTBody( $arr['mitteilung'] );
$mime_message->addAttachment( $arr_motive[$arr['motiv']][1], 'image/jpeg' );
$mime_body = $mime_message->get();
$mime_hdr = $mime_message->headers( $arr_headers );
$final_massage =& Mail::factory('mail');
if ( $final_massage->send( $arr_recipients, $mime_hdr, $mime_body) == TRUE )
{
$h01 = 1; // erfalgreich
}
else
{
$f07 = 1; // unbekannter fehler
}
Habe leider keine Idee, wer da was ignoriert.
Lieben Gruß, Kalle
Hello Kalle,
den Themenkomplex findest Du hier im Archiv unter MIME-Mail.
Wenn Du selber etwas experimentierst, bekomst Du auch ziemlich schnell heraus, wie es funktioniert.
Nimm Deinen Mailclient (z.B. OE) und bau Die verschiedene Mails
Die Anhänge und Bilder solltest Du so klein wie möglich halten, sonst kostet es beim Drucken zuviel Papier ;-)
Die so gebauten Mails schickst Du an einen Deiner Accounts und schaust sie Dir dann im 8-Bit-Mode (Textmode) mit einem geeigneten Editor an.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hello Tom,
Wenn Du selber etwas experimentierst, bekomst Du auch ziemlich schnell heraus, wie es funktioniert.
Die Idee ist gut, aber irgendwie will es nicht klappen. Ich habe Thunderbird und kann mitten in den Text ein Foto einfügen, sieht gut aus.
Nur beim Abschicken wird es wieder entfernt.
Weder die ankommende Mail noch die gesendete Mail enthält das Foto. Wahrscheinlich irgendwo eine versteckte Einstellung im Thunderbird?
Ich mache mich mal auf die Suche. Obwohl ich genau dieses Arbeiten hasse: Ausprobieren, bis etwas zufällig funktioniert. Und in einem anderen Umfeld klappt's dann wieder nicht ...
Ein Praktiker muss halt suchen, ein Studierter weiss sofort, warum es nicht klappen kann.
Lieben Gruß, Kalle.
... es war "reiner Text" eingestellt.
Kalle
... es klappt bei mir nicht, obwohl ich die Zeile ,'Content-Type' eingefügt habe. Das Bild wird nicht übermittelt, nur plain/text.
//-------------
// MAIL SENDEN
//-------------
$arr_headers = array(
'Subject' => 'Postkarte aus Birkenau von '.$arr['name']
,'From' => 'ecard@gewerbe-birkenau.de'
,'Content-Type' => 'multipart/alternative'
);
$mime_message = new Mail_mime();
$mime_message->setTXTBody( $arr['mitteilung'] );
$mime_message->addAttachment( $arr_motive[$arr['motiv']][1], 'image/jpeg' );
$mime_body = $mime_message->get();
$mime_hdr = $mime_message->headers( $arr_headers );
$final_massage =& Mail::factory('mail');
if ( $final_massage->send( $arr_recipients, $mime_hdr, $mime_body) == TRUE )
{
$h01 = 1; // erfalgreich
}
Bitte postet mal eure PHP- Zeilen. Die obigen sind aus dem Buch PHP 5 & MySQL 5, Addison-Wesley, 2006
MfG Kalle
Hello,
ein eingefügtes (embedded) Bild setzt eine HTML-Mail voraus.
Das ist tatsächlich nicht ganz einfach und mMn die höchste Stufe bei der eMail-Erstellung per PHP.
Ich habe es mal hinbekommen, aber keine gute Beschreibung mehr dafür.
Ich such es mal raus und sende Dir hier einen Link auf den Code.
Im Prinzip machen die Funktionen sowas ähnliches, wie die PEAR-Klasse, nur eben nicht in OOP erstellt.
http://selfhtml.bitworks.de/mail/related_mail.php.txt
Habe leider nur noch die Versuchsversion.
Die fertigen Funktionen sind mir mitsamt den Rechnern und Datansicherungen bei einer netten[tm] Einbruchsserie in der Agentur geklaut und geschlachtet worden.
Seitdem habe ich mich nicht mehr damit beschäftigt.
Ich denke aber, Du müsstest Dir deinen Baukasten daraus zusammenbauen können.
Die Funktionen können
verarbeiteten.
Vielleicht magst Du den haufen ja verwenden und etwas aufräumen und daraus einen baukasten machen. Dann poste bitte einen Link hier.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom