Инструменты пользователя

Инструменты сайта


software:nas:moving_to_root_dsm_7.1

Перенос PHP файла в корень DSM и доступ к нему в DSM 7.1

Загружаем для примера, архив формы отправки писем по ссылке внизу страницы. Распаковываем архив в корень сайта (папка www на Synology NAS)
С помощью команды include из файла send.php выносим необходимые скрыть подальше данные в отдельный файл:
в примере создан пустой PHP файл со скромным именем strike (strike.php)…

<?php
// Файлы phpmailer
require 'phpmailer/PHPMailer.php';
require 'phpmailer/SMTP.php';
require 'phpmailer/Exception.php';

// Переменные, которые отправляет пользователь
$name = $_POST['name'];
$email = $_POST['email'];
$texta = $_POST['texta'];
$file = $_FILES['file'];

// Формирование самого письма
$title = "Заголовок письма";
$body = "
<h2>Новое письмо</h2>
<b>Имя:</b> $name<br>
<b>Почта:</b> $email<br><br>
<b>Сообщение:</b><br>$texta
";

include '../strike.php';

?>


В файле strike.php записываем выносимые данные:


// Валидация почты
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {

// Настройки PHPMailer
$mail = new PHPMailer\PHPMailer\PHPMailer();
try {
    $mail->isSMTP();   
    $mail->CharSet = "UTF-8";
    $mail->SMTPAuth   = true;
    //$mail->SMTPDebug = 2;
    $mail->Debugoutput = function($str, $level) {$GLOBALS['status'][] = $str;};

   // Настройки вашей почты
   $mail->Host       = 'smtp.gmail.com'; // SMTP сервера вашей почты
   $mail->Username   = 'your_login@gmail.com'; // Логин на почте
   $mail->Password   = 'password'; // 16-значный пароль приложения, настроенный в учетной записи google
   $mail->SMTPSecure = 'tls';
   $mail->Port       = 587;
   // Адрес самой почты и имя отправителя
   $mail->setFrom('your_login@gmail.com', 'your_login');
     // Получатель письма
       $mail->addAddress('youremail@gmail.com');
    // $mail->addAddress('youremail@gmail.com'); // Ещё один, если нужен

    // Прикрипление файлов к письму
if (!empty($file['name'][0])) {
    for ($ct = 0; $ct < count($file['tmp_name']); $ct++) {
        $uploadfile = tempnam(sys_get_temp_dir(), sha1($file['name'][$ct]));
        $filename = $file['name'][$ct];
        if (move_uploaded_file($file['tmp_name'][$ct], $uploadfile)) {
            $mail->addAttachment($uploadfile, $filename);
            $rfile[] = "Файл $filename прикреплён";
        } else {
            $rfile[] = "Не удалось прикрепить файл $filename";
        }
    }   
}
// Отправка сообщения
$mail->isHTML(true);
$mail->Subject = $title;
$mail->Body = $body; 
  

// Проверяем отравленность сообщения
if ($mail->send()) {$result = "success";} 
else {$result = "error";}

} catch (Exception $e) {
    $result = "error";
    $status = "Сообщение не было отправлено. Причина ошибки: {$mail->ErrorInfo}";
}
} else {
	$result = "email";
}
// Отображение результата
echo json_encode(["result" => $result, "resultfile" => $rfile, "status" => $status]);


Сохраняем файл strike.php и кладем его в папку к примеру «music» на DSM Synology NAS

Подключаемся к нашему Synology NAS через программу Putty

задаем себе права суперпользователя

sudo -i



и подтверждаем паролем администратора DSM

переходим в директорию куда сохранили файл strike.php (в примере директория music)

cd /volume1/music



копируем файл strike.php командой cp -a в директорию (в примере директория volume1)

cp -a strike.php /volume1/



проверяем копирование командой ls

ls



переходим на страницу сайта, заполняем данные и проверяем работоспособность формы отправки писем

заходим в почту и радуемся результату

Только авторизованные участники могут оставлять комментарии.
software/nas/moving_to_root_dsm_7.1.txt · Последнее изменение: 2023/08/06 02:31 — 127.0.0.1