LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Библиотечного вызова mail() не существует. Чтобы отправить почту, надо подключиться к SMTP-серверу (либо серверу того ящика, на который ты шлёшь - напрямую, либо серверу твоего ящика, чтобы тот уже передал дальше - это часто удобнее и надёжнее), отослать ему несколько команд (приветствие, адрес отправителя, адрес получателя) и тело письма, посмотреть ответ (либо письмо принято в работу, либо отказ с коротким текстом причины).

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

Если пользуешься командой - у этой команды будут свой конфиг, который можно прописывать независимо от конфига той проги, которая захотела отправить письмо - тот самый unix-way, разделение ответственности. Если же твоя прога сама подключается к серверу, все настройки отправки писем (включая всякую нужную муть вроде dkim) надо будет включать в её собственный конфиг.

отдавай письма на этот хост-почтовый сервер, пусть он шлёт»?

В freebsd 14 из этих соображений заменили sendmail, полноценный MTA, на легковесный DMA (man dma). Можешь тоже его себе установить.

Исходная версия firkax, :

Библиотечного вызова mail() не существует. Чтобы отправить почту, надо подключиться к SMTP-серверу (либо серверу того ящика, на который ты шлёшь - напрямую, либо серверу твоего ящика, чтобы тот уже передал дальше - это часто удобнее и надёжнее), отослать ему несколько команд (приветствие, адрес отправителя, адрес получателя) и тело письма, посмотреть ответ (либо письмо принято в работу, либо отказ с коротким текстом причины).

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

Если пользуешься командой - у этой команды будут свой конфиг, который можно прописывать независимо от конфига той проги, которая захотела отправить письмо - тот самый unix-way, разделение ответственности. Если же твоя прога сама подключается к серверу, все настройки отправки писем (включая всякую нужную муть вроде dkim) надо будет включать в её собственный конфиг.

отдавай письма на этот хост-почтовый сервер, пусть он шлёт»?

В freebsd 14 из этих соображений заменили sendmail, полноценный MTA, на легковесный DMA man dma. Можешь тоже его себе установить.