
William Charles
0
5049
120
Хотя Интернет превратился в сообщество, в котором большинство из нас общаются и обмениваются идеями по статьям, которые мы читаем в областях комментариев, на форумах и по электронной почте, есть и другие случаи, когда необходима обратная связь, и эти методы недостаточно хороши. Иногда веб-мастеру просто необходимо предоставить возможность посетителю сайта отправить файл по электронной почте. Если вы думаете об этом, предоставляя область комментариев или “гостевая книга” просто в эти дни.
Если вам просто нужна форма с текстовыми полями, чтобы ваши посетители могли оставлять отзывы или отправлять запросы и комментарии, взгляните на статью, которую я написал 3 Генераторы бесплатных контактных форм для вашего сайта 3 Генераторы бесплатных контактных форм для вашего сайта в бесплатной форме контакта генераторы, которые должны делать свое дело.
Тем не менее, если вам нужна дополнительная функциональность “файл” поле, где ваши посетители могут прикрепить файл - тогда вам нужно будет извлечь другой пакет трюков. В этой статье я собираюсь объяснить, какой подход к выполнению этого, на мой взгляд, является наиболее безопасным, а затем я покажу вам, как использовать очень крутой бесплатный инструмент на вашем сайте, который позволяет вам встроить эту функцию в свой собственный сайт.
Способы отправки файла по электронной почте в формате HTML
Существует множество причин, по которым вам может потребоваться, чтобы посетители вашего сайта отправили вам файл. Может быть, вы принимаете заявления о приеме на работу и резюме. Возможно, вы являетесь издателем и хотите предоставить авторам быстрый способ представить свои рассказы. Независимо от причины, мгновенная передача файлов является одновременно удобством и угрозой безопасности, поэтому с ней нужно обращаться правильно..
Существует элемент тега FORM, который позволяет загружать файл на сервер с помощью метода POST. Вам понадобится скрипт (ACTION) для его обработки и сохранения в каталоге на вашем сервере. W3Schools предоставляет действительно полезный пример того, как сделать это с помощью PHP, который, как я думал, был хорошо продуман и достаточно прост, чтобы следовать, если этот подход вам подходит.
Однако, хотя я всегда предпочитал PHP по сравнению с другими скриптами, я не чувствую себя в безопасности, позволяя посетителям загружать файлы на мой сервер. Существуют способы сделать этот процесс более безопасным и заблокировать спамеров, но я все еще немного обеспокоен возможностью появления вирусов или других вредоносных файлов. По этой причине я действительно предпочитаю, чтобы отправка формы была упакована в электронное письмо и отправлена мне.
В моей почтовой системе есть отличный антивирусный сканер для файловых вложений, поэтому я знаю, что могу аккуратно обращаться с файлами, используя этот подход. Вот почему я обратился к бесплатному решению под названием PHPMailer-FE. Это один продукт, который является частью более крупного проекта с открытым исходным кодом (пожалуйста, пожертвуйте, если вы используете форму!)
Я решил пойти с заранее разработанным решением, потому что, честно говоря, хотя я знаю, как создать форму и передать ее в сценарий, который я мог бы написать для обработки информации - зачем изобретать велосипед, когда есть такие хорошо разработанные пакеты уже есть, и PHPMailer является абсолютно одним из них.
Скачать и настроить PHPMailer
Когда вы загрузите Zip-файл, вы обнаружите 3 папки - _lib, DOCS а также sample_forms. Теперь разработчики предлагают огромное количество документации на своем сайте и на форумах разработчиков. Но, честно говоря, вам не нужно много менять, чтобы на вашем сайте работала простая форма..
в “sample_forms” В каталоге вы найдете несколько примеров, которые разработчики уже создали для вас. В этой статье я установлю образец form.html и заставить его работать с помощью всего лишь нескольких незначительных конфигураций. Если у вас нет возможности редактировать файлы в учетной записи веб-хостинга, перейдите к изменениям ниже, прежде чем загружать файлы. В противном случае вы можете сначала загрузить файлы.
Сохраняйте ту же структуру каталогов и убедитесь, что HTML-файл с формой имеет только один каталог. Если вы хотите иначе, вам придется изменить то, как форма ссылается на скрипт PHP (см. Ниже). На самом деле - я запутался, когда я загрузил, вам действительно нужны только папка _lib и файл HTML - папка DOCS просто для вашей информации.
Перейдите в папку _lib и отредактируйте form.config.php файл. Здесь вы можете точно настроить поведение своей формы. Единственное обязательное редактирование - это настройка места, куда будет отправлено сообщение. Я также добавил “предмет” поле, потому что я хочу использовать эту форму на нескольких веб-сайтах, и когда она появится в моем почтовом ящике, я хочу знать, откуда она взялась - в строке «Тема» будет указано, что.
Чтобы включить любую из этих функций, все, что вам нужно сделать, это удалить код комментария “//” и ты в порядке.
Пример формы в действии
Чтобы продемонстрировать форму, я скопировал пример form.html на мой сайт. вот как это выглядит.
Мне нравится это ... посмотрите, как проста форма, и вы можете вставить ее в любое место на своей веб-странице. Она имеет “требуется” функциональность полей, так что пользователь не может отправить форму, по крайней мере, не указав свое имя и адрес электронной почты, и, конечно, он имеет именно то, что мы ищем - два поля загрузки, где посетитель может прикрепить до двух файлов. Вот как выглядит пример кода FORM (эту форму вы вставите на свою веб-страницу).
Это можно сделать двумя способами. Либо скопируйте весь код в form.html Пример файла из тега вниз, или вы можете извлечь только элементы FORM и вставить их в свою собственную настроенную форму, отформатированную так, как вы хотите. Это наиболее вероятный подход, который я выберу.
Единственной важной частью этого является то, что “действие” следует указать на местоположение “PHPMailer-fe.php” скрипт. Теперь, когда у меня есть form.html готов к работе, и файл конфигурации формы настроен для отправки на мой адрес электронной почты и включения темы, пришло время проверить и посмотреть, что произойдет. Я подошел к форме и отправил только свое имя, адрес электронной почты и прикрепил фотографию волка. Через секунду или две после отправки формы, это то, что поступило в мой почтовый ящик.
Вы заметите, что заголовок электронного письма содержит отправителя в качестве адреса электронной почты, введенного в форму, а в строке темы указывается, какой веб-сайт отправил форму. Лучше всего, посмотрите, что прикреплено к электронной почте.
Милая! Таким образом, с помощью всего лишь нескольких очень незначительных изменений в файле конфигурации, теперь вы можете разрешить посетителям отправлять файл через HTML-форму по электронной почте - и вам не нужно было писать ни одной строки кода.
Настройка поведения вашей формы
Прежде чем закончить, есть одна маленькая вещь, которую важно изменить, если вы хотите, чтобы форма выглядела профессионально. В настоящее время, после успешной отправки, он направляет посетителя на эту забавную веб-страницу по умолчанию..
Это анимированное “Обработка ... ” бит на самом деле просто анимированный GIF - за ним нет магии. Эта страница определена в form.config.php файл, на который я ссылался выше. Чтобы настроить страницы ответов, просто снова откройте этот файл, удалите косые черты комментариев “//” для этих полей и заменить”replyemailfailed.html” запись и “replyemailsuccess.html” вход с вашими индивидуальными страницами успеха или неудачи.
Я бы определенно предложил пройти через этот конфигурационный файл и изучить все способы, которыми вы можете настроить поведение этой формы. PHPMailer - это очень универсальный и полезный сценарий обработки предварительно упакованных форм, который вы можете использовать для самых разных целей на своем веб-сайте. Зачем изобретать велосипед, если кто-то уже изобрел такой хорошо сделанный и мощный автомобиль? Все, что вам нужно сделать, это сесть за руль!
У вас есть использование PHPMailer на вашем сайте? Используете ли вы свои собственные инструменты или методы, чтобы легко добавлять формы на сайт, где посетители могут прикреплять файлы? Поделитесь своим пониманием в разделе комментариев ниже.