Phpmailer отправляет файлы вложений в виде файлов .dat - PullRequest
0 голосов
/ 10 октября 2019

Я загружаю файлы на свой веб-сайт в папку и сохраняю там имена и имена файлов в таблице sql.

Когда я отправляю электронное письмо с сайта, я хочу прикрепить эти файлы. Отправка в порядке, файлы прикреплены, но я всегда получаю файл .bat, а не pdf jpg или другой, каким он должен быть.

Я попытался добавить расширение файла в конце функции addAttachment,но это ничего не делало. Я вижу это на сайте в другом вопросе об этом.

$get_csatolmanyok = mysqli_query($kapcs, "SELECT fajl_nev, fajl_file FROM letoltheto_fajl WHERE fajl_add_to_email = 1");
if(mysqli_num_rows($get_csatolmanyok) > 0 )
{
    while($csatol = mysqli_fetch_assoc($get_csatolmanyok))
    {
        $mail->addAttachment("documents/".$csatol['fajl_file'], $csatol['fajl_nev']);
    }
}

Я не получаю никакого сообщения об ошибке. Я записал содержимое с print_r, но все в порядке. (имя, имя файла ...) Если я открою файл прямо в браузере, это нормально, поэтому файл находится в нужном месте. Также в таблице sql имена правильные.

Обновленный код:

$get_csatolmanyok = mysqli_query($kapcs, "SELECT fajl_nev, fajl_file FROM letoltheto_fajl WHERE fajl_add_to_email = 1");
            if(mysqli_num_rows($get_csatolmanyok) > 0 )
            {
                while($csatol = mysqli_fetch_assoc($get_csatolmanyok))
                {
                    $ext = end((explode(".", $csatol['fajl_file'])));
                    $mail->addAttachment("documents/".$csatol['fajl_file'], $csatol['fajl_nev'] . $ext);
                }
            }
...