Сервис переотправки почты. Техническое задание.

Вступление

Пользователям проекта необходима возможность связи и координации действий. При этом важно сохранять всю коммуникацию (электронные письма) в БД.

Все потоки информации «Пользователь <> Пользователь» должны проходить через сайт для 1) фиксации; 2) избегания прямого контакта.

Email

http://doitforme.net/wiki/email.mirroring.1.0.png

Каждый пользователь получит себе почтовый ящик name@user.doitforme.net. Любое письмо, которое попадает на этот ящик, будет пересылаться на обычный емейл пользователя.

Если пользователю напишет другой пользователь со своего емейла (обычного, например @gmail.com), то в письме обратный адрес автоматически поменяется на @user.doitforme.net. Если такого адреса нет в системе, то письмо вернется отправителю.

Функциональная спецификация

http://doitforme.net/wiki/messaging.0.3.gif

Сервис должен

Unit Tests

Сценарии

1. Отправка письма

Пользователь А (с почтовым ящиком nikky@hotmail.com) открывает сайт, на котором видит адрес Пользователя Б [вида userB@doitforme.net]. А окрывает свой почтовый клиент (Outlook Express) и копирует в него адрес userB@doitforme.net. Прикрепляет два файла (лицо человека, которому нужно передать необходимую вещь, и карта проезда) и отправляет письмо.

2. Получение письма

В течение короткого времени Пользователь Б в своем ящике mister.xyz@gmail.com получает письмо от Пользователя А. При этом все адреса Пользователя А представлены в виде userA@doitforme.net.

Пользователь Б отвечает на письмо, нажав кнопку “Reply”. Письмо уходит Пользователю А.