Postfix не добавляет к: заголовку исходящей почты

Postfix не добавляет к: заголовку исходящей почты

Я настроил базовую настройку Postfix для отправки почты с использованием внешнего smtp relayhost и локального разрешения адреса почты через /etc/aliases. Отправка почты работает (через sendmailкоманду) Однако, когда я получаю почту, To:заголовок отсутствует; он не отображается в необработанном сообщении электронной почты.

Вопрос:Как сделать так, чтобы To:заголовок отображался в получаемом письме?

Подробнее

Например, когда я отправляю это из командной строки:

echo -e "Subject: test no header\n\nBody message" | sendmail [email protected]

или

echo -e "Subject: test no header\n\nBody message" | sendmail root

с /etc/aliasesналичием линииroot: [email protected]

Я получаю письмо в обоих случаях. Но в обоих случаях заголовка To:нет.

Необработанное письмо выглядит так:

Return-Path: <[email protected]>
X-Envelope-To: [email protected]
X-Footer: aW5kaWdvbWVkLmNvbQ==
Received: from .....
Received: by ...  
Delivered-To: [email protected]
Received: by myhost.mydomain.com (Postfix, from userid 0)
    id 70CD8A03; Tue, 12 Jan 2021 14:48:16 +0100 (CET)
Subject: test no header
Message-Id: <[email protected]>
Date: Tue, 12 Jan 2021 14:48:16 +0100 (CET)
From: root <[email protected]>

Body message

Что я уже попробовал:

  • При отправке почты через mailxВСТАВЛЯЕТСЯ заголовок «Кому», напримерecho -e "Body message" | mailx root -s "Subject: test no header"

  • Я уже пробовал настраивать always_add_missing_headers = yes, /etc/postfix/main.cfно это не помогает.

Некоторые важные части (я думаю) из моего /etc/postfix/main.cfфайла:

...
append_dot_mydomain = no
...
# General
myhostname = myhost.mydomain.com
myorigin = myhost.mydomain.com
mydestination = $myhostname localhost.$mydomain localhost myhost
...
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
....
relayhost = mail.something.com:465

решение1

To:Для доставки сообщений по назначению не нужен заголовок. Для этого используется только SMTP-конверт.

В отличие от mailxинструмента, голая sendmailкоманда не является полноценным почтовым клиентом.

Команда sendmail не создаст правильно отформатированное почтовое сообщение, а только минимальный SMTP-конверт для обеспечения успешной передачи. Если вам нужно правильно отформатированное почтовое сообщение, это то, что вам нужно предоставить команде sendmail в качестве (стандартного) ввода.

Другими словами:

Вам необходимо предоставить sendmail сообщение, состоящее из заголовков, каждый заголовок на новой строке с двоеточием, отделяющим заголовок от значения заголовка, с длинными заголовками, продолжающимися на строке ниже и начинающимися с одного или нескольких пробелов. Затем пустая строка, отделяющая заголовки сообщения от тела. Затем тело сообщения.

Что-то вроде этого

To: [email protected]
Content-Type: text/plain; charset=us-ascii>
From: [email protected] (Hermanb)
Subject:  A very very long 
  subject header spanning multiple lines
Date: Tue, 12 Jan 20121 15:46:24 +0200

test test

More test text
.

решение2

Когда я добавляю always_add_missing_headers = yes, у меня это работает

Связанный контент