Merhaba, mail kotasına takılan dosyalarınız için, ftp üzerinden dosyalarınızı upload ederek, yazdığınız mail adresine mail konusu ve mail içeriği ile birlikte mail gönderme fonksiyonu.
  • şifre ekranı için 1. satırda kullanıcı ve şifre bilgisini değiştirebilirsiniz.
  • Mail smtp bilgilerinizi de index.php içinden değiştiriniz. (PHPMailer dahil etmeniz gerekmektedir.)
<?php $kul[0]['kullanici']="r10"; $kul[0]['sifre']="12345";

function authenticate() {
header( 'WWW-Authenticate: Basic realm="STATUS KORUMA"' ); header( 'HTTP/1.0 401 Unauthorized' ); echo '<script type="text/javascript">alert("Hopppp!!!");</script> <meta data-fr-http-equiv="refresh" content="0;URL=index.php" />';exit; } if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])) { authenticate(); } else { for($i=0;$i<count($kul);$i++) { if($_SERVER['PHP_AUTH_USER']==$kul[$i]['kullanici'] && $_SERVER['PHP_AUTH_PW']==$kul[$i]['sifre']){$auth=TRUE;}}
if($auth !=TRUE) {authenticate();} } ?>
<!doctype html>
<html lang="tr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>MAIL FORMU</title>
<meta name="robots" content="noindex">
<meta name="googlebot" content="noindex">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
</head>
<body>

<?php
// PHPMailer sınıflarını dahil et
require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';
require 'PHPMailer/src/Exception.php';

use PHPMailerPHPMailerPHPMailer;
use PHPMailerPHPMailerSMTP;
use PHPMailerPHPMailerException;

// SMTP bilgileri
$smtp_host = "mail.domain.com";
$smtp_username = "mail@domain.com";
$smtp_password = "12345";
$smtp_port = 587;
$mail_to = "mail@domain.com"; // Varsayılan alıcı

// Dosya yükleme işlemi
$uploaded_files = [];
$upload_directory = "uploads/"; // Dosyaların yükleneceği yerel dizin
$file_base_url = "https://domain.com/uploads/"; // Dosya URL'sinin temeli

// Türkçe karakterleri SEO dostu hale getirme fonksiyonu
function seo_url($string) {
$string = strtolower($string);
$string = preg_replace("/[^a-z0-9s-]/", "", $string); // Harf ve rakam dışındaki karakterleri sil
$string = preg_replace("/[s-]+/", " ", $string); // Birden fazla boşluğu tek boşluk yap
$string = preg_replace("/[s_]/", "-", $string); // Boşlukları ve alt çizgileri tireye dönüştür
return $string;
}

// Form gönderildi mi?
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$user_email = isset($_POST['user_email']) ? $_POST['user_email'] : $mail_to; // Kullanıcıdan gelen mail adresi
$subject = isset($_POST['subject']) ? $_POST['subject'] : 'Yeni Dosya Yükleme'; // Kullanıcıdan gelen konu başlığı

// Dosyalar var mı?
if (!empty($_FILES['files']['name'][0])) {
foreach ($_FILES['files']['tmp_name'] as $key => $tmp_name) {
if (!is_uploaded_file($tmp_name)) {
continue;
}

$file_name = basename($_FILES['files']['name'][$key]);

// SEO dostu dosya adı oluştur
$file_extension = pathinfo($file_name, PATHINFO_EXTENSION);
$file_base_name = pathinfo($file_name, PATHINFO_FILENAME);
$current_timestamp = date("Ymd-His");
$seo_file_name = seo_url($file_base_name) . '-' . $current_timestamp . '.' . $file_extension;

$file_path = $upload_directory . $seo_file_name;

// Dosyayı yerel sunucuya yükle
if (move_uploaded_file($tmp_name, $file_path)) {
// Dosya adını URL'ye dönüştürüp link oluştur
$file_url = $file_base_url . urlencode($seo_file_name); // URL'yi oluştur ve Türkçe karakterleri dönüştür
$uploaded_files[] = "<li><a rel="nofollow noreferrer ugc" href="$file_url" target="_blank">$seo_file_name</a></li>";
}
}
}

// Mesaj içeriğini al
$textarea_content = isset($_POST['message']) ? $_POST['message'] : '';
$mail_body = "$textarea_contentnn<br><br><b>Yüklenen Dosyalar:</b><hr>n<ul>" . implode("", $uploaded_files) . "</ul>";

$mail = new PHPMailer(true);
try {
// SMTP yapılandırması
$mail->isSMTP();
$mail->Host = $smtp_host;
$mail->SMTPAuth = true;
$mail->Username = $smtp_username;
$mail->Password = $smtp_password;
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = $smtp_port;

// Gönderen ve alıcı ayarları
$mail->setFrom($smtp_username, 'R10 MAIL FORMU');
$mail->addAddress($user_email); // Kullanıcının girdiği mail adresi
$mail->Subject = $subject; // Kullanıcıdan gelen konu başlığı
$mail->CharSet = 'UTF-8'; // Karakter setini UTF-8 olarak ayarla
$mail->isHTML(true); // HTML formatında göndermek için

// E-posta gövdesini HTML olarak gönder
$mail->Body = $mail_body; // HTML içerik

// E-posta gönder
if ($mail->send()) {
echo '<br><div class="container"><div class="alert alert-success">E-posta başarıyla gönderildi.</div></div>';
} else {
echo '<br><div class="container"><div class="alert alert-danger">E-posta gönderme başarısız.</div></div>';
}

} catch (Exception $e) {
echo '<br><div class="container"><div class="alert alert-danger">E-posta gönderme başarısız: ' . $mail->ErrorInfo . '</div></div>';
}
}
?>

<div class="container mt-3">
<form action="" method="post" enctype="multipart/form-data">

<h1>Mail Gönderme Formu</h1>

<div class="mb-3 mt-4">
<input type="text" name="subject" class="form-control" placeholder="Konu" required>
</div>

<div class="mb-3">
<input type="email" name="user_email" class="form-control" placeholder="Mail Adresi" required>
</div>

<div class="mb-3">
<textarea name="message" class="form-control" placeholder="Mesajınızı girin" rows="5" required></textarea>
</div>

<div class="mb-3">
<input type="file" name="files[]" class="form-control" multiple required>
</div>

<button type="submit" class="btn btn-success btn-lg" style="width:100%;margin-top:5px">Yükle ve Gönder</button>

</form>
</div>

</body>
</html>