Привет всем. Нужно сделать рассылку заявок. Использую PHPmailer
Всего три страницы с заявками. Решил сделать общий функционал в одном файле, к которому будет подключаться mail.php, в mail.php будет проверятся с какой формы нажата кнопка и далее будет вызываться нужная функция. Все бы хорошо, но сразу ошибка.
Вот код
<?php
require ('autoload.php');
?>
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
function osagoFunc(){
if(isset($check)){
mailFunc('Новая заявка осаго',$contact,$msg,'Страховка без ограничений количества водителей');
}else{
mailFunc('Новая заявка осаго',$contact,$msg,'нет');
}
}
$contact = htmlspecialchars($_POST['contact']);
$msg = htmlspecialchars($_POST['msg']);
$check = $_POST['somecheck'];
$mail = new PHPMailer(true);
function mailFunc($subj,$cont,$ms,$chec){
foreach ($_FILES["photo_file"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["photo_file"]["tmp_name"][$key];
$name = basename($_FILES["photo_file"]["name"][$key]);
move_uploaded_file($tmp_name, "photo/$name");
$mail->setFrom('osago@example.com', 'Mailer');
$mail->addAddress('somemail@yandex.ru', 'John Doe');
$mail->Subject = $subj;
$mail->msgHTML('Контактная информация : '.$cont.' Текст сообщения : '.$ms.' Дополнительная информация: '.$chec);
$mail->addAttachment('photo/'.$name);
}
}
$mail->send();
}
?>
Ошибка Uncaught Error: Call to a member function setFrom() 25 строчка.
Я так понимаю не правильная область видимости. В чем проблема?