swiftmailer и электронная почта с приложением – новичок

Как всегда здесь место, где я многому научился. И у меня теперь есть чему поучиться:

У меня есть html-форма:

<tr><td width="16%">File attachment</td><td width="2%">:</td><td><input type="file" name="fileatt" /></td></tr> 

и mail.php:

 $attachfile=$_POST["fileatt"]; 

и правильный код swiftmailer для отправки электронных писем;

У меня есть googled, и я нашел много примеров, как отправить вложение с файлом, хранящимся на веб-сайте, но я хотел бы сделать это на лету. Поэтому, когда вы отправляете кнопку, она отправляет ее людям, а не загружает файл.

 // Create the Transport $transport = Swift_SmtpTransport::newInstance('mail.server.co.uk', 25) ->setUsername('user') ->setPassword('pass') ; // Create the Mailer using your created Transport $mailer = Swift_Mailer::newInstance($transport); // Create a message $message = Swift_Message::newInstance($subject) ->setFrom(array('emai@emai.com' => 'name')) ->setBody($html, 'text/html') ; // Add alternative parts with addPart() $message->addPart(strip_tags($html), 'text/plain'); // Send the message $result = $mailer->send($message); 

может ли кто-нибудь помочь мне, как сделать загрузку файлов на лету, пожалуйста? Заранее спасибо!!!

Это простой способ сделать это, здесь вы идете:

 $message->attach( Swift_Attachment::fromPath('/path/to/image.jpg')->setFilename('myfilename.jpg') ); 

Это один из способов, которым SwiftMail может это сделать, теперь просто файл / tmp и переверните приведенное выше:

Предполагая: fileatt является переменной для $ _FILE, ['tmp_name'] фактически является файлом tmp, который создает PHP из загрузки формы.

 $message->attach( Swift_Attachment::fromPath($_FILES['fileatt']['tmp_name'])->setFilename($_FILES['fileatt']['name']) ); 

Более подробную информацию о приложениях SwiftMail можно найти на этой странице документов

Более подробную информацию о $ _FILES можно найти здесь, в w3schools, несмотря на то, что мне не нравятся w3schools , эта страница прочная.

Другой способ сделать это, используя только одну переменную для пути и имени файла:

 $message->attach(Swift_Attachment::fromPath('full-path-with-attachment-name'));