Program synchronizuje kontakty z programu Outlook z bazą danych PostgreSQL oraz odwrotnie. Dodatkowo, obsługuje listę zablokowanych adresów e-mail (blacklist), co pozwala na automatyczne usuwanie niepożądanych kontaktów zarówno z Outlooka, jak i z bazy danych. Program może także aktualizować notatki w kontaktach Outlooka, dodając informację o liczbie dni od ostatniego kontaktu.
Inspiracją do tego projektu była częsta potrzeba synchronizacji danych kontaktowych na wielu urządzeniach – na przykład w przypadku posiadania kilku laptopów przez jednego użytkownika lub korzystania z kilku komputerów w małych firmach, które obsługują te same skrzynki pocztowe. Outlook jest popularnym narzędziem, jednak w sytuacjach, gdy jeden z pracowników aktualizuje dane kontaktowe, pozostali użytkownicy mogą nie mieć dostępu do zaktualizowanych informacji. Wiele firm nie korzysta z Office 365 ze względu na koszty, a także może nie posiadać dedykowanego oprogramowania CRM. W takich przypadkach baza kontaktów jest często przechowywana w Outlooku. Z tych właśnie powodów powstał ten projekt.
Eksportuje kontakty z programu Outlook do bazy danych PostgreSQL. Pobiera podstawowe informacje, takie jak:
- Imię i nazwisko,
- Adresy e-mail (główne, drugie i trzecie),
- Numery telefonów (praca, komórkowy, domowy, faks),
- Ostatni kontakt (aktualizowany przy każdym eksporcie).
Kontakty są zapisywane do tabeli contacts w PostgreSQL, a w przypadku duplikatów następuje aktualizacja istniejących rekordów.
Synchronizuje kontakty z bazy danych PostgreSQL do Outlooka. Jeśli dany kontakt istnieje już w Outlooku, jest on aktualizowany, a jeśli nie – dodawany jako nowy. Obsługiwane są również pola takie jak:
- Główne i dodatkowe adresy e-mail,
- Numery telefonów (praca, komórkowy, domowy, faks).
Podczas synchronizacji zapisywane są zmiany w tabeli contact_history, aby śledzić, które kontakty były aktualizowane lub dodawane.
Usuwa kontakty, których adresy e-mail, domeny lub prefiksy znajdują się na czarnej liście (blacklist). Funkcja ta usuwa zablokowane kontakty zarówno z Outlooka, jak i z bazy danych PostgreSQL. Po usunięciu kontaktu zmiany są zapisywane w contact_history.
Sprawdza skrzynkę odbiorczą Outlooka (oraz podfoldery) w poszukiwaniu kontaktów, z którymi była prowadzona korespondencja w ciągu ostatnich 6 miesięcy. Kontakty te są dodawane do bazy danych PostgreSQL, chyba że ich adresy są na czarnej liście.
Zapisuje ostatnie kontakty z wiadomości e-mail do bazy danych PostgreSQL. Przed dodaniem kontaktów do bazy sprawdzana jest czarna lista, aby uniknąć zapisywania niepożądanych adresów.
Aktualizuje notatki w kontaktach Outlooka, dodając informację o liczbie dni od ostatniego kontaktu. Nowa informacja o ostatnim kontakcie jest dodawana na początku notatki, zachowując poprzednią zawartość.
Przechowuje informacje o kontaktach, takie jak:
first_name: Imię,last_name: Nazwisko,email,email2,email3: Adresy e-mail,phone_work,phone_mobile,phone_home: Numery telefonów,last_contact: Data ostatniego kontaktu.
Zawiera historię zmian kontaktów:
contact_id: ID kontaktu,change_type: Typ zmiany (add,update,delete),changed_by: Użytkownik, który dokonał zmiany (lub "system").
Przechowuje informacje o zablokowanych kontaktach:
email: Zablokowany adres e-mail,domain: Zablokowana domena,prefix: Zablokowany prefiks (np.noreply@*).
- Eksport kontaktów z Outlooka: Program pobiera kontakty z Outlooka i zapisuje je do bazy PostgreSQL.
- Synchronizacja z PostgreSQL do Outlooka: Jeśli kontakt istnieje w bazie, jest aktualizowany lub dodawany do Outlooka.
- Sprawdzanie czarnej listy: Program usuwa kontakty z Outlooka i bazy, których adresy są na czarnej liście.
- Sprawdzanie korespondencji e-mail: Program sprawdza skrzynkę odbiorczą i dodaje nowe kontakty do bazy, o ile nie są na czarnej liście.
- Aktualizacja notatek w kontaktach: Program dodaje informację o liczbie dni od ostatniego kontaktu do notatek w Outlooku.
Dodatkowo pliki nie korzystające z bazy danych mogą służyć do jednorazowych importów/exportów oraz jako baza do zmian.