Новое письмо
Имя: $ имя
Почта: $ электронная почта
Сообщение:
$ text
" ;
// Настройки PHPMailer
$ mail = new PHPMailer \ PHPMailer \ PHPMailer ();
пытаться {
$ mail- > isSMTP ();
$ mail- > CharSet = " UTF-8 " ;
$ mail- > SMTPAuth = true ;
//$mail->SMTPDebug = 2;
$ mail- > Debugoutput = function ( $ str , $ level ) { $ GLOBALS [ ' status ' ][] = $ str ;};
// Настройки вашей почты
$ mail -> Host = ' smtp.yandex.ru ' ; // SMTP-сервер вашей службы
$ mail -> Имя пользователя = ' ваш_логин ' ; // Вход на почту
$ mail -> Пароль = ' пароль ' ; // Пароль на почте
$ mail- > SMTPSecure = ' ssl ' ;
$ mail -> Port = 465 ;
$ mail -> setFrom ( 'mail@yandex.ru ' , ' Имя отправителя ' ) ; // Адрес приложения
// Получаем письма
$ mail -> addAddress ( 'youremail@yandex.ru ' ) ;
$ 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 , $ имя_файла );
$ rfile [] = " Файл $ filename прикреплён " ;
} еще {
$ rfile [] = " Не удалось прикрепить файл $ filename " ;
}
}
}
// Отправка сообщения
$ mail- > isHTML ( true );
$ mail- > Subject = $ title ;
$ mail- > Body = $ body ;
// Проверяем эффективность сообщений
if ( $ mail- > send ()) { $ result = " success " ;}
иначе { $ result = " error " ;}
} catch ( Exception $ e ) {
$ result = " error " ;
$ status = " Сообщение не было отправлено. Причина ошибки: { $ mail -> ErrorInfo }" ;
}
// Отображение результата
echo json_encode ([ " result " => $ result , " resultfile " => $ rfile , " status " => $ status ]);
?>