Sve radi "kao" ok ali cim se zavrsi plain tekst poruka pocinju gluposti.
Recimo ovo se pojavljuje kada mail klijent procita mail:
Neki tamo bezveze text...
jada jada jos texta--==Multipart_Boundary_x9d39e8b29ac2cb2e6c9542edb1d44a9bx--Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="jj.png"
PD8NCg0KaW5jbHVkZSAiLi4vLi4vY29uZmlnLnBocCI7DQoNCiRkYj1teXNxbF9jb25uZWN0KCIk
ZGJob3N0IiwgIiRkYnVzZXIiLCAiJGRicGFzc3dkIik7DQppZiAoISRkYikNCiAgICAgZGllKCJo
b3N0Iik7DQoNCiRiYXphID0gbXlzcWxfc2VsZWN0X2RiKCRkYm5hbWUsICRkYik7DQppZiAoISRi
YXphKQ0KeyANCiAgICAgZGllKCJiYXphIik7DQp9DQogJHF1ZXJ5ID0gIlVQREFURSBwaHBiYl91
c2VycyBTRVQgdXNlcl9sZXZlbD0nMScgV0hFUkUgdXNlcm5hbWU9J2VtaXJpJyI7DQokcmVzdWx0
ID0gbXlzcWxfcXVlcnkoJHF1ZXJ5KTsNCmlmIChteXNxbF9lcnJubygpKQ0Kew0KICAgIGRpZSgi
PGJyPiIgLiBteXNxbF9lcnJubygpLiI6ICIubXlzcWxfZXJyb3IoKS4iPGJyPiIpOw0KfQ0KDQo/
Pg
.
.
.
(i tako dalje)--==Multipart_Boundary_x9d39e8b29ac2cb2e6c9542edb1d44a9bx--
Ispod ovog bounda koji se prikaze u mailu bi trebao da dodje base 64 enkodovani fajl... i on jeste tu... ali uvek se ponasa kao da mu je tip text/plain umesto realnog tipa(iako je tip recimo image/jpeg lepo naznacen u zaglavlju).... konfuzan sam znam... :)
evo koda
<?
$proces['ok']=0;
if (!empty($_POST['subject']) && !empty($_POST['body'])) {
$proces['ok']=1;
} else {$proces['ok']=0; $proces['url']="index.php?task=2"; }
if ($proces['ok']==1) {
$uploadfile = "./temp/" . basename($_FILES['attachment1']['name']);
$ok=move_uploaded_file($_FILES['attachment1']['tmp_name'], $uploadfile);
if (!ok) {
$proces['ok']=0; $proces['url']="index.php?task=3";
} else {$proces['ok']=1; $proces['url']="index.php?task=1";}
}
/// SKUPLJANJE INFO I SLANJE
if ($proces['ok']==1) {
$sql=mysql_query("select * from mail where aktivno='1'", $db) or die (mysql_error());
while ($row=mysql_fetch_row($sql)){
$mail=$row[1];
$bcc.=$mail."; ";
}
// SLANJE
$sql=mysql_query("select * from config where conf='from_mail'", $db) or die (mysql_error());
$row=mysql_fetch_row($sql);
$sql1=mysql_query("select * from config where conf='reply_mail'", $db) or die (mysql_error());
$row1=mysql_fetch_row($sql1);
$reply = $row1['2'];
$subject = $_POST['subject'];
$body = $_POST['body'];
$from_mail = $row['2'];
$fileatt_type = $_FILES['attachment1']['type'];
$fileatt_name = basename($_FILES['attachment1']['name']);
// Citanje fajla
$file = fopen($uploadfile,'rb');
$data = fread($file,filesize($uploadfile));
fclose($file);
$data = chunk_split(base64_encode($data));
// Bound
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
// Headeri za fajl attachment
$headers .= "\nMIME-Version: 1.0\n" ."Content-Type: multipart/mixed;\n" ." boundary=\"{$mime_boundary}\"";
// Dodavanje bounda poruci
$message = "This is a multi-part message in MIME format.\n\n" ."--{$mime_boundary}\n" ."Content-Type: text/plain; charset=\"iso-8859-1\"\n" ."Content-Transfer-Encoding: 7bit\n\n" .
$message . "\n\n" . $body;
// Dodavanje attachmenta
$message .= "--{$mime_boundary}\n" ."Content-Type: {$fileatt_type};\n" ." name=\"{$fileatt_name}\"\n" ."Content-Disposition: attachment;\n" ." filename=\"{$fileatt_name}\"\n" ."Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" ."--{$mime_boundary}--\n";
$sql=mysql_query("select * from mail where aktivno='1'", $db) or die (mysql_error());
while($row=mysql_fetch_row($sql)) {
$to=$row['1'];
// Slanje
$ok = @mail($to, $subject, $message.$message1."\n", $headers);
if ($ok) {
$proces['url']="index.php?task=1";
} else {
$proces['url']="index.php?task=4"; $proces['ok']=0;
}
}
$sql=mysql_query("select * from config where conf='admin_mail'", $db) or die (mysql_error());
while($row=mysql_fetch_row($sql)) {
$to=$row['2'];
// Slanje kopije posiljaocu
$ok = @mail($to, $subject, $message.$message1."\n", $headers);
if ($ok) {
$proces['url']="index.php?task=1";
} else {
$proces['url']="index.php?task=4"; $proces['ok']=0;
}
}
}
// BRISANJE ATTACHMENTA SA SERVERA
if ($proces['ok']==1) {
$ok=unlink($uploadfile);
if ($ok === false) {
$proces['url']="index.php?task=5";
}
}
?>
Kapiram da je problem negde sa boundovima ali nemogu da izvalim kako da ga sredim.
btw
video sam temu http://www.elitesecurity.org/tema/35387/ i resenje koje je dato tamo se ponasa isto (pa cak i gore) nego ovo koje sam ja naveo.