<?php
// Read POST request params into global vars
$to = "chapters@letstrywriting.com";
$from = "Submission@letstrywriting.com";
$name = "Submission";
$subject = $_POST['subject'];
$message = "";
$your_name = $_POST['name'];
$your_email = $_POST['subject'];
$your_phone = $_POST['message'];
if (!empty($your_name)) {
$message .= 'Your Name: '. $your_name ."\n\n";
}
if (!empty($your_name)) {
$message .= 'Your Email: '. $your_email ."\n\n";
}
if (!empty($your_name)) {
$message .= 'Your Phone: '. $your_phone ."\n\n";
}
// Obtain file upload vars
$fileatt = $_FILES['fileatt']['tmp_name'];
$fileatt_type = $_FILES['fileatt']['type'];
$fileatt_name = $_FILES['fileatt']['name'];
$headers = "From: $from";
if (is_uploaded_file($fileatt) || is_uploaded_file($fileatt2) || is_uploaded_file($fileatt3)) {
// Read the file to be attached ('rb' = read binary)
if (is_uploaded_file($fileatt)) {
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
// Base64 encode the file data
$data = chunk_split(base64_encode($data));
}
// Generate a boundary string
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
// Add the headers for a file attachment
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
// Add a multipart boundary above the plain message
$message = "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/plain;\n charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$message . "\n\n" .
"--{$mime_boundary}\n";
// Add file attachment(s) to the message
if ($fileatt_name > "") {
$message .= "Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n" .
"Content-Disposition: attachment;\n" .
" filename=\"{$fileatt_name}\"\n\n" .
$data . "\n" .
"--{$mime_boundary}\n";
}
$message .= "--\n\n";
}
// Send the message
$ok = @mail($to, $subject, $message, $headers);
if ($ok) {
echo "<p>Mail sent!</p>";
header("location: subthanks.php");
} else {
echo "<p>Mail could not be sent. Sorry!</p>";
header("location: subbad.php");
}
?>
It seems to work, however when I go to check the email the file has not attached. The attachment seems to be there but it gives its size as 0kb and doesnt register it with a .filename ending. Could someone show me where im going wrong?
Never did solve the server issue. the mail function and the recipient email were hosted on the same server. We set up a work around where the mail function sent an email to an external gmail address, which then forwarded it back to the intended recipient. Works fine and with the added bonus of copies of all emails sent.
Bookmarks