Я устанавливаю Bugzilla и хочу, чтобы он не отправлял электронные письма, которые вместо этого следует отправлять пользователю на локальном компьютере.
У меня есть эта строка в моем /etc/mail/sendmail.mc:
FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')
Я добавил следующую строку в начало / etc / mail / virtusertable (остальное - комментарии):
@mydomain.com myusername
Затем я выполнил следующие команды:
$ makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable $ m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
Затем я перезапустил сервер sendmail. Однако, когда я отправляю электронное письмо на myusername@mydomain.com с помощью команды mail, я все равно получаю его в своем сетевом почтовом ящике, а это не то, что мне нужно. Я хочу, чтобы это доставлялось только моему имени пользователя на локальной машине.
Пожалуйста, сделайте себе и всему миру одолжение и замените Sendmail чем-нибудь более простым в настройке и обслуживании, например, Exim или Postfix. Обычно я бы отклонил ответы, в которых говорилось «используйте другой продукт», но в случае с Sendmail я думаю, что риск стоит. Sendmail очень сложен в настройке по сравнению с современными MTA и должен использоваться только в том случае, если у вас есть существующая сложная инфраструктура Sendmail и у вас есть значительный опыт работы с Sendmail.
Кроме того, я не знаю, опечатка это или нет, но у вас есть
m4 /etc/mail/sendmail.mc > /etc/mail/endmail.cf
Обратите внимание на endmail.cf, а не на sendmail.cf.
Я последовал совету Дэвида и установил Postfix. Настроить было невероятно легко. Я последовал за эти инструкции чтобы настроить main.cf, все, что мне нужно было сделать, это добавить следующую строку в / etc / postfix / virtual:
@mydomain.com myusername
Затем выполните следующие команды:
$ postmap /etc/postfix/virtual $ postfix reload
И вуаля! Вся почта, отправляемая с локального компьютера на любой адрес @ mydomain.com, вместо этого отправляется локальному пользователю myusername.