Написание простого почтового сервера - PullRequest
6 голосов
/ 22 сентября 2010

Что было бы для меня хорошей отправной точкой для создания почтового сервера?

По сути, я хочу, чтобы у меня был сервер (например, foo.com), получающий почту, поэтому, если я отправлю электронное письмо на адрес (blah@foo.com), он сбросит содержимое письма в / mail / blah / subject, а затем отправьте его на мою РЕАЛЬНУЮ учетную запись электронной почты.

Я собираюсь сделать это как упражнение по программированию, так что ссылки на RFC и т. Д. Были бы хорошими. Изобретать колесо - это хороший способ узнать о колесах.

РЕДАКТИРОВАТЬ: Не стесняйтесь пометить это соответствующим образом.

1 Ответ

4 голосов
/ 22 сентября 2010

Редактировать : Я предоставил несколько заголовков и разделил RFC по темам. Я надеюсь, что теперь это более доступно. Это довольно большой список, и мне хотелось бы отформатировать его лучше, но, к сожалению, это все.

Поскольку вы упомянули, что на самом деле не знаете, что вам нужно, позвольте мне уточнить:

  • Если вы хотите реализовать только простой «прокси-сервер», который находится между вашим MUA (почтовым клиентом) и «реальным» сервером, вы, вероятно, можете обойтись только реализацией основных функций SMTP. Это позволит вам отправлять сообщения, то есть отправлять сообщения в MTA.

  • POP3 предназначен для клиентов электронной почты, чтобы извлекать сообщения с вашего сервера, в то время как IMAP является альтернативой POP3 с несколько иным набором функций, в основном обеспечивающим режим включения или выключения, который можно рассматривать как управление удаленными папками. (т.е. почтовые ящики).

  • MIME определяет формат содержимого сообщений электронной почты при наличии многокомпонентных сообщений, вложений и т. Д.

Формат интернет-сообщения (также определяет формат адреса электронной почты)

http://www.faqs.org/rfcs/rfc822.html

http://www.faqs.org/rfcs/rfc2822.html


SMTP

http://www.faqs.org/rfcs/rfc821.html

Обновление до SMTP / RF821 :

http://www.faqs.org/rfcs/rfc5321.html

SMTP-AUTH

http://www.faqs.org/rfcs/rfc2554.html

Отправка сообщения (т. Е. Для приложения, выполняющего функции MUA):

http://www.faqs.org/rfcs/rfc2476.html


IMAPv4

http://www.faqs.org/rfcs/rfc1730.html

IMAPv4rev1

http://www.faqs.org/rfcs/rfc2060.html


POP3

http://www.faqs.org/rfcs/rfc1081.html

http://www.faqs.org/rfcs/rfc1939.html

http://www.faqs.org/rfcs/rfc1957.html

Расширения POP3 :

http://www.faqs.org/rfcs/rfc2449.html

Авторизация для POP / IMAP :

http://www.faqs.org/rfcs/rfc2195.html

TLS для POP3 и IMAP :

http://www.faqs.org/rfcs/rfc2595.html

AUTH-RESP-код для POP3 :

http://www.faqs.org/rfcs/rfc3206.html

Простая аутентификация POP3 :

http://www.faqs.org/rfcs/rfc5034.html


MIME , который состоит из 5 RFC:

http://www.faqs.org/rfcs/rfc2045.html

http://www.faqs.org/rfcs/rfc2046.html

http://www.faqs.org/rfcs/rfc2047.html

http://www.faqs.org/rfcs/rfc4288.html

http://www.faqs.org/rfcs/rfc4289.html

http://www.faqs.org/rfcs/rfc2049.html

...