Может » t изменить адрес / домен отправителя в sendmail

У меня есть сервер с sendmail, и мне нужно отправить электронную почту через PHP . У меня есть внутренний SMTP-сервер в той же подсети, поэтому я настроил sendmail с FEATURE ( nullclient ', mail.server.local') dnl , где mail.server.local решается с помощью внутренний IP-адрес в / etc / hosts

Я не могу изменить с адреса и домена . Это всегда local ') dnl where ...

У меня есть сервер с sendmail, и мне нужно отправлять электронную почту через PHP. У меня есть внутренний SMTP-сервер в той же подсети, поэтому я настроил sendmail с FEATURE ( nullclient ', mail.server.local') dnl , где mail.server.local решается с помощью внутренний IP-адрес в / etc / hosts

Я не могу изменить с адреса и домена . Это всегда local ') dnl where ...

У меня есть сервер с sendmail, и мне нужно отправлять электронную почту через PHP. У меня есть внутренний SMTP-сервер в той же подсети, поэтому я настроил sendmail с FEATURE ( nullclient ', mail.server.local') dnl , где mail.server.local решается с помощью внутренний IP-адрес в / etc / hosts

. Я не могу изменить с адреса и домена . Это всегда local решается с помощью внутреннего IP в / etc / hosts

. Я не могу изменить адрес и домен . Это всегда local решается с помощью внутреннего IP в / etc / hosts

. Я не могу изменить адрес и домен . Это всегда root@nameoftheserver.localhost.localdomain.

Mar 20 16:18:48 nameoftheserver sm-mta[16402]: v2KFImVi016402: from=<www-data@nameoftheserver.localdomain.local>, size=406, class=0, nrcpts=1, msgid=<201703201518.v2KFImVD016401@nameoftheserver.localdomain.local>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]  

Вывод /etc/mail/sendmail.mc :

      (short domain name) $w = nameoftheserver  
  (canonical domain name) $j = nameoftheserver.localdomain.local  
         (subdomain name) $m = localdomain.local  
              (node name) $k = nameoftheserver

Как я могу изменить эти значения?

2
задан 20 March 2017 в 18:16
1 ответ

Итак, вы пытаетесь изменить отправителя конверта (так как функция PHP mail() уже обрабатывает адрес "From:") с помощью Sendmail. Это может быть достигнуто путем создания базы данных genericstable для сопоставления входного адреса отправителя с требуемым адресом.

  1. Создайте текстовый файл /etc/mail/genericstable, содержащий сопоставления,

    www-data desired.site.address@example.com.
    корневой root@example.com
    

    , где первым значением является первоначальное имя пользователя, а вторым - желаемый адрес. Или, если это не работает с вашим сервером узлов, оригинальный адрес отправителя также может быть в формате

    www-data@nameoftheserver.localdomain.local desired.site.address@example.com.
    
  2. Создайте другой файл /etc/mail/generics-domains, содержащий домены, разделенные новой строкой. (Обратите внимание, что файл ДОЛЖЕН содержать каноническое доменное имя вашего сервера)

  3. Добавьте соответствующие утверждения в /etc/mail/sendmail.mc:

    FEATURE(`genericstable',`hash -o /etc/mail/genericstable.db')dnl
    GENERICS_DOMAIN_FILE(`/etc/mail/generics-domains')dnl
    
  4. Выполняйте обычные процедуры после повторной настройки Sendmail, например

    cd /etc/mail.
    /мусорное ведро
    /usr/bin/newaliases
    перезапуск sendmail.service
    
3
ответ дан 3 December 2019 в 10:35

Теги

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