Как я могу прикрепить к почте файл из общей папки?

Я хочу отправить электронное письмо с вложением в формате pdf под названием «предварительная квалификация», которое находится в моем общедоступном каталоге. Как я могу получить к нему доступ?

Это то, что у меня есть в моем методе магазина:

  Mail :: send (new OfferEmailUser ($ request)  );  

И OfferEmailUser выглядит так:

  public $ request; public function __construct ($ request) {// $ this-> request = $ request;  $ this-> to ($ request-> email, $ request-> name);  $ this-> subject ('Уведомление по электронной почте о предложении');} public function build () {return $ this-> view ('emails.offeremailuser');}  

3

Как jelhan упомянул в своем комментарии, здесь должны помочь документы Laravel по вложению почты, например

  return $ this-> view ('emails.offeremailuser');  

становится

  return $ this-> view ('emails.offeremailuser') -> attach ('/path/to/file');  

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

  return $ this-> view ('emails.offeremailuser') -> attach (public_path ('pre-qualification.pdf'))  ;  

Поделиться
ответ дан 24 авг. : 29
  • цените это. Основная проблема, я думаю, заключалась во вспомогательной функции для доступа к общедоступному пути. Теперь это работает. И если вы не против пояснить, в чем разница между тем, что вы отправили, по сравнению с ответом Гаурав Вагела, который он добавляет в массив? Я видел это в документации, но нет объяснения разницы. — пользовательский агент 25 авг., 18:49
  • Массив в основном дает вам больше контроля над тем, как вложение обрабатывается и представляется — параметр as позволяет вам переопределить имя файла и назвать его по-другому, а mime предоставляет соответствующие службы подсказку в mime-типе файла. Если вас устраивают значения по умолчанию, то массив не требуется. — Rich 26 авг., 18:25
добавить комментарий |

Как jelhan упомянул в своем комментарии, здесь должны помочь вложения Laravel, например

  return $ this-> view ('emails.offeremailuser');  

становится

  return $ this-> view ('электронные письма. offeremailuser ') -> attach ('/path/to/file ');  

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

  return $ this-> view ('emails.offeremailuser') -> attach (public_path ('pre-qualification.pdf'))  ;  

0

Попробуйте это

  публичная функция __construct ($ request) {//$ this-> request = $ request;  $ this-> to ($ request-> email, $ request-> name);  $ this-> subject ('Уведомление по электронной почте о предложении');  $ this-> attach ('path_to_pdf_file', array ('as' => 'pdf-report.zip', 'mime' => 'application/pdf'));}  

Поделиться
ответил 25 августа 2018 в 04:34
добавить комментарий |

Попробуйте это

  публичная функция __construct ($ request) {//$ this  -> запрос = $ запрос;  $ this-> to ($ request-> email, $ request-> name);  $ this-> subject ('Уведомление по электронной почте о предложении');  $ this-> attach ('path_to_pdf_file', array ('as' => 'pdf-report.zip', 'mime' => 'application/pdf'));}  

Оцените статью
Botgadget.ru
Добавить комментарий