Я использую Solaris 5.11 и использую sendmail. Локальные имена пользователей имеют вид <буквы> <числа> (например, hn06511). В прошлом мы использовали псевдонимы, чтобы указать на
@ olddomain.com
Теперь есть новая схема адресов электронной почты и новый домен. Теперь адреса электронной почты имеют вид <имя>. <Имя> @ newdomain.com.
Поэтому я изменил псевдонимы на:
<имя пользователя> <имя>. <Имя> @ newdomain.com
Это работает, однако
Итак, я хочу изменить
@ olddomain.com% 1
Предположительно, он должен взять
AFAICT Я правильно отформатировал virtusertable и запустил makemap (должен ли я использовать dbm или хэш? Я видел оба). AFAICT Я ввел правильную ФУНКЦИЮ, сделал make и убедился, что сгенерированный sendmail.cf находится в нужном месте. Я видел FEATURE, выраженную как
FEATURE (
virtusertable ',
dbm -o / etc / mail / virtusertable ')
и
FEATURE (
virtusertable',
hash -o / etc / mail / virtusertable ')
Но ни один из них не работает.
Какую отладку или другую информацию я могу предоставить и попробовать?
Заранее благодарим.
Искать (скрытую) запись в virtusertable
echo '/map virtusertable xxx@oldomain.com' | sendmail -bt
Проверить, проверяет ли sendmail проверку virtusertable для адресов электронной почты olddomain.com
echo '3,0 john.doe@olddomain.com' | sendmail -d60.5 -bt
-d60.5
отслеживает поиск по картам (также виртуальный поиск).
Дополнительные подсказки:
m4
ожидает другого цитирования
ФУНКЦИЯ (virtusertable, `hash / etc / mail / virtusertable ')
Не делайте виртуальную платформу необязательной. Удалите -o
из строки FEATURE
.
С -o
sendmail игнорирует отсутствующий файл virtusertable.
Sendmail использует скомпилированную версию virtusertable. Используйте makemap
для компиляции virtusertable.
virtusertable используется только для локальных доменов электронной почты ( $ = w
) и $ = {VirtHost}
доменов.
] Используйте команду ниже как root, чтобы получить оба списка доменов
echo '$ = w' | sendmail -bt
echo '$ = {VirtHost}' | sendmail -bt