У меня есть веб-сервер ubuntu 16.04 с пересылаемой mx-записью. На сервере я установил sendmail. У меня работает несколько хостов. Один из них - «xxx-tele.com».
Теперь я хочу настроить sendmail, чтобы все письма, отправленные на info@xxx-tele.com, пересылались на xxx@tele.com, который является почтовым ящиком на другой почте. сервер внутри моей сети.
Сначала я добавил / etc / mail / virtusertable с помощью
info@xxx-tele.com xxx@tele.com
и с помощью «makemap hash virtusertable.db , запустил команду и перезапустил sendmail с "перезагрузкой service sendmail". Теперь я пробую команду и просто получаю ответ :
info@xxx-tele.com ... Пользователь неизвестен xxx-tele.com добавляется в / etc / hosts и в / etc / mail / local-host-names Как я могу настроить sendmail только на переслать этот адрес и отказаться от всех остальных? Команда: echo '$ = w' | sendmail -bt просто возвращает: Лучшее,
dwi вот предоставленная информация:
Ответ на 1.): Ответ на 2.): Третий ответ: Мой хост-файл выглядит так: FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
sendmail -bv info@xxx-tele.com
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> localhost.tele.com
web
xxx-tele.com
[internal.dmz.ip4.address]
localhost
web.tele.com
[127.0.0.1]
web.tele.com
[localhost.tele.com]
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> map_lookup: virtuser (info@xxx-tele.com) returns myuser@tele.com (0)
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> canonify input: info @ xxx-tele.com
Canonify2 input: info < @ xxx-tele.com >
map_lookup(host, xxx-tele.com, %0=xxx-tele.com) => localhost.xxx.com. (0)
Canonify2 returns: info < @ localhost.xxx.com . >
canonify returns: info < @ localhost.xxx.com . >
parse input: info < @ localhost.xxx.com . >
Parse0 input: info < @ localhost.xxx. com . >
map_lookup(dequote, info, %0=info) => NOT FOUND (0)
Parse0 returns: info < @ localhost.xxx.com . >
Parse1 input: info < @ localhost. xxx.com . >
map_lookup(virtuser, info@localhost.xxx.com, %0=info@localhost.xxx.com, %1=info) => NOT FOUND (0)
map_lookup(virtuser, @localhost.xxx.com, %0=@localhost.xxx.com, %1=info) => NOT FOUND (0)
Parse1 returns: $# local $: info
parse returns: $# local $: info
> root@web:~# _res.options = 812c3, HasWildcardMX = 0
Enter <ruleset> <address>
> canonify input: info @ xxx-tele . com
Canonify2 input: info < @ xxx-tele . com >
Canonify2 returns: info < @ localhost . xxx. com . >
canonify returns: info < @ localhost . xxx. com . >
parse input: info < @ localhost . xxx. com . >
Parse0 input: info < @ localhost . xxx. com . >
Parse0 returns: info < @ localhost . xxx. com . >
Parse1 input: info < @ localhost . xxx. com . >
Parse1 returns: $# local $: info
parse returns: $# local $: info
127.0.0.1 localhost localhost.xxx.com xxx-tele.com
local.dmz.ip4.address web.xxx.com web xxx-tele.com
Домен перезаписывается поиском по карте хоста перед виртуальным поиском
как указано в выводе отладки, предоставленном
echo '3,0 info@xxx-tele.com' | sendmail -d60.5 -bt
. Изменение записи в / etc / hosts должно исправить это
### Old Entry
# 127.0.0.1 localhost localhost.xxx.com xxx-tele.com
### New Entry
127.0.0.1 localhost xxx-tele.com
1) Проверьте, может ли sendmail получить доступ к записи в virtusetable
Выполнить как root:
echo /map virtuser info@xxx-tele.com | sendmail -bt
2) Проверить, выполняет ли sendmail виртуальный поиск электронной почты.
Как root выполнить:
echo '3,0 info@xxx-tele.com' | sendmail -d60.5 -bt
-d60.5 отслеживает (все) поиски карт, включая виртуальные поиски
3) Если домен перезаписан host
поиском по карте до виртуальных поисков, тогда проверьте поиск DNS и разместите записи / etc / hots
с xxx-tele.com
echo '3,0 info@xxx-tele.com' | sendmail -d8.20 -bt