Hi all,
Ive set up an email function that works using a form.
The form passes some information and an attachment for the email. The problem arises when I try to send the email to an address hosted on Digiweb. Ive tested the form on yahoo account and gmail accounts with no problems.
Has anyone experienced anything like this before? Ive tried emailing Digiweb but their customer service sucks to be polite.
Heres my email function, maybe theres a problem there
[code]
<?php
// Read POST request params into global vars
$to = “[email protected]”;
$from = “[email protected]”;
$name = “Submission”;
$subject = $_POST[‘subject’];
$message = “”;
$your_name = $_POST[‘name’];
$your_email = $_POST[‘subject’];
$your_phone = $_POST[‘message’];
$your_book = $_POST[‘book’];
if (!empty($your_name)) {
$message .= ‘Your Name: ‘. $your_name .”nn”;
}
if (!empty($your_name)) {
$message .= ‘Your Email: ‘. $your_email .”nn”;
}
if (!empty($your_name)) {
$message .= ‘Your Phone: ‘. $your_phone .”nn”;
}
if (!empty($your_name)) {
$message .= ‘Your Book: ‘. $your_book .”nn”;
}
// 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.0n” .
“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.nn” .
“–{$mime_boundary}n” .
“Content-Type: text/plain;n charset=”iso-8859-1″n” .
“Content-Transfer-Encoding: 7bitnn” .
$message . “nn” .
“–{$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: base64n” .
“Content-Disposition: attachment;n” .
” filename=”{$fileatt_name}”nn” .
$data . “n” .
“–{$mime_boundary}n”;
}
$message .= “–nn”;
}
// 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”);
}
?>
Any help would be greatly appreciated
Thanks in advance