@Let_peace

Как прикрепить файл с сервера к письму через phpmailer?

Отправляю письмо с помощью phpmailer. Пытаюсь прикрепить файл, который лежит на сервере. Испробовал несколько методов, которые обнаружил на просторах интернета:
// $path - абсолютный путь до файла
$path = "https://mysite.ru/files/file.txt": // в таком виде задается
$mail->AddAttachment($path);
$mail->addAttachment(file_get_contents($path));
$mail->addStringAttachment(file_get_contents($path));
$mail->addStringAttachment(file_get_contents($path), "file");
// и всякие другие

Файл все никак не прикрепляется. Путь к файлу указан верно.
Прошу разбирающихся людей помочь решить данную задачку...
  • Вопрос задан
  • 174 просмотра
Решения вопроса 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Для правильного решения этого вопроса, надо освоить две важные концепции. Нет, три.
1. Начать отличать файлы от виртуальных адресов. Не то чтобы это обязательно было причиной, но указывать URL вместо пути к файлу некорректно.
2. Освоить такое понятие, как отладка. Если что-то не работает, то скорее всего пишет ошибки. Ошибки надо обязательно читать, чтобы исправить. Не бывает волшебного кода, который работает вообще всегда, стоит только его "обнаружить на просторах интернета". Любой код может не работать по миллиону причин, от него не зависящих.

Отсюда следует важный вывод: вам не нужно знать, как прикреплять файлы. Вы это и так уже знаете. Вам нужно научиться видеть выдаваемые РНР ошибки, чтобы их прочитать, загуглить, и в итоге исправить.

3. Учить английский. И не просто наобум копировать код, найденный на просторах интернета, но и стараться разобраться - что он делает. Это видно даже из названий функций. И таким образом отбрасывать заведомо нерабочие варианты типа $mail->addAttachment(file_get_contents($path));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы