Как изменить адрес FROM по умолчанию для команды mail, используя sSMTP?

Я установил:

  • sudo apt-get установить ssmtp
  • sudo apt-get установить mailutils

Когда я использую команду:

echo "something" | mail -s "testing email" email@example.com

В сгенерированном электронном письме поле From установлено примерно так:

From: "Username" <username@local.domain.internal>

Есть ли файл конфигурации или что-то, где я могу изменить этот адрес по умолчанию?

Обратите внимание, что изменить поле TO легко, как описано здесь: Как получить ssmtp для сопоставления локального пользователя с адресом электронной почты для поля To:, но мне нужно изменить поле FROM по умолчанию.

Изменить: мне также нужно изменить адрес FROM для эмуляции sendmail. В моем случае Cron устанавливает FROM: root и TO: root, которые я хотел бы изменить на обычный адрес электронной почты.

1 ответ

Решение

В ssmtp есть несколько параметров, которыми можно манипулировать, чтобы разрешить изменение в поле "От" писем:

  1. Есть настройка внутри /etc/ssmtp/ssmtp.conf, По умолчанию система выбирает адрес "От", но это можно изменить, сняв флажок с строки FromLineOverride:

    # Are users allowed to set their own From: address?
    # YES - Allow the user to specify their own From: address
    # NO - Use the system generated From: address
    #FromLineOverride=YES
    

    Под "снятием отметки" я имею в виду удаление хеш-метки в начале этой конкретной строки.

  2. Там могут быть настройки в пределах /etc/ssmtp/revaliases разрешить определенную строку "От" от каждого пользователя. Пример приведен в revaliases является достаточно бесполезным:

    # Example: root:your_login@your.domain:mailhub.your.domain[:port]
    # where [:port] is an optional port number that defaults to 25.
    

    Но справочные страницы дают гораздо более явный пример:

    A reverse  alias  gives  the From: address placed on a user's outgoing
    messages and (optionally) the  mailhub  these  messages  will  be  sent
    through. Example:
    
     root:jdoe@isp.com:mail.isp.com
    
    Messages  root  sends  will be identified as from jdoe@isp.com and sent
    through mail.isp.com.
    

Лично я не использую ssmtp, вместо этого я использую msmtp, где синтаксис для изменения поля "От" намного проще и может содержаться в файле $HOME/.msmtprc:

from my.email.address@myisp.com

что намного проще...

Рекомендации:

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