PHP Mail with attachment
Posted: Mon Jun 19, 2006 5:27 am
Hi, I am trying to make one , simple, but of my own PHP to send e-mail and also have attachment:
This is my code:
And this is what I receive in my inbox:
Regards, Bogdan
This is my code:
Code: Select all
echo <<<mailu
<form method=post action="">
Enter yer message and arth be done with it hit yer old parrot:
<br>
<table>
<tr>
<td>To:</td> <td><input type="text" name="rec"></td>
</tr>
<tr>
<td>From:</td> <td><input type="text" name="from"></td>
</tr>
<tr>
<td>Cc:</td> <td><input type="text" name="cc"></td>
</tr>
<tr>
<td>Bcc:</td> <td><input type="text" name="bcc"></td>
</tr>
<tr>
<td>Subject:</td> <td><input type="text" name="subj"></td>
</tr>
<tr>
<td>Attachment:</td> <td><input type="file" name="att"></td>
</tr>
</table>
<textarea name="body" cols="50" rows="10"></textarea><br>
<input type="submit" value="Send !!!">
</form>
mailu;
$email_to = $_REQUEST["rec"];
$email_from = $_REQUEST["from"];
$email_subject = $_REQUEST["subj"];
$email_cc = $_REQUEST["cc"];
$email_bcc = $_REQUEST["bcc"];
$fileatt = $_REQUEST["att"];
$email_txt = $_REQUEST["body"];
$fileatt_type = "application/octet-stream";
$headers = "";
if ($email_to == "")
{
print "Please enter a destination mail address <br>";
}
if ($email_from == "")
{
print "From whom to send this mail? <br>";
}
else
{
$headers = "From: ".$email_from."\r\n";
}
if (! $email_cc == "")
{
$headers .= "Cc: ".$email_cc."\r\n";
}
if (! $email_bcc == "")
{
$headers .= "Bcc: ".$email_bcc."\r\n";
}
if ($email_subject == "")
{
print "Subject may not be empty! <br>";
}
if ($file = fopen($fileatt,'rb'))
{
$data = fread($file,filesize($fileatt));
fclose($file);
}
$boundary = "==Multipart_Boundary_x_x_x_x_x";
$email_message .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$boundary}\"";
$email_message .="This is a multi-part message in MIME format.\n\n" .
"--{$boundary}\n" .
"Content-Type:text/html; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$email_txt . "\n\n";
$data = chunk_split(base64_encode($data));
$email_message .="--{$boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
"Content-Disposition:attachment; filename=\"$fileatt\"".
$data . "\n\n" .
"--{$boundary}--\n";
mail($email_to, $email_subject, $email_message, $headers);And this is what I receive in my inbox:
"we have a problem"MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="==Multipart_Boundary_x_x_x_x_x"This is a multi-part message in MIME format.
--==Multipart_Boundary_x_x_x_x_x
Content-Type:text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
WSWSWSWSWSSW AAAAAAAAAAAAAAAAAAAAAAAAAA
--==Multipart_Boundary_x_x_x_x_x
Content-Type: application/octet-stream;
name="001.jpg"
Content-Transfer-Encoding: base64
Content-Disposition:attachment; filename="001.jpg"/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgIC
AwMDAwMDAwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD
AwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgBJQGQAwERAAIRAQMRAf/EAIcAAAICAwEBAQEBAAAAAAAA
AAgJBgcABQoEAwIBCwEBAAAAAAAAAAAAAAAAAAAAABAAAQUBAAEDBAEDAgQDBQERBQIDBAYHAQgR
EhMAFBUJFiEiFzEjQVEyJEIlGGFxgVIzkWJDNfCh0fFyUzQnCmODJjZGEQEAAAAAAAAAAAAAAAAA
AAAA/9oADAMBAAIRAxEAPwDv4+gz6DPoM+gz6DPoM+gz6DPoM+gz6D5OPIaS4pzvEIbQpxa1qShC
W089ylqWrvEpQjn+ve/059BTWj+QeVZVOyYZcLNGjE9x0MHmGXDoPWyU622c7FkTmui4sVxb0kMN
HxVyJ05vi48Nj0W4rnFJ9QuT50f2f699/fRPP6e719vV+32evu4r2c9e8/4fQf1TvE+vqlfOc6rn
VdT32c9Oc/r1X/BPf+f0H1+gz6DPoM+gz6DPoM+gz6DPoM+gz6DPoM+gz6DPoM+gz6DPoM+gz6DP
oM+gz6DPoM+gz6DPoM+gz6DPoM+gz6DPoM+gz6DPoM+gz6DPoM+gz6DPoM+gz6DPoPASnxBkCYSn
zog6APiyJs8hNkMxYUCFEZXIlzJkl9SGI8WNHbU444tXEoSnqu/0536Dn18sNo2HytPCK5npOXWc
.......................................................................................................
z093/t+g98D/ABh8kL8Z/Bfk+d/8d9l+A933X2jX3H2fw/3fcfYez3+z+74PT1/s9PoJWv8AD+5f
yfjvd7Xvk+T7f3ez2/8AcfJ7/wCvs9v/AFev9PT/AF+g/Yr8V+PifhPsPxPwo+w/F/B+O+39P7Ps
vtf+1+D0/wBPj/t+g//Z
--==Multipart_Boundary_x_x_x_x_x--
Regards, Bogdan