КОМЕНИЙСКИ УНИВЕРСИТЕТ В БРАТИСЛАВА ФАКУЛТЕТ ПО МАТЕМАТИКА, ФИЗИКА И ИНФОРМАТИКА Gmail Assistant 2011 Андрей Бихуш

математика

УНИВЕРСИТЕТ КОМЕНИЙ В БРАТИСЛАВА ФАКУЛТЕТ ПО МАТЕМАТИКА, ФИЗИКА И ИНФОРМАТИКА GMAIL Личен асистент Бакалавърска теза Регистрационен номер: 90c46108-c979-48e9-9f94-f129e76e77b4 Учебна програма: Катедра „Приложна информатика” в катедра „Приложна информатика”: 9.2. Д-р Павел Петрович. Братислава, 2011 Андрей Бихуш

Декларация за чест Декларирам в чест, че съм подготвил тази бакалавърска дисертация самостоятелно под професионалния надзор и ръководство на Павел Петрович, използвайки литературата. В Братислава. 2 авторски подпис

Благодарности Бих искал да благодаря на моя треньор за неговите идеи, съвети и особено търпение. Родителите ми за подкрепата им по време на следването. 3

Резюме Целта на моята бакалавърска дисертация е да проектира и внедри уеб приложение, което разширява Gmail с функции, които подобряват използването. Приложението трябва да показва имейли хронологично, за разлика от оригинала, където те са сортирани в разговори. Той също така трябва да предлага възможност за изпращане на имейли и не на последно място да предлага управление на прикачени файлове. Ключови думи: Gmail, имейл, imap, smtp Резюме Целта на тази дипломна работа е да проектира и внедри уеб приложение, което добавя няколко нови функции към Gmail, обогатявайки потребителския опит. Докато Gmail показва имейл съобщенията като разговори, нашето приложение ги показва в хронологичен ред. Освен това добавихме поддръжката за планиране на автоматизирано изпращане на електронна поща и внедрихме цялостна система за управление на прикачени файлове. Ключови думи: Gmail, имейл, imap, smtp 4

СЪДЪРЖАНИЕ 1. ВЪВЕДЕНИЕ. 7 2. ПРЕГЛЕД НА ПРОБЛЕМА. 8 2.1. Електронна поща. 8 2.1.1. Имейл формат. 8 2.2. Как работи имейл. 9 2.3. Имейл клиент. 9 2.3.1. Уеб базиран. 10 2.3.1.1. Gmail. 10 2.3.1.1.1. Gmail Labs. 10 2.3.1.1.2. По-добър Gmail. 10 2.3.2. Настолни приложения. 11 2.3.2.1. Microsoft Outlook. 12 2.3.2.2. Mozilla Thunderbird. 12 2.4. Пощенски сървър. 12 2.5. Протоколи. 12 2.5.1. SMTP. 12 2.5.2. POP. 13 2.5.3. IMAP. 13 2.6. PHP. 13 2.7. (X) HTML + CSS. 14 2.8. Javascript + AJAX. 15 2.9. MySQL. 15 3. ПРЕДЛОЖЕНИЕ. 16 3.1. Влизам. 16 3.1.1. Нулиране на паролата. 16 3.2. Преглед на имейли - НАЧАЛО. 16 3.3. Изпращане - ИЗПРАЩАНЕ. 17 3.4. Планиране - ИЗПРАТЕТЕ. 17 3.5. Преглед на файлове - ФАЙЛОВЕ. 3.6. Настройки - НАСТРОЙКИ. 17 3.7. Използвани библиотеки/рамки. 18 3.7.1. Диби. 18 3.7.2. HTML_Template_IT. 3.7.3. jquery. 3.7.4. LiveValidation. 19 4. ИЗПЪЛНЕНИЕ. 20 4.1. Дизайн на база данни. 20 4.2. Връзка с имейл сървър. 22 4.3. Получаване на имейли. 22 4.4. Списък на пощенските кутии. 4.5. Получаване на приложения. 4.6. Изпращане на имейли. 24 4.7. Планиране. 24 4.8. Файлове (прикачени файлове). 25 5. ЗАКЛЮЧЕНИЕ. 26 6. ИЗПОЛЗВАНА ЛИТЕРАТУРА. 27 5

Списък на изображения Фигура 1: Диаграма на работа с имейл 9 Фигура 2: Среда на Gmail 10 Фигура 3a: Клиент за електронна поща на Microsoft Outlook 2007 11 Фигура 3b: Имейл клиент на Mozilla Thunderbird във версия 3.1.10 11 6

1. ВЪВЕДЕНИЕ Днес Интернет е толкова широко разпространен, че може да бъде намерен в почти всяко домакинство. Целта на моята бакалавърска дисертация е да проектирам и внедря уеб приложение, което разширява услугата за електронна поща на Gmail с функции, които ще подобрят и улеснят използването. Приложението трябва да показва имейли хронологично, за разлика от оригинала, където те са сортирани в разговори. Той също така трябва да предлага възможност за изпращане на имейли и не на последно място да предлага управление на прикачени файлове. 7

2.2. Как работи имейлът Да кажем, че Андрей ([email protected]) иска да изпрати имейл до Janka ([email protected]). Андрей използва имейл клиента, за да напише имейл за изпращане. След това този имейл се изпраща до SMTP сървъра на Google SMTP (smtp.google.com). Пощенският сървър получава, обработва и изпраща съобщението. Обработката се извършва чрез разделяне на имейл адреса на 2 части. Частта преди (локална част) и след (отдалечена част) @. Втората част се търси в DNS и след това изпраща съобщение до сървъра seznam.sk, където zoznam.sk препраща имейла до потребителя jana.xyz. Потребителят изтегля имейла в имейл клиента чрез SMTP или IMAP. Фигура 1 * 1 +: Схема на работа с имейл 2.3. Mail User Agent (MUA) [2] е програма (приложение), предназначена за управление, изпращане и получаване на имейли. Най-известното приложение е Microsoft Outlook, защото е интегрирано в Windows. Други известни са например Mozilla Thunderbird, Lotus Notes, The Bat! и други. 9

2.3.1. Уеб-базирано уеб приложение, предназначено за управление на имейли, иначе наречено уеб поща. За разлика от обичайните настолни приложения, той е достъпен от всяко място, където имаме достъп до интернет. Примери за уеб поща: Gmail (gmail.com, mail.google.com), Списък (mail.zoznam.sk), Yahoo (mail.yahoo.com) и други услуги за уеб поща. 2.3.1.1. Gmail Това е безплатна услуга за електронна поща, предоставена от Google. Той е достъпен чрез уеб интерфейса или чрез протоколи. Фигура 2: Среда на Gmail 2.3.1.1.1. Gmail Labs Те са помощни, разширения, които ви позволяват да тествате нови функции от Google Workshop. Един от пакетите е например вложени етикети, което позволява организирането на етикети (кутии) в дървовидна йерархична структура. Потребителите могат да активират и деактивират тези пакети по всяко време. Недостатъкът е затварянето на групата програмисти и невъзможността да програмирате собствения си пакет или да модифицирате съществуващия. 2.3.1.1.2. По-добър Gmail Това е пакет от потребителски скриптове, написани в javascript за Greasemonkey. 10

Greasemonkey е разширение (добавка) към Firefox, което ви позволява да персонализирате външния вид и поведението на показаната уеб страница благодарение на потребителски скриптове. Недостатъкът е връзката с браузъра Firefox. 2.3.2. Настолни приложения Има много настолни (локални) приложения. Ето 2 примера, които според моя опит досега са най-често използвани в Windows системи. Фигура 3a: Имейл клиент на Microsoft Outlook 2007 Фигура 3b: Имейл клиент на Mozilla Thunderbird във версия 3.1.10 11

2.7. (X) HTML + CSS HyperText Markup Language (HTML) е SGML приложение. XHTML (Extensible HyperText Markup Language) е XML приложение (подмножество на SGML). Той е подобен на HTML, но разглежда повече синтаксиса тук. Това е език за маркиране, използван за създаване на уебсайтове. Езикът е набор от елементи (тагове, тагове) и техните атрибути. Имената на елементите са затворени в квадратни скоби. Познаваме сдвоени и несдвоени елементи. Двойки:,,