I have a form on example.com/contact-us.php
that looks like this (simplified):
<form method="post" action="process.php" enctype="multipart/form-data"> <input type="file" name="uploaded_file" id="uploaded_file" /> <input type="hidden" name="MAX_FILE_SIZE" value="10000000" /> </form>
In my process.php
file, I have the following code utilizing PHPMailer()
to send an email:
require("phpmailer.php"); $mail = new PHPMailer(); $mail->From = [email protected]; $mail->FromName = My name; $mail->AddAddress([email protected],"John Doe"); $mail->WordWrap = 50; $mail->IsHTML(true); $mail->Subject = "Contact Form Submitted"; $mail->Body = "This is the body of the message.";
The email sends the body correctly, but without the Attachment of uploaded_file
.
MY QUESTION
I need the file uploaded_file
from the form to be attached to the email, and sent. I do NOT care about saving the file after the process.php
script sends it in an email.
I understand that I need to add AddAttachment();
somewhere (I'm assuming under the Body
line) for the attachment to be sent. But...
process.php
file to pull in the file uploaded_file
? Like something using $_FILES['uploaded_file']
to pull in the file from the contact-us.php page?AddAttachment();
for the file to be attached and sent along with the email and where does this code need to go?Please help and provide code!Thanks!
Try:
if (isset($_FILES['uploaded_file']) && $_FILES['uploaded_file']['error'] == UPLOAD_ERR_OK) { $mail->AddAttachment($_FILES['uploaded_file']['tmp_name'], $_FILES['uploaded_file']['name']); }
Basic example can also be found here.
The function definition for AddAttachment
is:
public function AddAttachment($path, $name = '', $encoding = 'base64', $type = 'application/octet-stream')
In the HTML form I have not added following line, so no attachment was going:
enctype="multipart/form-data"
After adding above line in form (as below), the attachment went perfect.
<form id="form1" name="form1" method="post" action="form_phpm_mailer.php" enctype="multipart/form-data">
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With