Отправка простого прикрепленного файла через функцию PHP mail ()

Я собираюсь дать еще одну попытку, потому что мой последний вопрос, возможно, был путаным. У меня есть простая веб-форма, состоящая из следующих нескольких входов (на данный момент, притворяйтесь, что у меня есть два входа, имя и вход для файла). Я хочу, чтобы пользователь загружал документ (если возможно, ограничивается .doc, .docx, .pdf, если это невозможно сделать, давайте просто ограничимся .doc), и я хочу ограничить размер до 2 МБ.

Позвольте мне перефразировать это. Файл, который должен быть прикреплен, НЕ находится на веб-сервере. Он будет динамически загружаться во временную папку, отправлять по почтовому сценарию и затем удаляться.

Если этого можно добиться, пожалуйста, мне нужна вся помощь, которую я могу получить.

Я пробовал Swiftmailer, PHPMailer, PEAR, я не могу заставить их работать. Все, что мне нужно, это простой скрипт для отправки прикрепленного файла, не более того. Никакой проверки не требуется, ничего.

Любая помощь будет принята с благодарностью.

Большое спасибо, Amit

Это можно сделать со всеми тремя перечисленными вами библиотеками (PHPMAiler, PEAR и Swiftmailer).

Для PHPMailer вы можете увидеть учебник здесь :

require_once '../class.phpmailer.php'; $mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch try { $mail->AddReplyTo('name@yourdomain.com', 'First Last'); $mail->AddAddress('whoto@otherdomain.com', 'John Doe'); $mail->SetFrom('name@yourdomain.com', 'First Last'); $mail->AddReplyTo('name@yourdomain.com', 'First Last'); $mail->Subject = 'PHPMailer Test Subject via mail(), advanced'; $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically $mail->MsgHTML(file_get_contents('contents.html')); $mail->AddAttachment('images/phpmailer.gif'); // attachment $mail->AddAttachment('images/phpmailer_mini.gif'); // attachment $mail->Send(); echo "Message Sent OK<P></P>\n"; } catch (phpmailerException $e) { echo $e->errorMessage(); //Pretty error messages from PHPMailer } catch (Exception $e) { echo $e->getMessage(); //Boring error messages from anything else! } 

AddAttachment возьмет файл с вашего сервера.

Как загрузить форму файла HTML-форму можно найти здесь . После отправки вашего сообщения вы можете удалить ( отменить связь ) файл с сервера.

Руководство по PHP может помочь вам лучше загружать файлы с нижестоящими файлами.

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