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

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

  • Показать исходный текст
  • История страницы
  • Ссылки сюда
  • Оставить на чай
  • Экспорт в PDF
  • Наверх

  • 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



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

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

    Обсуждение

    Ваш комментарий:

    Внимание! Оставляя комментарий Вы соглашаетесь с пониманием и несете ответственность за свои действия гл.2 ст.18 Федерального закона №38-ФЗ «О рекламе» и ст.3 п.1 Федерального закона №152-ФЗ «О персональных данных»
    227᠎ +13 =
     
    software/nas/moving_to_root_dsm_7.1.txt · Последнее изменение: 2023/08/06 02:31 — 127.0.0.1