почему делает mailx —-f не, работают больше

Я сделал следующее в Ubuntu 12.04:

echo "some body" | mailx -s "some subject" recipient@example.de -- -f sender@example.de

это сгенерировало сообщение как это:

To: recipient@example.de
Subject: some subject
From: sender@example.de

Затем я обновил к Ubuntu 14.04, и теперь я добираюсь

To: -f@example.de, sender@example.de, recipient@example.de
Subject: some subject
From: $ACCOUNTNAME@example.de

Так, -f больше не работает, и я получаю поврежденное электронное письмо.

Почему это и как я могу зафиксировать его?

Я использую nullmailer.

Я использую bsd-mailx.

$ ls -l $(which mailx)
lrwxrwxrwx 1 root root 23 Okt 23 23:12 /usr/bin/mailx -> /etc/alternatives/mailx
$ ls -l /etc/alternatives/mailx
lrwxrwxrwx 1 root root 18 Okt 23 23:12 /etc/alternatives/mailx -> /usr/bin/bsd-mailx
2
задан 16 January 2015 в 10:47

3 ответа

Как обходное решение я могу установить From: заголовок вручную с -a $EXTRAHEADER и отбросить -- -f вещь:

echo "some body" | mailx -s "some subject" recipient@example.de -a "From: sender@example.de"
1
ответ дан 20 November 2019 в 00:16

Похоже, что патч безопасности в начале января изменил поведение для --.

От журнала изменений в https://launchpad.net/ubuntu / + source/bsd-mailx/8.1.2-0.20111106cvs-1ubuntu0.1

bsd-mailx (8.1.2-0.20111106cvs-1ubuntu0.1) точная безопасность; обновление системы защиты urgency=medium

  • : окружите управляют, чтобы инжекция
    • Применила патчи OpenBSD от Todd Miller (взятый от обновления Debian):
        80-remove_T.patch <литий> (удаляют недокументированную/устаревшую-T опцию) 81-minus_f.patch <литий> (корректируют-f, обрабатывающий) 82-expandaddr.patch <литий> (фиксируют CVE-2014-7844) 83-nosendmail.patch <литий> (делают - работают на подавление парсинга опции)
    • CVE-2014-7844 - Marc Deslauriers понедельник, 05 января 2015 11:40:44 - 0500

, Ваше обходное решение корректно,-a опция является лучшей для установки От заголовка.

у меня все еще есть проблема, где -f опция установила заголовок Обратного тракта, который у меня не было удачи при выполнении с -a. Я получил это от https://groups.google.com/forum/#! topic/list.postfix.users/0AmocPqLUZo

1
ответ дан 20 November 2019 в 00:16

Я закончил тем, что использовал /usr/sbin/sendmail (обеспеченный постфиксом) вместо эти mail команда, которая связалась с bsd-mailx в моей системе:

echo -e "Subject:some subject\n\nsome body" | /usr/sbin/sendmail -r "sender@example.com" "recipient@example.de"

Три вещи рассмотреть:

  • Использование -r для определения обратного канала (и отадресного)
  • нет никакого -s для предмета. Вместо этого добавьте Subject: почтовый заголовок в эти printf сопровождаемый двумя новыми строками \n\n
  • Ваш echo действительно потребности произвести эти две новых строки, не символы \n\n, таким образом Вам нужно echo -e
0
ответ дан 20 November 2019 в 00:16

Другие вопросы по тегам:

Похожие вопросы: