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?
$ 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/mail
Programm der E-Mail einen eigenen Mime-Header hinzufügt und damit Ihren Content-Type: text/html
Hack überschreibt, den Sie an das Ende des Subject:
Headers angehängt haben.
Eine einfache Lösung besteht darin, den Befehl zu umgehen mail
und 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]
.