How to send form uploads as an E-mail attachment using PHP?

code, coding, programming-2558220.jpg

Share This Post

Sending form uploads as email attachments is a common requirement in many web applications. Whether you’re building a contact form, a job application form, or any other type of form that allows users to upload files, you may need to send those files as email attachments to a designated recipient. In this blog post, we’ll walk you through the steps to achieve this functionality in a few easy steps.

Step 1: Set up your form to allow file uploads First, you need to set up your form to allow file uploads. This requires adding an input field of the type “file” to your form HTML. You can do this by adding the following code to your form:


  <input type="file" name="attachment">
  <!-- other form fields here -->

Step 2: Handle the form submission on the server side When a user submits the form, you need to handle the form submission on the server side. This involves processing the form data, including the uploaded file, and sending it as an email attachment.

To handle the form submission, you can use a server-side scripting language such as PHP, Python, or Node.js. The specific code you need to write will depend on the language you’re using, but the general steps are:

  • Receive the form data and uploaded the file on the server.
  • Attach the uploaded file to an email message.
  • Send the email message to the designated recipient.

Here’s some example PHP code that shows how to handle the form submission and send the uploaded file as an email attachment:


$recipient = "";
$subject = "Form submission with attachment";
$message = "Here's the form submission with attachment.";
// Get the uploaded file
$attachment = $_FILES['attachment']['tmp_name'];
$filename = $_FILES['attachment']['name'];
// Create the email message
$mail = new PHPMailer();
$mail->Subject = $subject;
$mail->Body = $message;
$mail->addAttachment($attachment, $filename);
// Send the email
if ($mail->send()) {
  echo "Email sent successfully.";
} else {
  echo "Error sending email: " . $mail->ErrorInfo;

Step 3: Test and refine your code After you’ve written the code to handle the form submission and send the email with the attachment, it’s important to test it thoroughly to make sure it’s working correctly. Test your form with different types and sizes of files to make sure the email attachment is being sent correctly.

If you encounter any issues, you can refine your code to fix them. For example, you may need to set a file size limit or validate the file type before attaching it to the email message.


Sending form uploads as email attachments is a useful feature that many web applications require. By following the steps outlined in this blog post, you can easily implement this functionality in your own web applications. Remember to thoroughly test your code and refine it as needed to ensure that it’s working correctly.

Scroll to Top