I have problem sending an email with multiple attachments. Here is the code:
<?php
if(isset($_POST['sendEmail']))
{
foreach($_FILES['uploadEmail']['error'] as $key=>$value){
if(!$_FILES['uploadEmail']['error'][$key]){
$target_path = "";
$target_path = $target_path . basename( $_FILES['uploadEmail']['name'][$key]);
if(move_uploaded_file($_FILES['uploadEmail']['tmp_name'][$key], $target_path)){
$files[] = $_FILES['uploadEmail']['name'][$key];
}
}
}
$toEmails = explode(",",$_POST['toEmail']);
$count = count($toEmails);
$i = 0; $j = 1; $k = 100;
$bcc = '';
while($i<$count){
$bcc .= $toEmails[$i].",";
if($j==$k || $i==$count-1){
$j=1;
//echo $bcc.'<br />'.$sub.'<br />'.$message.'<br /><br />';
$from = 'test@gmail.com';
$sub = $_POST['subject'];
$message = $_POST['message'];
/////////////////////////
$headers = 'From:'. $from . "
";
$headers .= "Bcc:". $bcc . "
";
// boundary
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
// headers for attachment
$headers .= "
MIME-Version: 1.0
" . "Content-Type: multipart/mixed;
" . " boundary="{$mime_boundary}"";
// multipart boundary
$message = "This is a multi-part message in MIME format.
" . "--{$mime_boundary}
" . "Content-Type: text/html; charset="iso-8859-1"
" . "Content-Transfer-Encoding: 7bit
" . $message . "
";
$message .= "--{$mime_boundary}
";
// preparing attachments
for($x=0;$x<count($files);$x++){
$file = fopen($files[$x],"rb");
//echo "<br>".filesize($files[$x]);
$data = fread($file,filesize($files[$x]));
fclose($file);
$data = chunk_split(base64_encode($data));
$message .= "Content-Type: {"application/octet-stream"};
" . " name="$files[$x]"
" .
"Content-Disposition: attachment;
" . " filename="$files[$x]"
" .
"Content-Transfer-Encoding: base64
" . $data . "
";
$message .= "--{$mime_boundary}
";
}
// send
/////////////////////////
mail('',$sub,$message,$headers);
$bcc = '';
}else{
$j++;
}
$i++;
}
}
?>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
<script type="text/javascript">bkLib.onDomLoaded(function() {
new nicEditor().panelInstance('message');
// new nicEditor({fullPanel : true}).panelInstance('area2');
});</script>
</head>
<body>
<form method="POST" enctype="multipart/form-data">
<table>
<tr><td><label for="toEmail">Send To : </label></td><td><textarea id="toEmail" name="toEmail" cols="100" rows="10"></textarea></td></tr>
<tr><td><label for="subject">Subject : </label></td><td><input type="text" name="subject" id="subject" size="98"></td></tr>
<tr><td><label for="toEmail">Message : </label></td><td><textarea id="message" name="message" cols="100" rows="10"></textarea></td></tr>
<tr><td><label for="upload[]">Attachments:</label></td><td></td></tr>
<tr><td><label>1</label></td><td><input type="file" name="uploadEmail[]"></td></tr>
<tr><td><label>2</label></td><td><input type="file" name="uploadEmail[]"></td></tr>
<tr><td><label>3</label></td><td><input type="file" name="uploadEmail[]"></td></tr>
<tr><td><label>4</label></td><td><input type="file" name="uploadEmail[]"></td></tr>
<tr><td><label>5</label></td><td><input type="file" name="uploadEmail[]"></td></tr>
<tr><td><label>6</label></td><td><input type="file" name="uploadEmail[]"></td></tr>
<tr><td><label>7</label></td><td><input type="file" name="uploadEmail[]"></td></tr>
<tr><td><label>8</label></td><td><input type="file" name="uploadEmail[]"></td></tr>
<tr><td><label>9</label></td><td><input type="file" name="uploadEmail[]"></td></tr>
<tr><td><label>10</label></td><td><input type="file" name="uploadEmail[]"></td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="Send Email" name="sendEmail" id="sendEmail"></td></tr>
</table>
</form>
<body>
</html>
I received mail but could not find any attachments with it.
Does anyone know what could be wrong?
Here is an email body which I got in mail:
MIME-Version: 1.0 Content-Type: multipart/mixed;
boundary="==Multipart_Boundary_x2d454346f03d2c19cfefc838ce4d8623x"
This is a multi-part message in MIME format.
--==Multipart_Boundary_x2d454346f03d2c19cfefc838ce4d8623x Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
ds fsdfsdfsdfsdfsdfsdfsf sffdfsdfsdfs fsdfdf sdf s
--==Multipart_Boundary_x2d454346f03d2c19cfefc838ce4d8623x Content-Type: {"application/octet-stream"}; name="/tmp/phpHFTvAw"
Content-Disposition: attachment; filename="Lighthouse.jpg"
Content-Transfer-Encoding: base64
--==Multipart_Boundary_x2d454346f03d2c19cfefc838ce4d8623x Content-Type: {"application/octet-stream"}; name="/tmp/phpyX67HR"
Content-Disposition: attachment; filename="Penguins.jpg"
Content-Transfer-Encoding: base64
--==Multipart_Boundary_x2d454346f03d2c19cfefc838ce4d8623x
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…