<?php
header('Content-type: text/html; charset=utf-8');

// Veritabanı sorgularında güvenlik
$mgonderen = $mgonderen ?: tanim('email', 'n1', 0, '');
$msifre = $msifre ?: tanim('email', 'n2', 0, '');
$sunucu = $sunucu ?: tanim('email', 'n3', 0, '');
$Port = $port ?: tanim('email', 'n6', 0, '');

// Port ve Secure ayarları
$Ports = explode(",", $Port);
if (!empty($Ports[1])) {
    $Port = trim($Ports[0]);
    $Secure = (trim(strtolower($Ports[1])) == "false") ? false : trim($Ports[1]);
} else {
    $Port = trim($Ports[0]);
    $Secure = ($Port == "") ? false : (($Port == "587") ? "tls" : "ssl");
}

// "Mail Test" kontrolü
if ($konu == "test") {
    echo "Alıcı => " . $malici . "<br>Gönderen => " . $mgonderen . "<br>Şifre => " . $msifre . "<br>Sunucu => " . $sunucu . "<br>Port => " . $Port . "<br>Secure => " . ($Secure ?: 'false') . "<hr>";
}

// Dosya yükleme işlemi
if (!empty($_FILES['ffile']['tmp_name'])) {
    $kaydedilecekyer = "deppo/dosya";
    $kaynak1 = $_FILES['ffile']['tmp_name'];
    $isim1 = $_FILES["ffile"]["name"];
    $uzanti1 = pathinfo($isim1, PATHINFO_EXTENSION);
    $allowedExtensions = ['jpg', 'jpeg', 'png', 'pdf', 'docx'];
    if (!in_array(strtolower($uzanti1), $allowedExtensions)) {
        echo "Geçersiz dosya türü.";
        exit;
    }
    $rand1 = substr(md5(uniqid(rand())), 0, 10);
    $yeni1 = "attachment-" . $rand1 . "." . $uzanti1;
    move_uploaded_file($kaynak1, $kaydedilecekyer . "/" . $yeni1);
    $mesaj .= "<br><a href='" . $weburl . "/deppo/dosya/" . $yeni1 . "'>Ekli Dosya İndir</a><br><br>";
}

// Mail gönderme işlemi
$mail2 = new PHPMailer(true);
try {
    $mail2->IsSMTP();
    $mail2->SMTPAuth = true;
    if ($Secure) $mail2->SMTPSecure = $Secure;
    $mail2->Host = $sunucu;
    $mail2->Port = $Port;
    $mail2->SetLanguage("tr", "phpmailer/language");
    $mail2->CharSet = "utf-8";
    $mail2->Username = $mgonderen;
    $mail2->Password = $msifre;
    $mail2->SetFrom($mgonderen, $gonderen);

    if (!empty($cc)) $mail2->AddCC($cc);
    if (!empty($bcc)) $mail2->AddBCC($bcc);

    $alicilar = explode(",", $malici);
    foreach ($alicilar as $alici) {
        $alici = trim($alici);
        if (filter_var($alici, FILTER_VALIDATE_EMAIL)) {
            $mail2->AddAddress($alici);
        }
    }

    $mail2->IsHTML(true);
    $mail2->Subject = $konu;
    $mail2->Body = $mesaj;
    $mail2->send();

    if ($konu == "Mail Test") echo "Mail Gönderim Başarılı";
    $mailstatus = "ok";
    unlink($_SESSION['mail_logo']);
} catch (Exception $e) {
    $mailstatus = "err:" . $mail2->ErrorInfo;
}
?>