# Email Setup - SMTP Configuration

## Instalacija PHPMailer-a

### Opcija 1: Preuzimanje ručno (preporučeno)

1. Preuzmite PHPMailer sa: https://github.com/PHPMailer/PHPMailer/releases
2. Raspakujte arhivu
3. Kopirajte folder `PHPMailer` u root direktorijum vašeg projekta (`/Users/slavisa/Documents/Code/Web/royal/`)
4. Struktura treba da izgleda ovako:
   ```
   royal/
   ├── PHPMailer/
   │   └── src/
   │       ├── Exception.php
   │       ├── PHPMailer.php
   │       └── SMTP.php
   ├── config.php
   ├── email_helper.php
   └── ...
   ```

### Opcija 2: Composer (ako koristite Composer)

```bash
composer require phpmailer/phpmailer
```

## Konfiguracija Gmail SMTP (Običan Gmail ili Google Workspace)

### Opcija A: Običan Gmail (@gmail.com)

#### 1. Kreiranje App Password-a (preporučeno)

1. Idite na Google Account: https://myaccount.google.com/
2. Idite na **Security** → **2-Step Verification** (mora biti uključeno)
3. Idite na **App passwords**
4. Kliknite **Generate** i izaberite **Mail** i **Other (Custom name)**
5. Unesite ime (npr. "Royal Transport")
6. Kopirajte generisani App Password (16 karaktera)

**Napomena:** Ako nemate 2-Step Verification uključeno, morate ga prvo aktivirati. App Password je neophodan jer Google ne dozvoljava direktno korišćenje vaše regularne lozinke.

#### 2. Konfiguracija u config.php

```php
define('SMTP_ENABLED', true);
define('SMTP_HOST', 'smtp.gmail.com');
define('SMTP_PORT', 587);
define('SMTP_SECURE', 'tls');
define('SMTP_USERNAME', 'your-email@gmail.com'); // Vaš Gmail adresa
define('SMTP_PASSWORD', 'your-app-password'); // App Password koji ste generisali
define('SMTP_FROM_EMAIL', 'your-email@gmail.com'); // Isti email
define('SMTP_FROM_NAME', 'Royal Transport');
define('SMTP_REPLY_TO', 'your-email@gmail.com'); // Isti email ili drugi
```

**Ograničenja običnog Gmaila:**
- Maksimalno 500 emailova dnevno
- Maksimalno 100 emailova po sat vremena
- Ako prekoračite limit, Google može privremeno blokirati slanje

### Opcija B: Google Workspace Business (@yourdomain.com)

#### 1. Kreiranje App Password-a

1. Idite na Google Account: https://myaccount.google.com/
2. Idite na **Security** → **2-Step Verification** (mora biti uključeno)
3. Idite na **App passwords**
4. Kliknite **Generate** i izaberite **Mail** i **Other (Custom name)**
5. Unesite ime (npr. "Royal Transport")
6. Kopirajte generisani App Password (16 karaktera)

#### 2. Konfiguracija u config.php

```php
define('SMTP_ENABLED', true);
define('SMTP_HOST', 'smtp.gmail.com');
define('SMTP_PORT', 587);
define('SMTP_SECURE', 'tls');
define('SMTP_USERNAME', 'your-email@yourdomain.com'); // Vaš Google Workspace email
define('SMTP_PASSWORD', 'your-app-password'); // App Password koji ste generisali
define('SMTP_FROM_EMAIL', 'noreply@yourdomain.com'); // Email sa kojeg se šalje
define('SMTP_FROM_NAME', 'Royal Transport');
define('SMTP_REPLY_TO', 'admin@yourdomain.com'); // Email za odgovor
```

**Prednosti Google Workspace:**
- Veći dnevni limit emailova (do 2000 dnevno)
- Profesionalniji email (@yourdomain.com)
- Bolja kontrola i sigurnost

### 3. Konfiguracija za server SMTP (alternativa)

Ako želite da koristite serverov SMTP umesto Google Workspace:

```php
define('SMTP_ENABLED', true);
define('SMTP_HOST', 'smtp.yourserver.com'); // Vaš SMTP server
define('SMTP_PORT', 587); // ili 465 za SSL
define('SMTP_SECURE', 'tls'); // ili 'ssl' za port 465
define('SMTP_USERNAME', 'your-email@yourserver.com');
define('SMTP_PASSWORD', 'your-smtp-password');
define('SMTP_FROM_EMAIL', 'noreply@yourserver.com');
define('SMTP_FROM_NAME', 'Royal Transport');
define('SMTP_REPLY_TO', 'admin@yourserver.com');
```

### 4. Onemogućavanje SMTP-a (fallback na mail())

Ako želite da koristite standardni PHP `mail()` umesto SMTP-a:

```php
define('SMTP_ENABLED', false);
```

## Testiranje

Nakon konfiguracije, testirajte slanje emaila kroz aplikaciju. Email će se automatski slati kada:
- Komitent kreira novu vožnju (admin dobija obaveštenje)
- Admin odobri ili odbije vožnju (komitent dobija obaveštenje)

## Troubleshooting

### Email se ne šalje
1. Proverite da li je PHPMailer pravilno instaliran
2. Proverite SMTP kredencijale u `config.php`
3. Proverite da li je App Password ispravan (za Google Workspace)
4. Proverite server logove za greške

### Google Workspace greške
- Uverite se da je 2-Step Verification uključeno
- Koristite App Password, ne vašu regularnu lozinku
- Proverite da li je "Less secure app access" potrebno (obično nije za App Password)

### Server SMTP greške
- Proverite da li port i security tip odgovaraju vašem serveru
- Proverite firewall podešavanja
- Kontaktirajte hosting provajdera za SMTP detalje
