LINUX.ORG.RU

Как создать самому *простую* аппликуху для приёма email на сервере?

 , ,


0

1

Есть свой сервер и домен.

Хочу создать очень простую аппликуху для *приёма* мыл. Самому, без готовых решений, разве что используя только стандартные базовые библиотеки. На python, C++ или чём-то ещё.

То есть, чтобы если мне послали мыло на этот домен, я мог его принять. И как-то прочитать потом, возможно сохранив в файл - не важно.

Всё.

Как это сделать, что почитать? Запутался в mta, mda, smtp, pop, и т.п.



Последнее исправление: hasan (всего исправлений: 1)

Насколько простую программу вы хотите? Скрипт для псевдо smtp сервера, не умеющего ничего кроме приема писем можно написать минут за 5. Без поддержки шифрования, разумеется. Для написания такого достаточно описания протокола из Википедии.

Leupold_cat ★★★★★
()
Ответ на: комментарий от Leupold_cat

да, простой

какого именно протокола?

как его потом запустить и настроить так, чтобы он мог принимать почту, которую шлют на этот домен/сервер?

hasan
() автор топика

И это, сервер у тебя на домене поднят? Или ты его и хочешь написать?

Zhbert ★★★★★
()
Ответ на: комментарий от hasan

какого именно протокола?

smtp

чтобы он мог принимать почту, которую шлют на этот домен/сервер?

Если вы желаете принимать письма от клиентов (например, от sendmail или thunderbird), то предложенный мной вариант будет работать. Если вы хотите принимать письма от других серверов (например, от gmail и yandex), то, к сожалению, простым скриптом здесь не обойтись.

Leupold_cat ★★★★★
()

Как это сделать?

Очевидно, сесть и написать на python, C++ или чём-то ещё.

что почитать?

Исходники любой программы, которая умеет нужную тебе функциональность. Ну, и по мотивам накропать свою нетленку.

Правда тут может быть фатальный недостаток: типа 100% импортозамещения, не допускающее ни строчки GPL кода. Ну, тогда читаешь (если я правильно тебя понял) RFC 5321 «Протокол SMTP» и руководствуясь своим чувством прекрасного ваяшь код на века.

justAmoment ★★★★★
()
Ответ на: комментарий от Leupold_cat

ну разумеется от других серверов тоже.

hasan
() автор топика
Ответ на: комментарий от hasan

какого именно протокола?

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

MrClon ★★★★★
()
Ответ на: комментарий от hasan

Если вы хотите создать smtp сервер, на который можно отправлять сообщения с других доменов, то рецепт уже написали выше. Следует начать с прочтения и понимания rfc 5321 (есть на русском), затем прочитать про tlc (starttlc - тоже есть соответствующая rfc) и ssl (опционально) применимо к smtp серверу.Ну а дальше остается только творить, полагаясь на ваши умения в программировании.

Leupold_cat ★★★★★
()
Последнее исправление: Leupold_cat (всего исправлений: 1)
Ответ на: комментарий от Leupold_cat

Следует начать с прочтения и понимания rfc 5321 (есть на русском), затем прочитать про tlc (starttlc - тоже есть соответствующая rfc) и ssl (опционально) применимо к smtp серверу.Ну а дальше остается только творить, полагаясь на ваши умения в программировании.

почему вы сначала сказали, что на него нельзя будет принимать мыло с др. серверов?

hasan
() автор топика
Ответ на: комментарий от hasan

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

Leupold_cat ★★★★★
()
Ответ на: комментарий от Leupold_cat

Другие сервера не станут работать с таким сервером

В смысле передавать ему почту не станут? Вроде при отправке всем всегда было пох на принимающий сервер, принял и ладно

MrClon ★★★★★
()
Ответ на: комментарий от MrClon

Вы, кажется, правы. Я раньше читал истории, что если принимающий сервер ведет себя как-то «не так» (например, не тот код в ответе отсылает), то gmail отказывается передавать сообщения на такой сервер. Но сейчас, после вашего комментария, я перепроверил выдачу гугла и понял, что это, должно быть, какая-то надуманная проблема. Тем лучше для автора - он может проверить это на практике и, возможно, ему не придеться тратить много времени на написание сервера.

Leupold_cat ★★★★★
()
Последнее исправление: Leupold_cat (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.