Назад | Перейти на главную страницу

Linux - требуется ли MTA?

Мой образ VPS (Debian 6) поставляется с предустановленным sendmail в качестве MTA. Я буду использовать этот сервер в качестве веб-сервера и, возможно, для других целей, но не в качестве почтового сервера. Я хочу удалить как можно больше ненужных сервисов, чтобы сэкономить ресурсы. Можно ли безопасно удалить MTA? Какие последствия?

Одним из последствий удаления MTA является то, что почта, генерируемая самой системой (обычно отправляемая root), например, Cron, Logwatch, rkhunter и другими, не может быть доставлена.

Итак, да, MTA является неотъемлемой частью любой Unix-подобной системы, и я сомневаюсь, что Debian позволит вам удалить MTA без жалоб и предложения альтернативы. Но это не имеет большого значения. По умолчанию в Debian даже sendmail будет прослушивать только 127.0.0.1 и ретранслировать почту только локально, поэтому здесь нет реальной угрозы безопасности.

MTA используется для обработки всех видов сообщений, а не только электронной почты в почтовые ящики пользователей. В моей системе CentOS используется колоссальный 4 МБ оперативной памяти. Это меньше одного потока PHP. Не подвергайте риску стабильность и работу вашего сервера за бесценок за дополнительную мощность. Вместо этого купите больше емкости.

Вместо удаления sendmail (или любого другого MTA) по причинам, описанным в других ответах, вы можете настроить его для отправки всей электронной почты, сгенерированной системой, на выбранную вами учетную запись электронной почты, чтобы просмотреть его позже.

Поскольку это система Debian, сделайте резервную копию вашего /etc/mail/sendmail.mc а затем замените его содержимым ниже:

VERSIONID(`2006/08/23/00')dnl
OSTYPE(`debian')dnl
DOMAIN(`debian-mta')dnl

dnl # define(`SMART_HOST', `[outgoing.example.com]')dnl
define(`confCW_FILE', `-o /etc/mail/local-host-names')dnl
FEATURE(`use_cw_file')dnl

FEATURE(`no_default_msa')dnl
DAEMON_OPTIONS(`Name=MTA-v4, Addr=127.0.0.1, Port=smtp')dnl
DAEMON_OPTIONS(`Name=MSP-v4, Addr=127.0.0.1, Port=submission')dnl

MAILER(`local')dnl
MAILER(`smtp')dnl

LOCAL_RULE_0
# LHS is separated from RHS with tabs, not whitespaces
R$- <@ $=w . >          john.doe < @ example.com. >

Два примечания:

  1. Возможно, вам не понадобится строка SMART_HOST. Поэтому он уже закомментирован.
  2. В последней строке левая часть отделяется от правой табуляцией, а не пробелами. Так что не копируйте и не печатайте вручную.

После того, как вы закончите, запустите sendmailconfig и проверьте, подходит ли вам это решение.