HTML-eMail mit Bild senden
Bruno Pisarek
- perl
0 Crunch0 Bruno Pisarek0 Crunch
0 Ed X
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?
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 "Content-Type: multipart/mixed;\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;
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!
Benutzt du Outlook oder Outlook Express als Email-Programm? Die zeigen Bilder als Attachments nämlich automatisch an, das hat mit dem Script nichts zu tun. Probier mal, dein Email in einem anderen Reader zu öffnen.
Grüße,
Crunch
hi crunch,
Benutzt du Outlook oder Outlook Express als Email-Programm? Die zeigen Bilder als Attachments nämlich automatisch an, das hat mit dem Script nichts zu tun. Probier mal, dein Email in einem anderen Reader zu öffnen.
das ist leider nicht ganz richtig :)
wenn ich MIR SELBER mit outlook-express eine mail schreibe und in diese mail ein bild einfüge, dann wird das bild beim empfang ja auch nicht als anhang angezeigt, sondern NUR als solches IN DER MAIL.
totzdem danke für deine hilfe!
wer kann noch weiterhelfen?
viele grüße,
bruno
wenn ich MIR SELBER mit outlook-express eine mail schreibe und in diese mail ein bild einfüge, dann wird das bild beim empfang ja auch nicht als anhang angezeigt, sondern NUR als solches IN DER MAIL.
Hi,
verstehe, was du meinst. Ich hab das mal selbst ausprobiert, bei der Version, bei der das Bild nur im Mail selbst gezeigt wird, schreibt Outlook Express im Quelltext folgendes:
im normalen HTML-Teil
<IMG align=3Dbaseline alt=3D"" border=3D0 hspace=3D0=20
src=3D"cid:003001c10f91$50727f00$aa01a8c0@meinedomain.at">
und dann :
Content-Type: image/gif;
name="datei.gif"
Content-Transfer-Encoding: base64
Content-ID: 003001c10f91$50727f00$aa01a8c0@meinedomain.at
--- BASE64-Teil ----
Vielleicht liegt es daran, dass du "Content-Disposition: inline" nimmst, es wird dann wohl als Attachment behandelt? Mach das mal in deinem Script so wie Outlook Express. Ich weiß aber nicht, ob das irgendeinem Standard entspricht, da müsste man noch die ensprechende RFC konsultieren.
Grüße,
Crunch
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