Enviando um arquivo anexado simples via PHP mail ()

Eu vou dar essa outra tentativa porque minha última pergunta pode ter sido confusa. Eu tenho um formulário web simples que consiste nas seguintes inputs (por enquanto, finja eu tenho duas inputs, nome e input de arquivo). Eu quero que o usuário faça o upload de um documento (se possível restringir a .doc, .docx, .pdf, se isso não for possível, vamos apenas restringir a .doc) e eu quero restringir o tamanho a menos de 2MB.

Deixe-me reformular isso. O arquivo a ser anexado NÃO está no servidor web. Ele será carregado de forma dinâmica para uma pasta temporária, enviará através do script de correio e depois será excluído.

Se isso for possível, por favor, eu preciso de toda a ajuda que posso obter.

Eu tentei Swiftmailer, PHPMailer, PEAR, não consigo fazê-los funcionar. Tudo o que preciso é um script simples para enviar um arquivo anexado, nada mais. Não é necessária nenhuma validação, nada.

Qualquer ajuda seria muito apreciada.

Muito obrigado, Amit

É possível fazer com todas as 3 bibliotecas que você listou (PHPMAiler, PEAR e Swiftmailer).

Para o PHPMailer, você pode ver um tutorial aqui :

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

\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 irá tirar um arquivo do seu servidor.

Como fazer o upload de um formulário de arquivo, um formulário HTML pode ser encontrado aqui . Uma vez que seu e-mail é enviado, você pode excluir ( desvincular ) o arquivo do servidor.

O manual do PHP pode ajudá-lo a melhor compreender os carregamentos de arquivos.

Tudo o que você quer fazer é fácil de alcançar, mas é mais uma explicação do que fazer 🙂 Mas com todos os links que lhe dei, você tem tudo o que precisa. Se você tiver perguntas específicas, avise-me.

Intereting Posts