HTML-E-Mail funktioniert nicht unter Unix?

HTML-E-Mail funktioniert nicht unter Unix?

Wir migrieren von einem Unix-Server zu einem anderen.

Alter Server
$ uname -a
Linux <redacted> 2.6.9-89.31.1.ELsmp #1 SMP Mon Oct 4 21:53:22 EDT 2010 i686 i686 i386 GNU/Linux
Neuer Server
$ uname -a
Linux <redacted> 2.6.32-504.30.3.el6.x86_64 #1 SMP Thu Jul 9 15:20:47 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux

Bei Verwendung des folgenden Befehls wurden E-Mails auf dem alten Server als HTML-Inhalte gesendet, aber der gleiche Befehl sendet auf dem neuen Server nur einfache E-Mails.

  • Welche Möglichkeiten habe ich hier?
  • was kann ich tun, damit das funktioniert?
Mein Befehl
$ echo "<b>HTML Message <i>goes</i> here</b>" | mail -s "$(echo -e "This is the subject\nContent-Type: text/html")" [email protected] [email protected]

Antwort1

Das Problem besteht wahrscheinlich darin, dass Ihr neueres /bin/mailProgramm der E-Mail einen eigenen Mime-Header hinzufügt und damit Ihren Content-Type: text/htmlHack überschreibt, den Sie an das Ende des Subject:Headers angehängt haben.

Eine einfache Lösung besteht darin, den Befehl zu umgehen mailund direkt zu zu gehen sendmail(auch wenn Sie verwenden postfix). Ersetzen Sie Ihren Befehl durch:

sendmail -t <<!
From: [email protected]
To: [email protected]
Subject: This is the subject
MIME-Version: 1.0
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<b>HTML Message <i>goes</i> here</b>
!

Wenn Ihr Sendmail dies nicht akzeptiert -t, ersetzen Sie diese Option durch die Adresse, an die Sie senden, z . B. [email protected].

verwandte Informationen