Email mit integriertem Bild - trotzdem als Anhang sichtbar
Johnny B.
- perl
0 Kalle_B
Hallo geehrtes Forum,
ich verschicke eine Email mit zwei integrierten Bildern. Das funktioniert soweit auch alles wie es soll.
Was mich noch wundert und stört ist, daß mir beim Empfang der Nachricht in Outlook-Express ein Anhang angezeigt wird (durch ein Büroklammer-Symbol). Andererseits ist dieser Anhang nicht direkt anklickbar. Bei einem _echten_ Anhang kann man auf ein weiteres Büroklammer-Symbol klicken um denselben zu öffnen und zu speichern. Das ist hier nicht möglich. Was ist dieser merkwürdige Anhang?
Andere Mails mit integrierten Bildern, die ich bekomme, haben keine sichtbaren Anhänge und auch kein Anhang-Büroklammer-Symbol. So wollte ich das auch haben. Kann jemand einen Einstellungsfehler entdecken oder mir noch einen Tipp geben? Ich konnte der Beschreibung von MIME::Lite leider keine weiteren Verbesserungen entnehmen. Ich poste meinen Code und das Ergebnis der MIME-Mail als gekürzten String.
Vielen Dank schonmal fürs Anschauen...
JOhnnY
my $hauptEntity = MIME::Lite->new(
From => "$absender",
To => "$empfaenger",
Subject => "$betreff",
Type => 'multipart/alternative',
);
my $textEntity = $hauptEntity->attach(
Type => 'text/plain',
Data => "$email_nurtext",
);
my $htmlEntity = $hauptEntity->attach(
Type => 'multipart/related',
);
$htmlEntity->attach(
Type => 'text/html',
Data => "$email_html",
);
$htmlEntity->attach(
Type => 'image/gif',
Id => 'background.gif',
Path => '../images/background.gif',
);
$htmlEntity->attach(
Type => 'image/gif',
Id => 'logo.gif',
Path => '../images/logo.gif',
);
my $smtp = new Net::SMTP( $host, Timeout=>60, Debug=>1 );
unless (defined $smtp) {
for ( my $i=0; $i < 5; $i++ ) {
$smtp = new Net::SMTP( $host, Timeout=>60, Debug=>1 );
if (defined $smtp) { last; }
}
}
unless (defined $smtp) {
die("cannot open connection to SMTP server @\ $host");
}
$smtp->mail( "$absender" );
$smtp->to( "$empfaenger" );
$smtp->data();
$smtp->datasend($hauptEntity->as_string());
$smtp->dataend();
$smtp->quit();
Hier der gekürzte String $hauptEntity;
Content-Transfer-Encoding: binary
Content-Type: multipart/alternative; boundary="_----------=_126454958188510"
MIME-Version: 1.0
X-Mailer: MIME::Lite 3.01 (F2.74; A1.74; B3.07; Q3.07)
Date: Wed, 27 Jan 2010 00:46:21 +0100
From: x@y.de
To: y@x.de
Subject: Betreffzeile
This is a multi-part message in MIME format.
--_----------=_126454958188510
Content-Disposition: inline
Content-Length: 4241
Content-Transfer-Encoding: binary
Content-Type: text/plain
Hier ist Plaintext...
--_----------=_126454958188510
Content-Transfer-Encoding: binary
Content-Type: multipart/related; boundary="_----------=_126454958188511"
This is a multi-part message in MIME format.
--_----------=_126454958188511
Content-Disposition: inline
Content-Length: 8327
Content-Transfer-Encoding: binary
Content-Type: text/html
<html>
... hier der HTML-Teil. Wird alles korrekt angezeigt.
</html>
--_----------=_126454958188511
Content-Disposition: inline; filename="background.gif"
Content-Id: background.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif; name="background.gif"
R0lGODlh6AOwBLMAAOPvyPf77+3z1vP35f////r89vD33ubwzff57ejy0/f3
...
--_----------=_126454958188511
Content-Disposition: inline; filename="logo.gif"
Content-Id: logo.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif; name="logo.gif"
R0lGODlh5QB6APd/AA0JCgCGNIaEha/QKMHbXtLkjEGlbODstktISYTLjO71
...
--_----------=_126454958188511--
--_----------=_126454958188510--
einfach mal ein Tipp ins Blaue:
Verschickst du die Mail als HTML _und_ TEXT?
Für den Text muss wohl das Bild als Anhang mitgeschickt werden.
Gruß, Kalle