Перейти к содержимому

Как удалить sendmail ubuntu

  • автор:

Как удалить sendmail из Debian 8?

На сервере установлен Exim4 и был еще установлен Sendmail в связи с чем возникли проблемы с отправкой почты. Пытался удалить Sendmail такими командами apt-get purge sendmail и apt-get remove sendmail . Вроде как было написано что все Done.. Но.

~# service sendmail status ● sendmail.service - LSB: powerful, efficient, and scalable Mail Transport Agent Loaded: loaded (/etc/init.d/sendmail) Active: active (running) since Fri 2017-03-31 18:08:07 MSK; 17min ago Process: 434 ExecStart=/etc/init.d/sendmail start (code=exited, status=0/SUCCESS) CGroup: /system.slice/sendmail.service └─583 sendmail: MTA: accepting connections 

Сервер перезагружал. Как почистить это дело?

Отслеживать

задан 31 мар 2017 в 15:32

Дмитрий Гвоздь Дмитрий Гвоздь

1,270 3 3 золотых знака 23 23 серебряных знака 51 51 бронзовый знак

виртуализация имеется? тогда обращайтесь с вопросами к хостеру.

31 мар 2017 в 16:33

ваш комментарий не в тему, вот честное слово.

31 мар 2017 в 17:28

к примеру, внутрь openvz-контейнера можно принудительно копировать те или иные файлы. именно с ситуацией, когда таким образом в контейнер был «впихнут» именно sendmail, я сталкивался на практике. и самое главное — удалить эти файлы, т.е., избавиться от sendmail-а, было невозможно.

31 мар 2017 в 17:30

виртуализация KVM и как бы никто хостеру не даст в данном случае что то пихать в мой сервер.

удаление sendmail

Установил CentOS в стандартной комплектации на сервачок где есть RAID массив софтовый. Решил удалить sendmail, оно по зависимостям хочет также снести mdadm. Каким образом они связаны? Второе еще пригодится мне для добавление винтов в раид.

anonymous
27.09.08 20:56:34 MSD

Re: удаление sendmail

Рискну предположить, что нужен не sendmail, а любой почтовый сервер — для отправки писем root.

router ★★★★★
( 27.09.08 21:15:31 MSD )
Ответ на: Re: удаление sendmail от router 27.09.08 21:15:31 MSD

Re: удаление sendmail

Нет, это конечно хорошее предположение, но ведь ситуация такая, что ДЛЯ сендмаила нужен мдадм, а не наоборот. Ну ладно, —nodeps мне в помощь))

anonymous
( 27.09.08 21:59:12 MSD )

Re: удаление sendmail

mdadm’у нужен smtpdaemon. Соответственно,
yum provides smtpdaemon
выбрать из списка понравившийся (ssmtp, например)
yum install понравившийся
yum remove sendmail

Настройка sendmail на localhost под Ubuntu 13.04

Руководство по установке и настройке одного из старейших MTA (Mail Transfer Agent), программа для отправки электронной почты — sendmail , который доступен для установки на любой операционной системе. Во многих ОСях sendmail установлен по умолчанию и менять этот стандартный MTA на другой особой необходимости нет. При этом, тот же PHP по дефолту настроен на работу именно с этим MTA. Если настройка sendmail затягивается — ставьте postfix (Настройка postfix на localhost под Ubuntu 13.04), не стоит терять много времени.

Подготовка

Проверьте установлен ли у вас sendmail , а не exim4 или другой MTA:

ls -la `which sendmail` # lrwxrwxrwx 1 root root 26 2011-01-17 19:58 /usr/sbin/sendmail -> /etc/alternatives/sendmail

Установка

sudo apt-get install sendmail sasl2-bin

Настройка /etc/hosts

127.0.0.1 localhost localhost.localdomain e5530
Примечание

Необходимо указать ваш основной хост (имя компьютера, у меня это e5530 ) и localhost.localdomain иначе вы получите ошибку: My unqualified host name (myhostname) unknown; sleeping for retry» и «unable to qualify my own domain name (e5530) – using short name , sendmail долго стартует и медленно отправляет почту. Возможно хост localhost.localdomain можно пропустить, не уверен.

После этого нужно указать имена локальных хостов, от которых sendmail будет принимать запросы на отправку email сообщений, в файле /etc/mail/local-host-names :

localhost e5530

Авторизация на relay сервере gmail

Правим файл /etc/mail/auth/client-info :

AuthInfo:smtp.gmail.com "U:email@gmail.com" "I:email@gmail.com" "P:YourPass" "M:PLAIN" AuthInfo:smtp.gmail.com:465 "U:email@gmail.com" "I:email@gmail.com" "P:YourPass" "M:PLAIN"
Примечание

Вместо порта 465 можете попытаться стучать на 587 (если есть проблемы с авторизацией):

AuthInfo:smtp.gmail.com:587 "U:email@gmail.com" "I:email@gmail.com" "P:YourPass" "M:PLAIN"

Проверьте права на доступ к файлам авторизации (600) и установите нужные, если отличаются:

chmod 600 /etc/mail/auth/*

Конфиг sendmail.mc

Файл конфига /etc/mail/sendmail.mc . Сравните ваш конфиг. Должно быть как-то так.. Порядок инструкций важен!

dnl # include(`/etc/mail/m4/dialup.m4')dnl include(`/etc/mail/m4/provider.m4')dnl include(`/etc/mail/tls/starttls.m4')dnl include(`/etc/mail/sasl/sasl.m4')dnl FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl define(`SMART_HOST',`smtp.gmail.com')dnl define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl dnl # dnl # Default Mailer setup MAILER_DEFINITIONS MAILER(`local')dnl MAILER(`smtp')dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl # dnl define(`confDOMAIN_NAME', `e5530')dnl

Применяем конфиг sendmail

cd /etc/mail sudo su # просто sudo не сработает! m4 sendmail.mc > sendmail.cf makemap -r hash authinfo.db < auth/client-info make /etc/init.d/sendmail restart # Перезагрузка конфига

Проблемы и решения

Если все настроено правильно но сообщения попадают в «отложенную очередь» и не релеятся на другой SMTP :

  1. Проверьте ваш IP'шник в блек-листах. Проверить бан IP можно тут smart-ip.net, мой IP попал в базу spamhaus'а.
  2. Проверьте не блокирует ли провайдер исходящие пакеты на 25 порт.
Проблемы с Интертелекомом!

У меня так и не получилось настроить релей сообщений на GMail через sendmail на Интертелекомовском подключении - sendmail упорно стучался на 25 порт, который закрыт провайдером. Пришлось настраивать postfix .

Настройка PHP (если необходимо)

Укажите параметры запуска sendmail в конфиге /etc/php5/apache2/php.ini ( /etc/php5/cli/php.ini ):

## Настройка sendmail для PHP : sendmail_path = /usr/sbin/sendmail -t ;sendmail_path = "/usr/sbin/sendmail -t -f phpweb7@gmail.com -i"

Проверим настройки

echo "Текст сообщения" | mail -s "Subjet" youremail@gmail.com sendmail -t to_receiver@gmail.com -f from@gmail.com -v -i < ~/mail-body.txt 

Для проверки postfix попробуйте отправить несколько сообщений из консоли. Как это делать я расписал в этой статье: «Отправка Email сообщений из консоли  ».

Управление sendmail

Посмотреть всю очередь сообщений:

sudo mailq

Посмотреть очередь сообщений по определенному адресу:

sudo mailq | grep 'email@gmail.com' | wc -l

Очистить всю очередь сообщений sendmail :

sudo rm -r /var/spool/mqueue-client/*

Очистить очередь сообщений sendmail по адресату:

cd /var/spool/mqueue ls | xargs -ti sh -c "grep 'email@gmail.com' '<>' > /dev/null && rm -f '<>'" 

P.S. Если вы хотите изучить консоль Linux на достаточно хорошем уровне - рекомендую к прочтению свежую книгу Дениса Колисниченко «Командная строка Linux и автоматизация рутинных задач».

#sendmail #LAMP #MTA #mail server

SendMail в Unix операционных системах. Установка, настройка и проверка работы.

Установка, настройка и проверка работы SendMail в Debian и Ubuntu

Информация о материале Родительская категория: Операционные системы Категория: *nix

  • Проверка наличия SendMail в системе
  • Простая проверка работы SendMail
  • Как установить/переустановить SendMail на сервере
  • Настройка сервера для работы SendMail
  • Перезагрузка сервиса SendMail
  • Отправка тестового сообщения SendMail из консоли сервера
  • Ручная проверка работы SendMail на сервере
  • Настройка php.ini для отправки email с помощью SendMail
  • Проверка отправки письма с помощью PHP
  • Итоги

Проверка наличия SendMail в системе.

Перед тем, как пытаться установить SendMail на сервер, имеет смысл проверить, был ли он установлен ранее. Это можно сделать командами:

whereis sendmail
which sendmail
  • Если выдаются пути, то значит SendMail уже установлен на сервере и можно тестировать его работу.
  • Если выдаются ошибки, то либо его нет, либо он установлен криво и его можно просто переустановить.

Простая проверка работы SendMail.

Итак, самый простой способ проверить, как SendMail отправляет письма (если он установлен), это выполнить команду:

  • [email protected] нужно заменить на свой реальный e-mail.

Если при выполнении этой команды не выдаётся никаких ошибок, нужно посмотреть, не прилетело ли сообщение на почту. Если во "Входящих" письма нет, то посмотреть в папке "Спам". Современные почтовые сервисы всё странное кидают именно туда.

Как установить/переустановить SendMail на сервере.

Предварительно конечно имеет смысл обновить списки доступных пакетов из репозиториев командой:

apt update

Ну и при наличии обновлений, накатить их командой:

apt upgrade

Итак, если что-то пошло не так, можно смело устанавливать SendMail. Делается это командой:

apt install sendmail

Ну, и сразу, чтобы не возникало лишних вопросов (это скорее касается Debian), сразу накатить ещё и пакет sendmail-bin :

apt install sendmail-bin

Если же пакет sendmail установлен, но при его тестировании валятся ошибки, можно попробовать его удалить и поставить заново:

apt purge sendmail && apt update
apt install sendmail

Настройка сервера для работы SendMail.

Если по какой-то причине простейший тест работы SendMail, показанный выше, не отрабатывает, имеет смысл донастроить сервер. Как это сделать?

Проверим сначала настройку имени хоста сервера:

hostnamectl

Если в настройках нужно поменять делаем это командой:

hostnamectl set-hostname myhostname.ru
  • myhostname.ru - это ваш домен, по которому отзывается ваш хост.

Если нужно сменить имя хоста временно (до перезагрузки сервера), то выполняем эту команду:

hostname myhostname.ru

Теперь узнаем IP сервера командой:

curl ifconfig.io

В файл /etc/hosts добавляем запись, которая свяжет IP сервера с его доменом (последняя строчка):

127.0.0.1 localhost 5.255.255.242 mydomain.ru mydomain
  • Последняя запись mydomain - это имя домена без указания домена первого уровня (т.е. в этом примере без .ru ).
  • IP должен быть тот, который определился командой curl ifconfig.io .

Далее можно внести исправления, дополнения в файл /etc/mail/sendmail.mc (если тест отправки письма до сих пор не прилетает).

Для этого ищем и исправляем сроку (а если её нет, то дописываем в конец):

MASQUERADE_AS(`mydomain.ru')dnl

Перезагрузка сервиса SendMail.

Для того, чтобы вносимые изменения вступали в силу, требуется перезагрузка сервиса SendMail. Делается это командой:

service sendmail restart

Отправка тестового сообщения SendMail из консоли сервера.

Мылим ещё раз и смотрим на результат:

(echo "Subject: Test msg"; echo "This is test message";) | sendmail -v -f "[email protected]" [email protected]
  • [email protected] — это e-mail отправителя (т.е. "автора" письма).
  • [email protected] — это e-mail получателя (т.е. то, куда должно прилететь сообщение).

Письмо должно прийти в указанный ящик (возможно, упадет в спам).

Ручная проверка работы SendMail на сервере.

Можно работоспособность smtp-сервера при помощи командной строки и telnet-протокола.

# telnet localhost smtp
Trying ::1. Trying 127.0.0.1. Connected to localhost. Escape character is '^]'. 220 mydomain.ru ESMTP Sendmail 8.15.2/8.15.2/Debian-14~deb10u1; Fri, 31 Mar 2023 01:55:49 +0300; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]
HELO localhost
250 mydomain.ru Hello localhost [127.0.0.1], pleased to meet you

Команда (вводим Отправителя (от кого будет e-mail)):

250 2.1.0 [email protected]. Sender ok

Команда (вводим Получателя (e-mail на который придёт письмо)):

250 2.1.5 [email protected]. Recipient ok

Команда (для начала ввода самого сообщения):

DATA
354 Enter mail, end with "." on a line by itself

Команда (вводим сообщение и заканчиваем его . в отдельной строке):

test message . 
250 2.0.0 32UN9UO9014819 Message accepted for delivery

В результате выполнения этой последовательности команд на указанный e-mail ( [email protected] ) должно прийти сообщение (" test message ").

Выход из telnet командой:

quit
221 2.0.0 mydomain.ru closing connection Connection closed by foreign host.

Настройка php.ini для отправки email с помощью SendMail.

Для того, чтобы можно было использовать SendMail для отправки писем с помощью php, нужно в файле php.ini присутствие строки:

sendmail_path = /usr/sbin/sendmail -t -i

Проверка отправки письма с помощью PHP.

Для проверки отправки письма SendMail в PHP используем функцию mail() :

[email protected]","test message", "test message","From:[email protected]"); ?>

Итоги.

В результате мы настроили SMTP-сервер, который может отправлять почту. А также настроили PHP для того, чтобы с его помощью также можно было отправлять e-mail письма функцией mail() .

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! 😉

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *