Как установить и настроить sendmail на ubuntu

Этот урок расскажет как настроить работающий почтовый сервер в Ubuntu или Debian. Как мы знаем, два главных протокола используются в почтовом сервере — это SMTP и POP/IMAP. В этом уроке postfix будет использован для SMTP, в то время как dovecot будет использоваться для POP/IMAP. Они оба с открытым исходным кодом, стабильные и имеют множество настроек.

Пожалуйста, обратите внимание, что вопросы безопасности почтового сервера за сферой данного урока, и они освещены в статье «Как установить Clam Antivirus, SpamAssassin и MailScanner на почтовом сервере под Ubuntu».

Предварительные требования

Каждый домен должен иметь запись на DNS сервере. Рекомендуется НЕ использовать живые домены для целей тестирования. В этом уроке тестовый домен example.tst будет использован в лабораторных условиях. DNS сервер для этого гипотетического домена имел бы, по крайней мере, следующие записи.

  • Прямая зона для example.tst:

IN MX 10 mail.example.tst.
mail.example.tst. IN A 192.168.10.1

  • Обратная зона для example.tst:

192.168.10.1 IN PTR mail.example.tst.

Когда настраивается живой почтовый сервер, эти записи могут быть изменены, в соответствии с системными требованиями.

Настройка имени хоста (hostname)

Во-первых, hostname почтового сервера должно быть определено в /etc/hostname и /etc/hosts. Причём в первом файле следует размещать только имя хоста.

root@mail:~# vim /etc/hostname
mail
root@mail:~# vim /etc/hosts

## IP Полностью определённое доменное имя Имя хоста ##
192.168.10.1 mail.example.tst mail

Добавление пользователей

Каждый пользователь Linux, по умолчанию, имеет автоматически созданный почтовый ящик. Эти пользователи и почтовые ящики будут использоваться как почтовые учётные записи и соответствующие им адреса почтовых ящиков. Создание пользователя очень простое.

root@mail:~# adduser alex

Установка и настройка SMTP

Профиль службы: postfix
Каталог с конфигурационными файлами /etc/postfix/
Скрипт /etc/init.d/postfix
Лог-файл /var/log/mail.log
Номер порта TCP/25

SMTP: Установка postfix

postfix это один из наиболее используемых SMTP серверов, поскольку он стабильный, лёгкий, масштабируемый и высоко настраиваемый. Установка postfix может быть выполнена использованием apt-get.

root@mail:~# apt-get install postfix

  • Во время установки задаются тип почтового сервера и доменное имя.
  • Как установить и настроить sendmail на ubuntu
  • Как установить и настроить sendmail на ubuntu
  • Так как почтовый сервер будет отправлять письма напрямую к месту назначения, то нужно использовать «Интернет-сайт».
  • Как установить и настроить sendmail на ubuntu

Также задаём доменное имя почтового сервера. Эта настройка определяет, что все письма, приходящие с этого почтового сервера, будут иметь @example.tst в качестве домена отправителя.

Конфигурационные файлы postfix размещены в /etc/postfix. Важны следующие конфигурационные файлы. Некоторые из них могут отсутствовать и их нужно создать вручную.

  • transport: В первую очередь используется для определения, как почта должна быть направлена в направлении конкретного домена назначения. Это тот случай, когда кому-то может быть потребуется отправлять почту, предназначенную для домена XYZ.com, напрямую на IP адрес X.Y.Y.X независимо от каких-либо результатов запросов DNS.
  • access: Может быть использован в целях безопасности, например для блокирования отправителей/получателей и их доменов.
  • aliases: Используется для задания пользовательских псевдонимов. Например, почта отправленная пользователю userA должна быть принята пользователем userB, а также пользователем userC.
  • main.cf: Это конфигурационный файл для postfix.

SMTP: Настройка конфигурационных файлов

Время приготовить конфигурационные файлы. Файлы transport и aliases не поставляются при установке, их нужно создать вручную.

root@mail:~# cd /etc/postfix
root@mail:/etc/postfix# touch transport aliases

Сделайте резервную копию main.cf а затем модифицируйте. Следующие строки добавлены/изменены в конфигурационном файле. Для дальнейших подробностей о параметрах обратитесь к официальному README и документу по настройки.

root@mail:/etc/postfix# vim main.cf
## имя сервера ##
myhostname = mail.example.tst

## определение псевдонимов ##
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases

## определение transport ##
transport_maps = hash:/etc/postfix/transport

## myorigin задаёт доменное имя для писем, берущих начало с этого сервера. В нашем случае, все исходящие письма должны иметь '@example.tst' в качестве домена отправителя ##
myorigin = example.tst

## mydestination параметр определяет, какие домены эта машина будет доставлять локально вместо того, чтобы переправлять на другую машину. ##
mydestination = mail.example.tst, localhost.example.tst, localhost, hash:/etc/postfix/transport

## адрес smarthost. В этом уроке не используется, о нём будет расказанов в будущей инструкции ##
relayhost =

## доверенные сети отправителя. postfix не будет пересылать письма, приходящие из других сетей ##
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.10.0/24

## размер почтового ящика в байтах. 0 означает без ограничений ##
mailbox_size_limit = 0

## postfix будет прослушивать все доступные интерфейсы, например, eth0, eth1, eth2 и так далее ##
inet_interfaces = all

Письмам, предназначенным для домена example.tst, определено быть доставлено локально без каких-либо DNS запросов.

root@mail:/etc/postfix# vim transport
example.tst local:
.example.tst local:
root@mail:/etc/postfix# postmap transport

Предполагаем, что все письма, отправленные пользователю userA, должны быть доставлены также пользователю userB, для этого файл aliases изменён как показано ниже:

root@mail:/etc/postfix# vim aliases
userA: userA, userB
root@mail:/etc/postfix# postalias aliases

Обратите внимание: Синтекс 'userA: userB' определяет, что почта должна быть направлена только пользователю userB. Пользователь userA не будет получать копию письма.

SMTP: Запуск и обслуживание

postfix может быть запущен командой.

root@mail:~# service postfix restart

Лог-файл в /var/log/mail.log должен предоставить полезную информацию, если что-то пойдёт не так. Прослушивает ли почтовый сервер TCP порт 25 можно также проверить используя netstat.

root@mail:~# netstat -nat
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN

Как видно из вывода, сервер прослушивает TCP порт 25 для входящих запросов соединений.

Установка и настройка POP/IMAP

Профиль службы: dovecot
Директория конфигурационных файлов /etc/dovecot
Скрипт /etc/init.d/dovecot
Файл журнала /var/log/mail.log
Номер порта TCP: 110 (POP3), 143 (IMAP), 993 (IMAPS), 995 (POP3S)  

POP/IMAP: Установка dovecot

dovecot — это, без сомнений, лидирующее IMAP и POP серверное программное обеспечения в сообществе опен сорс. Очень просто установить и настроить dovecot. Для установки dovecot мы опять будем использовать apt-get.

root@mail:~# apt-get install dovecot-common dovecot-pop3d dovecot-imapd

Прямо из коробки dovecot может поддерживать POP3 и IMAP (обычный текст), а также зашифрованный POP3S и IMAPS (безопасный). По умолчанию dovecot создаёт и использует самоподписанный сертификат для SSL шифрования. Сертификаты могут быть созданы вручную или ипортированы позже, в зависимости от требований. В этом уроке будет использован сапомодписанный сертификат, сгенерированный dovecot.

На последних версиях больше не создаёт. Сертификаты нужно создавать вручную и вручную подключать их. Как это сделать, описано в этой инструкции.

POP/IMAP: Подготовка конфигурационных файлов

Следующие параметры изменяются как нужно.

root@mail:~# vim /etc/dovecot/conf.d/10-mail.conf
## расположение почтовых ящиков, заданных в формате 'mbox' ##
mail_location = mbox:~/mail:INBOX=/var/mail/%u

## dovecot даны необходимые разрешения на чтение/запись пользовательских почтовых ящиков ##
mail_privileged_group = mail

Этого должно быть достаточно для запуска службы POP/IMAP в почтовом сервере.

POP/IMAP: Установка службы

Сейчас, когда dovecot установлен и настроен, он может быть запущен, используя следующую команду.

root@mail:~# service dovecot restart

Вновь лог-файл (/var/log/mail.log) может предоставить важные зацепки, если что-то пойдёт не так. Узнать, запущен ли dovecot, можно при использовании netstat следующим образом.

root@mail:/etc/dovecot/conf.d# netstat -nat

tcp 0 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
tcp 0 0 0 0.0.0.0:143 0.0.0.0:* LISTEN

Использование почтового сервера с пользовательской почтовой программой

Почтовый сервер теперь готов к использованию. Почтовая учётная запись может быть настроена с использованием вашего любимого почтового клиента на настольном компьютере, ноутбуке, планшете или телефоне.

Можно настроить и webmail (почту с веб-интерфейсом) на сервере, но инструкция по webmail будет в следующих уроках.

 На данном этапе, почтовая программа Mozilla Thunderbird определила следующие настройки для моего сервера:

Как установить и настроить sendmail на ubuntu

Крайне рекомендуется перейти и продолжить по этой инструкции для включения SSL шифрования.

Решение проблем с почтовым сервером

  • Лучший ваш друг – это лог-файл /var/log/mail.log. Любые зацепки, почему почта не работает, могут быть найдены здесь.
  • Убедитесь, что файервол должным образом настроен.
  • Убедитесь, что DNS сервер имеет должные записи.

Подытоживая, демонстрация в этом уроке, как уже было упомянуто, проходила в лабораторных условиях.

Может быть развёрнут тестовый DNS сервер со всеми необходимыми записями, и пользователи будут между собой обмениваться письмами на одном и том же сервере, например, том же домене.

Чтобы сделать ещё интереснее, можно развернуть множество почтовых серверов с различными доменами, для проверки работы связи между доменами, для этого должны присутствовать необходимые DNS записи.

Валидные DNS записи необходимы для живых почтовых серверов. Можно сделать тюнинг настроек postfix и dovecot в соответствии с потребностями.

Внимание: Для тех, кто хочет развернуть живой почтовый сервер, или любой почтовый сервер, который имеет доступ в Интернет, убедитесь, что ваш SMTP обезопасен. Обычно атаки на SMTP происходят из Интернета, так и от зловредных программ внутри локальной сети.

Надеюсь это поможет.

Эти программы нельзя установить на виртуальный хостинг. Полностью автономный почтовый сервер можно сделать только на виртуальном частном (выделенном) сервере, т. е. На VDS (VPS).

Самые дешёвые облачные VDS (VPS) сервера! За 180 рублей/мес — эта статья, как следует из заголовка, расскажет вам о качественном и при этом самом дешёвом варианте виртуального частного сервера, которые при этом ещё и используют облачные технологии.

Вообще, тема почты очень близка авторам codeby.

net, мы уже рассматривали в разное время вопросы создания почты на своих собственных доменах (это позволяет выбрать короткие и красивые имена для почтовых ящиков), как «прикрутить» свой домен к mail.

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

Источник: https://codeby.net/blogs/kak-ustanovit-pochtovyj-server-v-ubuntu-ili-debian/

Настройка связки DKIM + sendmail на сервере Ubuntu

Как установить и настроить sendmail на ubuntu

Если вдруг перед вами встала задача использования Sendmail для отправки почты вместо использования альтернативных способов, стоит подумать о том, чтобы верно настроить DKIM-запись, чем обезопасить свою корреспонденцию от придирчивых спам-фильтров. Однако, не всегда этот процесс проходит просто и быстро. В сети множество инструкций о том, как это сделать, но итогом нескольких часов настройки стал собственный опыт и этот мануал.

Сегодняшняя инструкция протестирована на сервере с Linux Ubuntu 16.04.

Сначала установка sendmail

Тут всё просто. Достаточно выполнить команду:

sudo apt-get update

sudo apt-get install sendmail

Если не сработает, иногда приходится добавить также:

sudo apt-get install sensible-mda

sudo apt-get install sendmail-bin

После этого стоит обновить файл hosts, открыв его на редактирование командой:

Добавляем туда строку:

127.0.0.1 localhost localhost.localdomain имя_вашего_хоста

Здесь обратите внимание на «имя вашего хоста», которое необходимо заменить на справедливое для вас значение.

Затем пересобираем конфиг и перезапускаем сервис:

sendmailconfig

service sendmail restart

Приступаем к DKIM

Нам потребуются пакеты. Доустанваливаем тех, что скорее всего, пока не хватает:

apt-get install opendkim opendkim-tools

Затем создаём директорию для хранения ключей:

mkdir -p /etc/opendkim/keys/ваш_домен_ру

Здесь и далее мы будем использовать в коде подстановку «ваш_домен_ру», которую необходимо заменить на соответствующее название домена. Будьте внимательны, это нам потребуется ещё ни один раз.

Далее потребуется сгенерировать ключи. Приватные будут храниться на вашем сервере, а публичные нужно будет прописать в виде DNS-записей у хостера. Здесь же придумываем название селектора, которое сейчас и в дальнейшем будем использовать. В нашем случае это будет слово «mail».

opendkim-genkey -D /etc/opendkim/keys/your-domain.com -d your-domain.com -s default

После выполнения команды в директории хранения ключей будет создано два файла с именами «mail.private» и «mail.txt».

Теперь назначаем верные права доступа и владельца:

chown -R opendkim:opendkim /etc/opendkim/keys/ващ_домен_ру

chmod 640 /etc/opendkim/keys/your-domain.com/mail.private

chmod 644 /etc/opendkim/keys/your-domain.com/mail.txt

Залезаем в конфиг командой:

sudo nano /etc/opendkim.conf

И вставляем туда эти строки (это пример работающего конфига, который подойдёт для большинства пользователей):

  • AutoRestart Yes
  • AutoRestartRate 10/1h
  • UMask 002
  • Syslog yes
  • SyslogSuccess Yes
  • LogWhy Yes
  • Canonicalization relaxed/simple
  • ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
  • InternalHosts refile:/etc/opendkim/TrustedHosts
  • KeyTable refile:/etc/opendkim/KeyTable
  • SigningTable refile:/etc/opendkim/SigningTable
  • Mode sv
  • PidFile /var/run/opendkim/opendkim.pid
  • SignatureAlgorithm rsa-sha256
  • UserID opendkim:opendkim

Socket inet:8891@127.0.0.1

Domain ваш_домен_ру

Selector mail

Теперь создаём те самые три файла, что описали в конфиге. Сначала первый:

sudo nano /etc/opendkim/KeyTable

Вставляем содержимое:

mail._domainkey.ваш_домен_ру ваш_домен_ру:mail:/etc/opendkim/keys/ващ_домен_ру/mail.private

Создаём второй:

sudo nano /etc/opendkim/SigningTable

Читайте также:  Как выбрать игровой ноутбук

Содержимое:

*@ваш_домен_ру mail._domainkey.ваш_домен_ру

Переходим к третьему:

sudo nano /etc/opendkim/TrustedHosts

Вставляем туда строки:

127.0.0.1

localhost

ваш_домен_ру

Снова конфигурируем sendmail, сообщая о том, что теперь есть подпись DKIM. Открываем на редактирование файл:

sudo nano /etc/mail/sendmail.mc

И добавляем в конец файла строку:

INPUT_MAIL_FILTER(`opendkim', `S=inet:8891@127.0.0.1')

Редактируем ещё один конфиг:

sudo nano /etc/default/opendkim

Здесь нужно раскомментировать строку «SOCKET=»inet:8891@localhost»».

Затем снова пересобираем конфиг sendmail, перезапускаем службу и запускаем openDKIM:

  1. sendmailconfig
  2. service sendmail restart
  3. service opendkim start

Пора добавить DNS-записи

Для начала нам потребуется просмотреть содержимое файла ключа:

cat /etc/opendkim/keys/ваш_домен_ру/mail.txt

В итоге увидим что-то в духе:

default._domainkey IN  TXT ( «v=DKIM1; k=rsa; «

«p=MIGfMA0000qGSIb3DQEBAQUAA4GNADCxxxxBgQCgmHiX7BojGFoggggXa25Xs444WRhLmNpnv7777TY7FU4mG/WxtgrpV////Tzt3EZQ1/BpyICjlJZXIhgggguePnyd/iNFh4xKF3pi8yoqWB0eyq6KI/fXUbUWdd+NiU4ffffv89St92g24UFaElEl54XXCa6GlllldHFMetkBXwID/QAB» ) ; —— DKIM key default for droidnews.ru

Теперь в панели хостера необходимо добавить TXT-Запись «mail._domainkey» (здесь «mail» снова выбранный нами ранее селектор). В качестве значения указываем всё, что прописано в кавычках, включая кавычки.

Как установить и настроить sendmail на ubuntu

Проверяем результат

Чтобы понять, верно ли у нас всё получилось, можно, например, воспользоваться сервисом https://www.mail-tester.com или http://www.isnotspam.com, http://www.appmaildev.com/en/dkim, https://mxtoolbox.com/SuperTool.aspx, которые расскажут о том, удалось отправить подписанное письмо с вашего сервера, а также проверить вашу DKIM-запись на валидность. Кроме того, даст ещё некоторые полезные советы, как повысить рейтинг вашего отправления, чтобы оно было успешно доставлено до адресата, минуя спам-фильтры.

Ещё пара полезных записей в DNS

Почтовые сервисы также одобрят у вас появление записи DMARC.

Для этого в панели хостера добавляем TXT-запись «_ваш_домен_ру» (первый знак нижнего подчёркивания надо оставить) со следующим значением «v=DMARC1; p=none».

Кроме того, добавим SPF-запись. TXT-запись с названием «ваш_домен_ру» и значением «v=spf1 a mx -all».

Теперь ваши письма должны всегда успешно доходить до адресатов.

Если вам интересны новости мира ИТ также сильно, как нам, подписывайтесь на наш Telegram-канал

Источник: https://droidnews.ru/nastrojka-dkim-zapisi-dlya-raboty-s-sendmail-na-servere-s-linux-ubuntu

Установка и настройка DHCP сервера в Ubuntu

Как установить и настроить sendmail на ubuntu

Зачастую в больших сетях для упрощения работы с добавлением новых компьютеров и других устройств в сеть используют протокол динамического выделения адресов — DHCP. Это значительно упрощает настройку оборудования и экономит огромное количество времени. Используя DHCP нам не нужно производить настройку сети на каждом отдельном устройстве, нужно лишь подключить устройство к сети и DHCP сервер сделает все настройки автоматически. Каждый домашний WiFi роутер имеет в себе встроенный DHCP сервер, поэтому вам не нужно каждый раз при подключении к разным роутерам прописывать все настройки вручную, роутер делает это за вас.

DHCP сервер может автоматически присвоить клиенту:

  • Адрес ip;
  • Маску подсети;
  • IP адрес шлюза;
  • IP адрес DNS сервера;

В отдельных случаях:

  • Имя хоста;
  • Имя домена;
  • Адрес серверов времени(NTP);

Преимущество использования DHCP сервера заключается в том, что при огромных размерах сети в несколько тысяч устройств, её будет очень удобно и почти безболезненно настраивать.

Представьте себе, если в сети нужно поменять ip адреса на персональных компьютерах сотрудников, принтерам выдать иные адреса, управляемому сетевому оборудованию еще назначить и свои. При размерах сети в несколько тысяч устройств, ручная настройка отняла бы у вас огромное количество времени.

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

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

Установка и настройка DHCP сервера

В Ubuntu установка и настройка DHCP сервера выполняется всего в несколько шагов, быстро и продуктивно. Для того, чтобы начать использовать сервер нужно установить программное обеспечение на компьютер, делается это при помощи команды:

sudo apt-get install isc-dhcp-server

Минимальная настройка DHCP сервера включает в себя редактирование только 2х файлов.

Первый файл который мы с вами отредактируем, это nano /etc/default/isc-dhcp-server и добавляем/редактируем всего одну строку:

INTERFACES=»eth3″

где «eth3» интерфейс к которому подключаются клиенты с внутренней сети и который будет слушать DHCP;

Теперь собственно и сама настройка DHCP сервера. Открываем файл nano /etc/dhcp/dhcpd.conf и удаляем все содержимое.
Сейчас мы с вами настроим сервер только для раздачи адресов всем устройствам, которые будут запрашивать у сервера адрес. Добавляем в файл строки:

default-lease-time 7200;
max-lease-time 43200;

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.200;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1;
}

Разберем по-порядку строки которые мы внесли в этот файл:

  • default-lease-time — время аренды(в секундах) адреса у сервера, если клиент не запросил другое;
  • max-lease-time — максимальное время аренды адреса;
  • subnet — описывает сеть ip и её маску;
  • range — диапазон адресов с которых по запросу клиента будут предоставляться адреса;
  • option routers — адрес роутера. Это должен быть адрес интерфейса через который пользователи попадают в интернет.
  • option domain-name-servers — адрес DNS сервера. Указывает на то, что сервер расположен на этом же компьютере и слушает интерфейс с адресом 192.168.0.1

Источник: https://sysadmin-note.ru/ustanovka-i-nastrojka-dhcp-servera-v-ubuntu/

Отправка почты sendmail с убунту. Настраиваем Sendmail

Она появилась ещё в 1983 году, но активно используется и по сей день. Среди ключевых особенностей — поддержка многими платформами, которые существуют сегодня, а также бесплатность. Приложение поставляется вместе с открытым исходным кодом.

Это значит, что каждый желающий может добавить в него свою функциональность, или же изменить по желанию.

В операционной системе Ubuntu, Sendmail, настройка которой выполняется благодаря командной строке Linux, прижилась благодаря хорошей поддержке и богатым возможностям.

Процессор сообщение — Sendmail — получил широкое распространение в бизнес сфере.

На сегодня достаточно распространён «процессор сообщений» Сендмейл Sentrion, который был создан с учётом нужд крупных компаний.

Его отличительные черты — высокая производительность и хорошая интегрируемость со всеми бизнес-процессами.

Sentrion предлагает наряду с новыми технологиями использовать и устаревшие приложения, которые хорошо прижились. Также приложение достаточно дружелюбно, чтобы подходить домашним пользователям .

Установка программы

Устанавливать Сендмейл нужно на базе локального сервера или web-сервера. Во втором случае почтовый агент будет более функционален. Чтобы получить все компоненты веб-сервера, вам потребуется стек компонентов LAMP . Его можно найти в репозитории.

ВАЖНО. Перед установкой нового ПО не забудьте обновить списки пакетов в локальном репозитории с помощью команды

«$ sudo apt-get update»

Инсталляция Сендмейл начинается с помощью команды «sudo apt install sendmail», которая выполнит загрузку пакетов почтового агента.

«mcedit /etc/hosts»«sudo sendmailconfig»

После этого требуется перезапустить службы самой программы, а также web-сервера Apache:

«sudo /etc/init.d/sendmail restart»«sudo /etc/init.d/apache2 restart»

Если необходимо, можно установить утилиты для работы с почтой:

«sudo install mailutils»

Как установить и настроить sendmail на ubuntu

Руководство по установке и настройке одного из старейших MTA
(Mail Transfer Agent
), программа для отправки электронной почты — sendmail
, который доступен для установки на любой операционной системе.

Во многих ОСях sendmail установлен по умолчанию и менять этот стандартный MTA на другой особой необходимости нет. При этом, тот же PHP по дефолту настроен на работу именно с этим MTA.

Если настройка sendmail затягивается — ставьте postfix (), не стоит терять много времени.

Подготовка

Проверьте установлен ли у вас 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:

AuthInfo:smtp.gmail.com «U:[email protected]» «I:[email protected]» «P:YourPass» «M:PLAIN»
AuthInfo:smtp.gmail.com:465 «U:[email protected]» «I:[email protected]» «P:YourPass» «M:PLAIN»

Примечание

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

AuthInfo:smtp.gmail.com:587 «U:[email protected]» «I:[email protected]» «P:YourPass» «M:PLAIN»

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 [email protected] -i»

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

echo «Текст сообщения» | mail -s «Subjet» [email protected]
sendmail -t [email protected] -f [email protected] -v -i < ~/mail-body.txt

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

Управление sendmail

  • Посмотреть всю очередь сообщений:
  • Sudo mailq
  • Посмотреть очередь сообщений по определенному адресу:
  • Sudo mailq | grep «[email protected]» | wc -l
  • Очистить всю очередь сообщений sendmail:
  • Sudo rm -r /var/spool/mqueue-client/*
  • Очистить очередь сообщений sendmail по адресату:
  • Cd /var/spool/mqueue
    ls | xargs -ti sh -c «grep «[email protected]» «{}» > /dev/null && rm -f «{}»»
  • #sendmail, #LAMP, #MTA

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

Для начала небольшое отступление

SMTP — Simple Mail Transfer Protocol — сервис в сетях TCP/IP для передачи сообщений (т.е. почты). Обычно для SMTP используется 25-ый порт (см. файл /etc/services)

POP — Post Office Protocol — используется для получения почты с сервера. Порт по умолчанию — 110 (для протокола POP3)

Сейчас я попробую объяснить, как настроить небольшой почтовый сервер, использующий POP3 и SMTP

Для начала установим необходимый софт. Нам понадобятся sendmail и imap. Если вы используете RH-совместимую версию Linux, вам потребуется установить соответствующие пакеты. Я использую sendmail-8.11.0

imap-4.7c2

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

Произведем базовую настройку sendmail. Для этого нужно запустить утилиту netconf
. Она работает как из-под Х, так и из-под консоли. Утилита netconf есть в RH, Mandrake — насчет других версий я точно не знаю. (ее нет в KSI Linux). Естественно, вы должны быть зарегистрированы в системе под root»ом

Выберите в меню Mail delivery system
, затем Basic sendmail configuration
В поле Present your system as просто введите свое доменное имя

Затем отметьте флажок Accept email for …

Протокол отправки сообщений установите в smtp (Mail gateway protocol
)

Этой информации уже вполне достаточно, чтобы ваш sendmail функционировал. Вы можете установить дополнительные опции программы sendmail с помощью netconf. Если у вас нет программы sendmail, вы получите незабываемое удовольствие от ручного редактирования файла /etc/sendmail.cf — в нем

Читайте также:  Как установить и удалить directx

хранятся настройки) 🙂

Теперь сделаем так, чтобы sendmail принимал почту только с разрешенных адресов. Для этого даже не нужно настраивать сам sendmail — нужно только подправить файлы /etc/hosts.allow и /etc/hosts.

deny В первом из них содержится список хостов, которым разрешен доступ к этой машине, а во втором — запрещен.

Обратите внимание: несмотря на название (разрешен|запрещен), ограничения, которые устанавливаются первым файлом

намного строже.

Пример. Для запрещения доступа всем хостам, кроме компьютеров вашей сети в файл /etc/hosts.allow добавьте строку «192.168.1. Здесь имеется в виду, что сеть имеет адрес 192.168.1.0 и маску 255.255.255.0 Более подробно о формате файлов hosts.allow и hosts.deny вы можете прочитать,

  1. введя команду man /etc/hosts.allow
  2. Для того, чтобы принимать почту только со «своих» доменов, нужно добавить в mc-файл (обычно /etc/mail/sendmail.mc) следующие строки (используйте табуляцию, а не пробелы) LOCAL_CONFIG
  3. FR-o /etc/sendmail.cR
  4. LOCAL_RULESETS Scheck_rcpt # anything terminating locally is ok
  5. R< $+ @ $=w > [email protected] OK

R< $+ @ $=R > [email protected] OK

# anything originating locally is ok R$* $: $(dequote «» $&{client_name} $)

R$=w [email protected] OK

R$=R [email protected] OK [email protected] [email protected] OK

# anything else is bogus R$* $#error $: «550 Relaying Denied»

Теперь создайте файл /etc/sendmail.cR и введите в него имена «своих» доменов — по одному в каждой строчке. Только на эти домены почтовик сможет получать почту — все остальные получат

сообщение 550 Relaying Denied

Теперь настала очередь POP3. После установки пакета imap у вас практически все настроено, т.е. я хочу сказать, что уже можно проверять конфигурацию.

Для начала перезапустите демон inetd После его перезапуска сервисы sendmail и popd будут активированы (точнее

один sendmail, а popd вызывается по мере необходимости)

Попробуйте сделать следующее: введите telnet 25 Вы должны увидеть примерно следующее: Trying 192.168.1.1 … Connected to 192.168.1.1 Escape character is «^]»

220 de.dhsilabs.com ESMTP Sendmail 8.11.0/8.8.7 Sun, 17 Jun 2001 10:54:22 +300

Это означает, что sendmail работает, осталось проверить насколько правильно:)

Вводим mail from: [email protected] 220 2.1.0 [email protected] …. Sender Ok rcpt to: [email protected] 220 2.1.5 [email protected] …. Recipient Ok Теперь вводим data, потом текст сообщения, для окончания ввода ставим точку

в пустой строке

Sendmail сообщит, что сообщение отправлено (точнее помещено в очередь на отправление)

[email protected] -имя пользователя, которому я отправляю почту. den.dhsilabs.com — имя моего почтовика Обратите внимание, что узла my.host.com и в природе нет, а Sender Ok.

Вот поэтому, в настройках sendmail лучше включить опцию Wait for DNS

Теперь нужно запустить какой-нибудь почтовый клиент например kmail и забрать почту. Настройки сети в kmail Сеть -> Отправка почты установите SMTP, 25-ый порт, имя сервера — имя вашего почтовика,

у меня — den.dhsilabs.com

Затем добавьте аккуант для POP3 Логи — den Пароль — пароль который используется для входа в систему Сервер — den.dhsilabs.com

Порт — 110

Вы должны получить то, сообщение, которое ввели после data.

Я не администратор, поэтому относитесь к этой заметке с осторожностью.
Рассматривается такя ситуация: надо заставить sendmail сервера отправлять почту, но ничего в ответ не принимать. Строго для оповещений с сайтов. У меня вдс-ка с предустановленным exim4 на который, насколько я понимаю, «ссылается» sendmail. Т.е. фактически работает exim4.

Сначала настраиваем хост (my-host-name
это имя нашего хоста с которого все будет ездить) sudo mcedit /etc/hosts
В файле должны быть строки вида 127.0.0.1 localhost
111.111.111.111 hostname.my-hoster.

net my-host-name
Далее меняем имя хоста в файле sudo mcedit /etc/hostname
Файл должен выглядеть вот так (полностью, т.е. только имя хоста и все) my-host-name
Теперь перегружаем службу которая грубо говоря обновляет имя хоста глобально sudo /etc/init.d/hostname.

sh stop
sudo /etc/init.d/hostname.

sh start
# если такого скрипта нет, то пробуем иначе:
sudo service hostname restart
REM
ещё такой вариант есть, для Debian 9 (stretch) hostnamectl set-hostname my-host-name
Теперь выполняем команды hostname
hostname -f
Если все правильно сделано, то они обе должны вернуть значение my-host-name (т.е. имя вашего хоста)

Теперь надо настроить сам sendmail. В моем случае, нужно перенастроеить exim4. Делается это примерно так: sudo dpkg-reconfigure exim4-config
После этого в мастере просто нужно выбирать значения (именно для exim4
)

  • internet site..
  • вводим название вашего хоста (my-host-name)
  • ip для smtp устанавливаем только 127.0.0.1 т.к. нам не нужны внешние подключения по smtp
  • другие допустимые назначения оставляем по умолчанию
  • домены для разрешенного релея — оставляем пустым
  • машины для релея — оставляем пустым
  • кол-во днс запросов на ваше усмотрение, я не ограничивал
  • метод доставки я оставил тот же который был, т.е. /var/mail
  • разделять не разделять файлы конфигурации — на ваше усмотрение, аргументы там описаны, я разделять не стал

Теперь, чтобы проверить ходит ли почта делаем так sendmail -i [email protected]
Далее вводим тект тестового сообщения. И по готовности нажимаем Ctrl+d
Идем проверяем свою почту. Если письмо пришло — все ок и ура. Если нет — идем гуглить дальше:)

Дальше надо убедиться что на нашем сервере недоступен smtp, для этого нам надо сходить с локальной машины постучаться в 25 порт сервера и получить отлуп. Делается это например так: telnet my-host-name 25
Trying 111.111.111.111…
telnet: Unable to connect to remote host: Connection refused
Если все так, то все тип-топ. Порт закрыт.

Ещё маленькая фишка. Бывает так что по каким-то причинам, сервис рулящий веб-приложением надо перезапускать регулярно. В моем случае это node.js и делаю я это по крону раз в N времени.

Так вот если перезапустить процесс кроном, то sendmail перестает работать, потому как приложение не знает где он, в path пути до него просто нет и соот-но он просто не находится.

Точно так же можно передавать любые другие настройки переменных окружения. Как это делать смотрим ниже.

Сначала посмотрим где sendmail which sendmail
/usr/local/bin/sendmail
Ок, видим путь. Если вдруг не видим то идем смотреть тоже самое но под sudo. Теперь идем в кронтаб и добавляем переменные окружения там.

crontab -e
Откроется редактирование заданий для текущего пользователя.

То есть все задания будут выполнены с правами текущего пользователя и сервис запустится с правами этого пользователя, если он запускается конечно согласно вашему плану:)

# это переменная которая рассказывает где искать sendmail,
# другие нужные пути можно писать через разделитель — двоеточие
# там будут искаться необходимые нам утилиты
PATH=/usr/local/bin
# это пример переменной окружения которую будет использовать само приложение
NODE_ENV=production
# это собственно само задание, гуглим по формату crontab чтобы понять что к чему
# в данном случае скрипт будет срабатывать в 30 минут каждого четного часа
*/30 */2 * * * /home/user/blog/scripts/restart.sh
Ну вот примерно так. Прошу не воспринимать эту заметку как полное руководство к действию
, вполне возможно что для вашего случая все будет значительно отличаться. Но возможно это как-то поможет или хотя бы наведет на мысли в нужном направлении:) Успехов!

Источник: https://geekpad.ru/otpravka-pochty-sendmail-s-ubuntu-nastraivaem-sendmail.html

Базовая установка и настройка Sendmail на Ubuntu Server

Вряд ли вам нужен web-сервер, который не может отправить почту с вашего сайта. Ниже простой способ быстро развернуть sendmail в качестве MTA ( Mail Transfer Agent ), отправляющего почту для сайта.

Для начала установка

sudo apt-get install sendmail

Второе и самое главное — правильная настройка самого хоста. Почтовику требуется чётко знать какое DNS FQDN имя у хоста и что оно существует на просторах мировой сети.

Предположим, что сервер, на котором работает sendmail имеет IP адрес 123.123.123.123

Также у нас есть доменное имя domainame.com, которое правильно делегировано на IP адрес сервера.

Редактируем файл /etc/hosts, чтобы сервер сам знал своё DNS имя ( естественно, что оно должно быть правильным и реальным )

sudo nano -w /etc/hosts

Вторая строка, которую стоит дописать и есть описание доменного имени сервера, его сопоставление с реальным IP адресом хоста и внутренним системным названием:

127.0.0.1 localhost
123.123.123.123 box1.domainname.com your-web-server

После чего нужно внести изменение в файл /etc/hostname

sudo nano -w /etc/hostname

И вписать туда правильное имя сервера, которое было вписано в /etc/hosts в нашем примере — это your-web-server.

  Ace stream инструкция по установке на Ubuntu

Содержимое файла /etc/hostname после редактирования :

your-web-server

После этих действий нужно перезагрузить сервер или выполнить:

/etc/init.d/hostname restart
И выполнить 2 команды:
hostname
hostname -f

Если всё правильно, система должна выдать одинаковые имена в обоих случаях: your-web-server

Советую проверить отправку письма таким образом

# telnet localhost smtp

нам выдает:Trying ::1…
Trying 127.0.0.1…
Connected to localhost.
Escape character is '^]'.
220 localhost6.localdomain6 ESMTP Sendmail
8.14.3/8.14.3/Debian-9.2ubuntu1; Thu, 9 Dec 2010 15:31:17 +0200;
(No UCE/UBE) logging access from: localhost.localdomain(OK)-
localhost.localdomain [127.0.0.1]

вводим:HELO localhost

нам выдает:250 localhost6.localdomain6 Hello localhost.localdomain [127.0.0.1],
pleased to meet you

вводим:MAIL FROM: no-reply@gmail.com

нам выдает:250 2.1.0 no-reply@gmail.com… Sender ok

вводим:RCPT TO: my_exist@gmail.com

нам выдает:250 2.1.5 my_exist@gmail.com… Recipient ok

вводим:DATA

нам выдает:354 Enter mail, end with «.» on a line by itself

вводимtest message
.

я надеюсь что вы догадались что указанную почту выше нужно было заменить на свою

последнее что пишет нам телнет250 2.0.0 oB9DVHsE004837 Message accepted for delivery

В результате выполнения последовательности комманд на указанный e-mail (my_exist@gmail.com) должно прийти сообщение («test message»).

Настройка php.ini

gedit /etc/php5/apache2/php.ini

Находим и редактируем следующую строчку

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

Проверка функции mail()

Настройка завершена я надеюсь у вас получилось настроить Sendmail на Ubuntu

Источник: https://neoblogs.net/2013/04/19/bazovaya-ustanovka-i-nastrojka-sendmail-na-ubuntu-server/

How to Install Sendmail on Ubuntu 18.04 & 16.04 LTS – TecAdmin

Sendmail is a general purpose email routing facility used for email transport over the Internet. It includes SMTP (Simple Mail Transfer Protocol) for the mail-transfer and email delivery.

Most of the system administrators preferred to use Sendmail server as MTA than other MTAs.

You can also use Sendmail server to send the email via external SMTP servers like Gmail, Amazon SES, MailChimp etc.

Postfix is the default SMTP service pre-installed on Ubuntu operating systems. And you are willing to use Sendmail server on your system.

First of all, remove the existing postfix installation on Ubuntu.

sudo systemctl stop postfix
sudo apt remove postfix && apt purge postfix

If you don’t have installed Sendmail using the following command to install Sendmail with other required packages using yum package manager.

sudo apt install sendmail

The execute the sendmailconfig command to complete the basic configuration.

sudo sendmailconfig

Select all options to ‘Y’ and press enter. Wait for the command finish.

Your server is ready for sending emails. You can use the Linux command line or PHP script to send emails.

Edit /etc/mail/sendmail.mc file and comment below line to allow receiving an email from anywhere. To comment a line in sendmail.mc, just put dnl keyword at the start of the line.

dnl DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
dnl DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl

Then add your domain names to /etc/mail/local-host-names file.

cat /etc/mail/local-host-names tecadmin.net
mail.tecadmin.net
localhost
localhost.localdomain

Now use m4 is a macro processor to compile the Sendmail configuration files. m4 is stream-based, that is, it doesn’t understand about lines.

sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Restart Sendmail service

sudo systemctl restart sendmail

Your system is ready for incoming emails.

Читайте также:  Как перенести игру стим на другой диск

As we read above that virtusertable file used for aliasing, allowing multiple virtual domains to be hosted on one machine.

  • 1. All emails addressed to @example.com domain delivered to [email protected]@example.com [email protected]
  • 2. All emails addressed to [email protected] will forward to local user jack.[email protected] jack
  • 3. All emails addressed to @mydomain.com will forward to domain @otherdomain.com with corresponding usernames.@mydomain.com %[email protected]
  • 4. All emails addressed to @otherdomain.com will be rejected my mail server with acknowledging sender with the message@otherdomain.com error:nouser User unknown

After making all changes in virtusertable execute following command to create updated virtusertable.db file containing the new configuration.

sudo makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable

Now restart Sendmail service

sudo /etc/init.d/sendmail restart

Thanks for reading this article. I hope this article will help you to configure Sendmail on CentOS and Red Hat systems.

References:
http://www.sendmail.com/
http://www.sendmail.com/sm/open_source/docs/m4/intro_m4.html

Источник: https://tecadmin.net/install-sendmail-on-ubuntu/

Настройка sendmail

Sendmail использует очень сложную систему правил для своей конфигурации.
Несмотря на то, что с этой системой можно сделать некоторые хитрости,
писать файл sendmail.cf с нуля достаточно
необычно, и требует больших временных затрат. Если вам интересно все-таки
это проделать, вы должны остановить чтение и прочитать вместо этого
книгу «Bat Book» автора O'Reilly.

Вместо колдования над этими правилами, мы положимся на
макро-процессор m4, чтобы собрать наш
конфигурационный файл из готовых частей, поставляемых вместе с sendmail.

Давайте рассмотрим первые строки файла sendmail.mc:

include(/usr/lib/sendmail.cf/m4/cf.m4)
VERSIONID(`sendmail.mc — roessler@guug.de')
OSTYPE(debian)
define(`ALIAS_FILE',`/etc/mail/aliases')

В начале подключается (include) файл cf.m4
Этот m4-макро файл содержит большое количство макро-определений для
остальной части файла.

Удостоверьтесь, что путь, который вы укажете, верный
— тот который написан у нас, типичен для Debian GNU/Linux. Макрос OSTYPE используется для задания некоторых важных
значений для конфигурации.

Если у вас не Debian, вы должны заменить слово
«debian» словом «linux». ALIAS_FILE
указываеи sendmail-у, где искать список псевдонимов (alias list).

Следующие строки указывают sendmail-у на использование функции
genericstable , а также на файлы
конфигурации, необходимые для этого:

FEATURE(masquerade_envelope) FEATURE(genericstable, `hash
-o /etc/mail/genericstable')
GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain')

Функция masquerade_envelope приводит к
тому, что sendmail производит преобразование адреса отправителя в
заголовке, взяв его с конверта (envelope). Это тот
адрес, куда внешние почтовые системы будут посылать сообщения об ошибках
при доставке. Файлы generics* описываются
ниже.

Теперь, мы должны определить так называемый «смарт-хост» (smart host), то
есть, машину, которая будет обрабатывать почту, исходящую с вашей системы.
Заметьте, что это не обязательно POP или IMAP сервер вашего провайдера.

Если возникнут затруднения, свяжитесь с горячей линией. Строка в основном
файле конфигурации:

define(`SMART_HOST',`mail-out.your.provider')

Здесь замените mail-out.your.

provider полным именем
хоста вашего интернет-провайдера.

Последние две строчки включают определения «mailer»-ов, которые нужны
sendmail-у для определения действий, необходимых для работы с различными
видами почты:

MAILER(local)
MAILER(smtp)

Чтобы создать файл sendmail.cf из
sendmail.mc, запустите следующее (в качестве
root-а):

# m4 sendmail.mc > _sendmail.cf
# mv -f _sendmail.cf sendmail.cf

Заметьте, что здесь применена техника вывода результата во временный файл,
с последующим переносом этого файла на нужное место.

Это помогает
предотвратить чтение частично готового файла конфигурации sendmail-ом.

Сначала, необходимо сообщить sendmail-у, что адреса являются локальными (и
поэтому должны быть подвергнуты преобразованию). Это очень просто: просто
поместите полное (fully qualified) имя вашего хоста в файл
/etc/mail/genericsdomain. Чтобы
узнать это имя, наберите:

Теперь перейдем к правилам преобразования адресов, т.е. к файлу: /etc/mail/genericstable. Этот
файл состоит из двух колонок, разделенных пробелами. Первая колонка
содержит локальный адрес, вторая колонка содержит почтовый адрес, который
должен быть использован вместо локального. Файл выглядит примерно так:

harry harryx@your.isp
maude maudey@her.isp
root fredx@your.isp
news fredx@your.isp
  • Заметьте, что должна быт строка для каждого пользователя
    на локальной машине, чтобы автоматически созданная почта на локальной
    машине, выходя из системы, содержала правильную информацию в заголовке.
  • Из соображений быстродействия, sendmail не использует этот текст напрямую,
    а опирается на «хешированную» (hashed) версию. Чтобы создать ее, наберите:
  • # makemap -r hash genericstable.db < genericstable
  • Заметьте, что правила преобразования из файла genericstable не будут
    воздействовать на локальную почту, или на почту, получаемую извне — эти
    правила работают только тогда, когда письмо покидает вашу локальную систему,
    направляясь к смарт-хосту провайдера.

Файл алиасов содержит локальные имена, которые верны только для внутренней
почты. Это применимо для администраторов, например root, который получает автоматически сгенерированные
сообщения от вашей системы.

  1. Наиболее удачным началом файла /etc/mail/aliases может быть
    примерно следующее:
  2. root: fred
    news: root
    postmaster: root
    mail: root
    www: root

    nobody: /dev/null
    MAILER-DAEMON: nobody

  3. В соответствии с этим, локальная почта для пользователей root, news, postmaster,
    mail и www
    передается пользователю fred, а сообщения для nobody и MAILER-DAEMON
    отправляются в /dev/null.

Как и в случае с genericstable, файл aliases может содержать
множество строк. Поэтому будет неэффективно sendmail-у использовать текстовый файл, как описано выше.

Для
файла aliases используется тот же механизм,
что и для genericstable — генерируется
хешированная база данных. Вместо того, чтобы напрямую запускать makemap, вы можете набрать команду newaliases.

Она автоматически позаботится обо всем, что
нужно сделать.

Источник: https://mirror.yandex.ru/mirrors/ftp.linux.kiev.ua/docs/mirrors/linfoline.homedns.org/howto/mini/Sendmail-Address-Rewrite/x80.html

Как установить простой SMTP клиент (ssmtp) на Ubuntu для отправки почты с сайта

В этой статье я покажу как можно легко и быстро поставить простой SMTP клиент на Ubuntu, который будет подключаться к серверам Яндеса, например для того что бы можно было отправлять почту с сайта. Очень часто советуют ставить postfix, либо sendmail, но я считаю, если вам нужно отправлять почту от имени одного пользователя, например для регистрации на сайте, уведомлений и т.п.

, то ставить эти программы — как стрелять из пушки по воробьям. Во первых они довольно сложны в настройке, во вторых их функционал будет использоваться на очень маленький процент от их возможностей.

Есть такая программа — ssmtp, на форумах почему то о нем часто забывают, а он в свою очередь очень маленькиий, очень простой в настройке, поддерживает шифрование и со своей задачей справляется на ура.

В общем приступим.

Ставим ssmtp из терминала:

sudo apt-get install ssmtp

Редактируем конфиг:

sudo nano /etc/ssmtp/ssmtp.conf

В нем нужно отредактировать строчки:

#от имени кого будут отправляться письма
[email protected]
#С какого домена будут приходить письма
rewriteDomain=mytechnote.ru
#Сервер яндекса
mailhub=smtp.yandex.ru:465
#имя нашего сервера
hostname=mytechnote.ru
#Разрешаем шифрование
UseTLS=YES
#авторизация на Яндексе
[email protected]
AuthPass=yourpassword
#разрешаем пользователям менять поле From
FromLineOverride=YES

Далее нужно отредактировать еще один конфиг

sudo nano /etc/ssmtp/revaliases

В должны быть примерно такие строчки:

root:[email protected]:smtp.yandex.ru:465
www.mytechnote.ru:[email protected]:smtp.yandex.ru:465
www-data:[email protected]:smtp.yandex.ru:465

Как вы уже поняли — первое поле тут — имя пользователя, второе — поле from, третье — smtp сервер и порт.

После того как конфиги будут отредактированы можно попробовать что нибудь отправить для этого набираем:

ssmtp [email protected] To: [email protected]
From: [email protected]
Subject: test
#между темой и телом письма должна быть одна пустая строка, то бы ssmtp понял, что начинается тело.

test

#для отправки нужно нажать ctrl+D

Письмо должно уйти. На этом настройка ssmtp для сайта закончена.

Видео по теме:

0 0

Поделитесь статьей с друзьями в соц. сетях, возможно, она будет им полезна.

Если вам помогла статья, вы можете >>отблагодарить автораthank the author

Источник: https://www.mytechnote.ru/comment/57

Базовая настройка sendmail, Ubuntu

Я не администратор, поэтому относитесь к этой заметке с осторожностью. Рассматривается такя ситуация: надо заставить sendmail сервера отправлять почту, но ничего в ответ не принимать. Строго для оповещений с сайтов.

У меня вдс-ка с предустановленным exim4 на который, насколько я понимаю, «ссылается» sendmail. Т.е. фактически работает exim4.

Сначала настраиваем хост (my-host-name это имя нашего хоста с которого все будет ездить)

sudo mcedit /etc/hosts
В файле должны быть строки вида 127.0.0.1 localhost
111.111.111.111 hostname.my-hoster.net my-host-name
Далее меняем имя хоста в файле sudo mcedit /etc/hostname
Файл должен выглядеть вот так (полностью, т.е. только имя хоста и все) my-host-name
Теперь перегружаем службу которая грубо говоря обновляет имя хоста глобально sudo /etc/init.d/hostname.sh stop
sudo /etc/init.d/hostname.sh start
# если такого скрипта нет, то пробуем иначе:
sudo service hostname restart
REM ещё такой вариант есть, для Debian 9 (stretch) hostnamectl set-hostname my-host-name
Теперь выполняем команды hostname
hostname -f
Если все правильно сделано, то они обе должны вернуть значение my-host-name (т.е. имя вашего хоста)

Теперь надо настроить сам sendmail. В моем случае, нужно перенастроеить exim4. Делается это примерно так:

sudo dpkg-reconfigure exim4-config
После этого в мастере просто нужно выбирать значения (именно для exim4)

  • internet site..
  • вводим название вашего хоста (my-host-name)
  • ip для smtp устанавливаем только 127.0.0.1 т.к. нам не нужны внешние подключения по smtp
  • другие допустимые назначения оставляем по умолчанию
  • домены для разрешенного релея — оставляем пустым
  • машины для релея — оставляем пустым
  • кол-во днс запросов на ваше усмотрение, я не ограничивал
  • метод доставки я оставил тот же который был, т.е. /var/mail
  • разделять не разделять файлы конфигурации — на ваше усмотрение, аргументы там описаны, я разделять не стал

Теперь, чтобы проверить ходит ли почта делаем так sendmail -i my-email@my-host.com
Далее вводим тект тестового сообщения. И по готовности нажимаем Ctrl+d Идем проверяем свою почту. Если письмо пришло — все ок и ура. Если нет — идем гуглить дальше 🙂

Дальше надо убедиться что на нашем сервере недоступен smtp, для этого нам надо сходить с локальной машины постучаться в 25 порт сервера и получить отлуп. Делается это например так:

telnet my-host-name 25
Trying 111.111.111.111…
telnet: Unable to connect to remote host: Connection refused
Если все так, то все тип-топ. Порт закрыт. Ещё маленькая фишка. Бывает так что по каким-то причинам, сервис рулящий веб-приложением надо перезапускать регулярно. В моем случае это node.js и делаю я это по крону раз в N времени. Так вот если перезапустить процесс кроном, то sendmail перестает работать, потому как приложение не знает где он, в path пути до него просто нет и соот-но он просто не находится. Точно так же можно передавать любые другие настройки переменных окружения. Как это делать смотрим ниже.

Сначала посмотрим где sendmail

which sendmail
/usr/local/bin/sendmail
Ок, видим путь. Если вдруг не видим то идем смотреть тоже самое но под sudo. Теперь идем в кронтаб и добавляем переменные окружения там. crontab -e
Откроется редактирование заданий для текущего пользователя. То есть все задания будут выполнены с правами текущего пользователя и сервис запустится с правами этого пользователя, если он запускается конечно согласно вашему плану :)# это переменная которая рассказывает где искать sendmail,
# другие нужные пути можно писать через разделитель — двоеточие
# там будут искаться необходимые нам утилиты
PATH=/usr/local/bin

# это пример переменной окружения которую будет использовать само приложение
NODE_ENV=production

# это собственно само задание, гуглим по формату crontab чтобы понять что к чему
# в данном случае скрипт будет срабатывать в 30 минут каждого четного часа
*/30 */2 * * * /home/user/blog/scripts/restart.sh
Ну вот примерно так. Прошу не воспринимать эту заметку как полное руководство к действию, вполне возможно что для вашего случая все будет значительно отличаться. Но возможно это как-то поможет или хотя бы наведет на мысли в нужном направлении 🙂 Успехов!

Пользовался вот этим источником. Рекомендую на него взглянуть, надеюсь он ещё дышит.

Источник: https://wired-mind.info/post/155

Ссылка на основную публикацию
Adblock
detector