Permitir que um visitante para enviar um arquivo via formulário de e-mail html com phpmailer

Enquanto a Internet evoluiu para uma comunidade onde a maioria de nós conversar e trocar idéias sobre artigos que lemos dentro de comentários áreas, fóruns e através de e-mail, também existem outros casos em que é necessário feedback, e esses métodos não são bons o suficiente. Às vezes, um webmaster simplesmente precisa fornecer a capacidade de um visitante do site para enviar um arquivo via e-mail. Se você pensar sobre isso, fornecendo um comentário área ou “guestbook” é simples estes dias.

Se você só precisa de um formulário com campos de texto para que os visitantes podem fornecer feedback ou enviar pedidos e comentários, dê uma olhada na artigo que escrevi em geradores formulário de contato livres que deve fazer o truque.3 Gerador de Formulário de contato para o seu site3 Gerador de Formulário de contato para o seu siteconsulte Mais informação


No entanto, se você precisar a funcionalidade adicional de um campo “file”, onde os visitantes podem anexar um arquivo - então você está indo a necessidade de puxar um saco diferente de truques. Neste artigo eu vou explicar qual abordagem para fazer isso que eu sinto é o mais seguro, e então eu vou mostrar-lhe como usar uma ferramenta gratuita muito legal em seu site que permite incorporar esta funcionalidade em seu website próprio.

Video: Como enviar e-mail com a classe PHPMailer - PHP - #DPLUSHelper - 09

Métodos para enviar um arquivo via e-mail HTML Form

Existem muitas razões pelas quais você pode precisar visitantes do seu site para lhe enviar um arquivo. Talvez você está aceitando pedidos de emprego e currículos. Talvez você é um editor e deseja fornecer uma maneira rápida para os autores a apresentarem as suas histórias curtas. Independentemente do motivo, transmitindo instantaneamente arquivos é tanto uma conveniência e um perigo de segurança, por isso tem de ser tratado da maneira certa.

Há um elemento da marca FORM que lhe permite enviar um arquivo para o servidor através do método POST. Você vai precisar de um script (ACTION) para processá-lo e armazená-lo em um diretório em seu servidor. W3Schools é um exemplo realmente útil de como fazer isso usando PHP, que eu pensei que era bem definidos e fácil o suficiente para seguir se esta abordagem mais lhe convier.

No entanto, enquanto eu sempre preferi PHP sobre outros scripts, eu realmente não se sentir seguro deixar meus visitantes upload de um arquivo para o meu servidor. Existem maneiras que você pode fazer spammers o processo mais seguras e de bloco, mas ainda fico um pouco apreensivo sobre o potencial de vírus ou outros arquivos desagradáveis. Por esta razão, eu realmente preferem ter o envio do formulário se embalados em um e-mail e enviado para mim.

Meu sistema de e-mail tem um scanner excelente vírus para anexos de arquivo, então eu sei que posso lidar com cuidado arquivos usando essa abordagem. É por isso que eu virei para a solução gratuito chamado PHPMailer-FE. Este é um produto que é parte de um projeto maior de código aberto (por favor doe se você usar o formulário!)

Eu decidi ir com uma solução pré-desenvolvido, porque com toda a honestidade, embora eu saiba como criar um formulário e passá-lo para um script que eu poderia escrever para processar a informação - por que reinventar a roda quando há tão bem desenvolvido pacotes já lá fora, e PHPMailer é absolutamente um deles.

baixar & Configurar PHPMailer

Quando você baixar o arquivo Zip, você vai descobrir 3 pastas - _lib, DOCS e sample_forms. Agora, os desenvolvedores oferecem uma incrível quantidade de documentação em seu site e nos fóruns de desenvolvedores. Mas, para ser honesto, você realmente não tem que mudar um monte de obter um formulário simples trabalhando em seu site.

No diretório “sample_forms”, você vai encontrar alguns exemplos que os desenvolvedores já criadas para você. Neste artigo, vou instalar a amostra form.html e fazê-lo funcionar com apenas algumas poucas configurações menores. Se você não tem a capacidade de editar arquivos em sua conta de hospedagem web, então pule abaixo para as edições antes de carregar os arquivos. Caso contrário, você pode fazer o upload dos arquivos primeiro.

Video: Como enviar email com PHP usando o PHPMailer

Manter a mesma estrutura de diretórios, e certifique-se de que o arquivo HTML com o formulário é apenas um diretório para cima. Se você quiser o contrário, você vai ter que mudar a forma como o formulário de referencia o script PHP (veja abaixo). Na verdade - eu errei quando eu carregado, você realmente só precisa a pasta _lib eo arquivo HTML - a pasta DOCS é simplesmente para sua informação.

Vá para a pasta _lib e editar o form.config.php Arquivo. Isto é onde você pode realmente fazer um ajuste fino como a sua forma se comporta. A única edição necessária é configurar onde o post vai para ir. Eu também acrescentou a “sujeito”Campo, porque eu quero utilizar este formulário em vários sites, e quando ela chega na minha caixa de correio Eu quero saber de onde veio - a linha de assunto irá dizer-lhe isso.

Para ativar qualquer uma dessas características, tudo que você tem a fazer é remover o código de comentário “//” e você está pronto para ir.

Video: PHP - Formulário de contato utilizando a classe phpmailer

Um exemplo da forma Numa acção



Para demonstrar a forma, eu copiou o exemplo form.html no meu site. Isto é o que parece.

Eu amo este ... olhe o quão simples a forma é, e você pode incorporá-lo em qualquer lugar que você quer na sua página. Tem “necessária” funcionalidade campo para que o usuário não pode enviar o formulário sem ao menos oferecer seu nome e endereço de email, e é claro que tem exatamente o que estamos procurando - dois campos de upload onde o visitante pode anexar até dois arquivos. Aqui está o que o código de formulário de exemplo parece (esta é a forma que você incorporar em sua própria página web).

Video: Formulário de contato responsivo com envio de email (3/5)

Há duas maneiras que você pode tomar isso. Copiar todo o código no form.html arquivo de amostra a partir da

A única parte crítica desta situação é que a “ação” deve apontar para a localização do “phpmailer-fe.php" roteiro. Agora que eu tenho o form.html pronto para ir, eo arquivo de configuração forma personalizada para enviar para o meu endereço de e-mail e incluir um assunto, é hora de testar e ver o que acontece. Eu fui para o formulário e submetido apenas o meu nome, e-mail e anexa uma imagem de um lobo. Um ou dois segundos após enviar o formulário, este é o que chegou na minha caixa de entrada.

Você notará que o cabeçalho de e-mail tem o remetente como o endereço de e-mail inserido no formulário, ea linha de assunto diz-lhe que o site enviou o formulário. O melhor de tudo, dê uma olhada no que está anexado ao email.

Doce! Assim, com apenas um par de edições de arquivo de configuração muito menores, agora você pode permitir que seus visitantes para enviar um arquivo via formulário de e-mail HTML - e você não tem que escrever uma única linha de código.

Personalizando o comportamento do seu Form

Antes de concluir, há uma coisa que é importante para modificar, se você deseja que o formulário para aparecer profissional. Atualmente, mediante a apresentação de sucesso, refere-se ao visitante desta página engraçado-olhando web por padrão.

Que animou “Em processamento…”Bit é na verdade apenas um GIF animado - não há mágica por trás dele. Esta página é definida no form.config.php arquivo I acima referenciado. Para personalizar as páginas de resposta, basta abrir o arquivo novamente, remover o comentário barras “//” para esses campos e substituir o”replyemailfailed.html”Entrada eo“replyemailsuccess.html”Post com seus próprios sucesso ou fracasso páginas personalizadas.

Gostaria definitivamente sugerir passando por esse arquivo de configuração e explorar todas as maneiras que você pode ajustar como esta forma se comporta. PHPMailer é um script de processamento de forma muito versátil e útil pré-embalados que você pode usar para uma ampla variedade de propósitos em seu site. Por que reinventar a roda quando alguém já inventou um carro tão bem-feito e poderoso? Tudo que você tem a fazer é entrar e dirigir!

Você tem um uso para PHPMailer em seu site? Você usa suas próprias ferramentas ou técnicas para adicionar facilmente formulários para seu site onde os visitantes podem anexar arquivos? Partilhe a sua visão na seção de comentários abaixo.


Artigos relacionados