winlicli
Goto Top

Mailversand mit der Linux-Bash und mailx

Hallo zusammen,

ich habe ein Bashskript dass einige Logs parsen soll und mir danach eine Mail mit den gefundenen Infos als Dateianhang zu schicken soll.
In den Dateien gibt es auch Umlaute die ich drin behalten möchte und die Technik dazu bringen will dies korrekt auszugeben.

Das Problem nun ist, dass die Umlaute im Anhang nicht korrekt angezeigt werden. Der Grund ist, weil das Charset nicht auf UTF-8.
Ich habe bereits das Netz durchsucht und alte Lösungen gefunden, die nicht mehr mit den aktuellen mailx Parametern vereinbar sind.

Weis jemand, wie man mailx dazu bringt, Mails mit UTF-8 zu verschicken?

Gearbeitet wird mir einem deutschen Centos 7.

Lg und danke für hilfe

Content-Key: 532124

Url: https://administrator.de/contentid/532124

Printed on: April 20, 2024 at 00:04 o'clock

Member: Dani
Dani Jan 06, 2020 at 21:43:49 (UTC)
Goto Top
Moin,
Weis jemand, wie man mailx dazu bringt, Mails mit UTF-8 zu verschicken?
es gibt dazu im Bugtracker den Beitrag 0007491: mailx does not handle utf-8 chars in From when creating e-mail. Hab's allerdings am Smartphone nur grob überfliegen können.


Gruß,
Dani
Member: WinLiCLI
WinLiCLI Jan 07, 2020 updated at 07:37:10 (UTC)
Goto Top
Von 2014 ist das und eine wirkliche Lösung haben die auch nicht genannt. Gibt es andere Tools mit denen man Mails in utf8 versenden kann?
Member: godlie
godlie Jan 07, 2020 at 08:32:04 (UTC)
Goto Top
Hallo,

also wenn man sich die man page von mailx ansieht, dann findet man dort folgendes:
Mailx normally detects the character set of the terminal using the LC_CTYPE locale setting. If the locale cannot be used appropriately, the ttycharset variable should be set to provide an explicit value
und
The character set for outgoing messages is not necessarily the same as the one used on the terminal. If an outgoing text message contains characters not representable in US-ASCII, the character set being used must be declared within its header.
somit ergeben sich 2 Lösungen:
a) explizites setzen der LC_CTYPE innerhalb deines Scripts
b) mailx rauswerfen und durch mutt ersetzen
mutt -e 'set content_type=text/plain; charset=utf-8;' -s 'My subject' me@my.com < msg.txt  
Member: WinLiCLI
WinLiCLI Jan 07, 2020 at 12:56:38 (UTC)
Goto Top
funktionierte der mutt befehl bei dir?
bei mir brachte er in dieser form:

mutt -e 'set content_type=text/plain; charset=utf-8;' -s 'My subject' -a file.txt meinemail@mail.de

folgenden fehler:

Fehler in Kommandozeile: charset=utf-8: Unbekanntes Kommando

ich habe die >'< auch durch >"< ersetzt. leider der selbe fehler
Member: godlie
Solution godlie Jan 07, 2020 at 13:05:40 (UTC)
Goto Top
Hallo,

ach da ist mir doch ein Denkfehler unterlaufen

mutt -e 'set content_type=text/plain;' -e 'set send_charset=utf-8;' -s 'My subject' me@my.com < msg.txt  

optional kannst du mit -a file.xy noch ein file attachments erzeugen
Member: WinLiCLI
WinLiCLI Jan 07, 2020 at 15:36:58 (UTC)
Goto Top
danke, das hat tatsächlich geklappt.
schade das mailx das auch nicht so kann.

danke und lg face-smile