/    Sign up×
Community /Pin to ProfileBookmark

Php email attachment problem

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”);
}
?>
[/code]

Any help would be greatly appreciated
Thanks in advance

to post a comment
PHP

0Be the first to comment 😎

×

Success!

Help @jimmyg spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.7,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...