Raketenwilli: Frage zu selfhtml Beispiel "Grafik/Grafiken mit Data-URI"

Beitrag lesen

Gibt es einen Code den ich für Handyansichten noch erfassen muss?

Leg mal den vollständigen Quelltext des versendeten Mails (exportieren als eml-Datei, dann umbenennen, mit der Endung „txt“) irgendwo ab (im Web, für uns abrufbar. So wie das Bildschirmfoto aussieht versendest Du wahrscheinlich ein Mail, welches von manchen Programmen „spekulativ repariert“ wird, (Microsoft kennt seine Benutzer und seinen eigenen Outlook-Schrott...) von anderen (deren Autoren sich beim Spekulieren nicht irren wollen) eben nicht. Womöglich fehlt die Angabe für den Content-Typ, womöglich noch mehr.

Bei HTML-Mails muss es einen Text-Part geben (der, das ist ganz böse, leer sein kann → das führt zu Punkten beim Spam-Scoring) und einen HTML-Part, der quasi als Anhang verschickt wird:

#### Weitere Header ###
MIME-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_2344014_1173900415.1675849059881"

------=_Part_2344014_1173900415.1675849059881
Content-Type: text/html;charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html>
<html lang="de">
#Das Gelörre
</html>
------=_Part_2344014_1173900415.1675849059881--

Die Trennzeilen erstelle mit etwas wie

$PartID        = microtime( true ) . '.' . random_int(0, PHP_INT_MAX );
$StartBoundary = '------=_Part_' . $PartID;
$EndBoundary   = $StartBoundary . '--';

Da für den HTML-Part die Kodierung quoted-printable vorgesehen ist, muss der HTML-Part durch quoted_printable_encode() gejagt werden.

Also

$htmlpart = $StartBoundary
            . "\r\n"
            . quoted_printable_encode($html)
            . "\r\n"
            . $EndBoundary;

Oder Du nimmst etwas wie den PHP-Mailer, der kümmert sich für Dich um das ganze Geraffel. (Sieh dort bei „A Simple Example“ nach…, baue aber ordentliches HTML)