=====Перенос PHP файла в корень DSM и доступ к нему в DSM 7.1=====
Загружаем для примера, архив формы отправки писем по ссылке внизу страницы. Распаковываем архив в корень сайта (папка www на Synology NAS)
\\
С помощью команды include из файла send.php выносим необходимые скрыть подальше данные в отдельный файл:
\\ в примере создан пустой PHP файл со скромным именем strike (strike.php)...
\\
Новое письмо
Имя: $name
Почта: $email
Сообщение:
$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
\\
{{:software:nas:screenshot_0.png?600|}}
\\
Подключаемся к нашему Synology NAS через программу Putty
\\
{{:software:nas:moving_1.png?600|}}
\\
задаем себе права суперпользователя
\\
sudo -i
\\
{{:software:nas:moving_2.png?600|}}
\\
и подтверждаем паролем администратора DSM
\\
{{:software:nas:moving_3.png?600|}}
\\
переходим в директорию куда сохранили файл strike.php (в примере директория **music**)
\\
cd /volume1/music
\\
{{:software:nas:moving_4.png?600|}}
\\
копируем файл strike.php командой cp -a в директорию (в примере директория **volume1**)
\\
cp -a strike.php /volume1/
\\
{{:software:nas:moving_5.png?600|}}
\\
проверяем копирование командой ls
\\
ls
\\
{{:software:nas:moving_6.png?600|}}
\\
переходим на страницу сайта, заполняем данные и проверяем работоспособность формы отправки писем
\\
{{:software:nas:moving_6_5.png?600|}}
\\
заходим в почту и радуемся результату
\\
{{:software:nas:moving_7.png?400|}}
\\
{{ :software:nas:phpmailer.zip |Форма с валидацией почты и анимацией GSAP от автора Кирилла Шпагина}}