Для реализации подхода Google вам нужно будет использовать ajax для отправки черновика содержимого на сервер. Использование интервала, предложенного SLaks, для инициации вашего вызова ajax - хороший подход. Затем вам понадобится контроллер MVC, который обрабатывает / хранит данные. Каждое новое письмо будет нуждаться в каком-либо идентификаторе. В коде псевдо:
- интервал срабатывает.
- используйте ajax для публикации данных формы (включая идентификатор).
- Действие mvc обрабатывает сообщение, обновляя данные в хранилище данных.
- когда письмо наконец отправлено, удалите его из хранилища данных.
Это позволит вам отображать черновики для пользователей, откуда бы они ни входили. Если вы хотите, чтобы пользователь только видел их черновики, вам нужно привязать хранилище данных к вашей базе данных участников.