Ed X: HTML-eMail mit Bild senden

Beitrag lesen

hallo liebe leute,

ich muss eine html-email mit integriertem bild senden.
das klappt auch wunderbar, aber das bild wird sowohl in der email, als auch als anhang (büroklammer) angezeigt.

gewollt ist aber NUR in der mail - nicht als anhang!

kann mir jemand helfen?

shau dir die specsfür MIME mal an

viele grüße,
bruno

-----codeauszug---schnipp---schnapp------

$mimeprog = '/usr/bin/mimencode';
$mailprog = '/usr/sbin/sendmail';
$attachedFile = 'mops.gif';
$attachedName = 'mops.gif';
$boundary = "----=_NextPart";
$recipient = 'adresse@weissdergeierwo.de';

@attachedFile = $mimeprog $attachedFile $attachedName;

open (MAIL, "|$mailprog -t");
print MAIL "From: absender@irgendwas.de\n";
print MAIL "To: $recipient\n";
print MAIL "Subject: kuckuck\n";

print MAIL "MIME-Version: 1.0\n";

print MAIL "Content-Type: multipart/mixed;\n";

.......................................^^^^^^^^^  -> falsch

dieser teil nur für den HTNEL teil, denn selbst wenn du HTML sendest gehört ein Plainteil rein!!!!!

print MAIL "Content-Type: multipart/related;\n";

print MAIL "        boundary="$boundary"\n\n";
print MAIL "--$boundary\n";
print MAIL "Content-Type: text/html; charset="iso-8859-1"\n";
print MAIL "Content-Transfer-Encoding: 7bit\n\n";

print MAIL "<b>Hier der eigentliche Inhalt...</b>\n";

print MAIL "--$boundary\n";
print MAIL "Content-Type: image/gif\n";
print MAIL "        name="$attachedName"\n";
print MAIL "Content-Transfer-Encoding: base64\n";
print MAIL "Content-Disposition: inline; filename="$attachedName"\n\n";
print MAIL @attachedFile;
print MAIL "\n\n";
close MAIL;

Hier siehst du den kompletten text
From: sender
Date: Mon, 18 Jun 2001 21:56:30 +0200
To: empfeanger
CC: kopieempfeanger
Subject: Überschrift
MIME-Version: 1.0   // sobald du HTML-Mail oder attachement verschickst
Content-Type: multipart/mixed;  // sobald du ein Attachment hast
 boundary="mixed_trenner--mail_attachement"  // trennerspezifikation für attachment

This is a multi-part message in MIME format.  // Den satz bekommt der user zu sehen, wenn sein Mailclient kein MIME kann

--mixed_trenner--mail_attachement  // Abgrenzung der Email vom header (beachte -- am anfang)
Content-Type: multipart/alternative; // sobald du eine HTMLAlternative hast
 boundary="alternative_trenner--Plain_Html"  // trennerspezifikation für PLAINTEXT -- HTML

--alternative_trenner--Plain_Html  // Abgrenzung der PLAIN von HTML
Content-Type: text/plain; charset=us-ascii  // Ab hier PLAINTEXT
Content-Transfer-Encoding: quoted-printable  //  Kodierungsform

Das hier ist dein Plaintext

--alternative_trenner--Plain_Html  // Abgrenzung der PLAIN von HTML
Content-Type: multipart/related;  // sobald du ein Bild im HTMLTEIL der Mail hast
 boundary="related_trenner--Html_Images"

--related_trenner--Html_Images   // Abgrenzung der HTMLQUELLCODE vom z.B BGbild
Content-Type: text/html; charset=us-ascii // Ab hier HTMLQUELLCODE
Content-Transfer-Encoding: 7bit    //  Kodierungsform

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body background="cid:ID_DES_BG_BILDES">

<h1>Halli, hallo</h1>
<span style="font: bold 20px Verdana; color:red;">DAS IST DEIN PLAINTEXT
IN DER HTML-FASSUNG.</span>
</body>
</html>

--related_trenner--Html_Images  // Abgrenzung der HTMLQUELLCODE vom z.B BGbild
Content-Type: image/jpeg   // Ab hier das BGBILD
Content-ID: <ID_DES_BG_BILDES>
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="mailbg.jpeg"

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUG
BgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYH
CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAAR
CAAFAlgDASEAAhEBAxEB/8QAGQAAAwEBAQAAAAAAAAAAAAAAAAECAwQJ/8QAORAAAAMFAwgH
BwUAAAAAAAAAAAECBQYHEdEDBCEVFjFBVpSkpUZXg4SVotISJlNUgqGjIjIzgYX/xAAUAQEA
AAAAAAAAAAAAAAAAAAAA/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8A9/AA
ItEoIsUz/sZWlnYHOdjP6gGFrY3I/wB11n9Y57S7Msz/AFM+faGA5ra5sQzMlMqfbHQc1pcH
dx9piT7c6AOW3ZrrGU1O9PvJ0HMtlugZmSnZn3pVAGS2Q5Rz9p1J97VQYrYzi63Rn3xVAGK2
I4Jzm5vGqoMlsKHplM3KI+/KoAyWwYc63GI+/roM1sCG05G4hb+qgCFO/DIimTg8wXQQbvQy
M55g8wXQBK3ehgZ4w/n/AKK/SFm7C/q+LxFfpAGbsL+r4vEV+kGbsL+r4vEV+kAZuwv6vi8R
X6QE7sL54Q/5iv0gLzdhlsDzBVAZuwy2B5gugAzdhlsDzBdA8gQz1ODzBdADyDDPYEvEF0DS
78MjKZuDzBdADzdhlsDzBdAZvw1LQ4fMFUANLvw1M8HE49VBeb8N9hS39VAATAhuXQUt/XQN
LBhxPBxuPXQBeQIc7Dlv66B5Ch3sQW/KoApLCh6ZYOUW/KoGTDh8Why+OVQBSWG4E8HMLfVU
FEw3BI55mlvqqAGTFcKZe5vGqoLyI4Wx/GqoAeR3ELohxqqC8jONsjxiqAGTHceZe6fGKoLy
O5JdFOMVQA8lOWXRXi1UFZJc4sc1y3pVAFZLdDZnilUDSzHRng7XFKoAomY6ZaHc4k6DazZr
q6nd1fMnQBZM92C0MDiDoNbO4O2ehhSw+YOgCiuDuloYn5zoNE3JgkUyY+r4x0AapujEkUmT
q+MdBpZ3VkYSZku1MBZXVkljk78pi03ZmSwuH5DAWiwZ88Ln5xomxuUyIrr5wFlZXQtF28ws
rK7yIysfMApKLEz/AIvuLJFkWiz+4BoJE5En7iiIiOREAYAAAAAAf//Z

--related_trenner--Html_Images-- // Abgrenzung der HTMLQUELLCODE vom BGbild schließen (-- am ende)

--alternative_trenner--Plain_Html-- // Abgrenzung der PLAINTEXT vom HTMLTEIL schließen (-- am ende)

--mixed_trenner--mail_attachement // Abgrenzung des TEXTTEIL vom ATTACHMENT
Content-Type: image/gif;
 name="closer.gif"
Content-Transfer-Encoding: base64
Content-Disposition: attachement; filename="closer.gif"

R0lGODlhEAAQAOUuAAUGBTSMLpLWljDQJG/KbWzlXFPQS8npy4rihhJODnaIdqbbqETcOFbu
U4TJhIPtfDGzL0THQGPKZuPs5K/esgImAoDwa3zUdEhSRkrRPaD6kGDcVXzWe0ytQ7rlu53Y
oDJqKmu+Zkp2SiYtIypCJoe4iFGaSWJiYqb5k4r1emZ8ZKH4ig4yDmvZZe3y7kW9RRYeFjZa
MjnGMkrqQbrYuj5+OmbbYWPzUna2dggUCFJiUorainLkaEaONlvKWAAAACH5BAEAAD8ALAAA
AAAQABAAAAbQwJ/wNzl4KMjDZDh0GSmLqJTialI+H4F2m3Usfx5OSVHaCsYlyY4oIThUJ8du
5zipHITXgfLycUIYOhccOhghFz4QHBwRET4tJiMiIiMdLT4RMn2NBjY8NTk5ATwtBo0QBhkG
GzwpJgAAJik8G6kQNhmsKSEACSw5F7MbDB0IDAUWFzAVLQQAIw8WBTI4B8cWJAAdGiivMRY3
MjQ/DzM9oisoKBogOR0zBEITNgMZFiv4KxYZAz5fPy4eNLhhIUUKcDM4/BtyQOCMGQ0eeGAS
BAA7
--mixed_trenner--mail_attachement-- // Abgrenzung des TEXTTEIL vom ATTACHMENT schließen

Ließ es und verstehe es oder ließ die RFC's

Bye Ed X