Imam mali "izazov" pred sobom i sve ideje su dobro dosle.
Radi se o sledecem:
Server Unix/Apache;
Na serveru imam 1 html, 1 php i 1 sql fajl.
U html se unose vrednosti, php ih obradjuje, ispunjava sql fajl sa vrednostima unetim u html fajlu (forma), a zatim salje mail sa sql fajlom kao attachment.
Medjutim, mail treba da se posalje na 2 adrese (1 to: i 1 cc:). Od toga, samo to primaoc treba da dobije sql fajl, dok CC: treba da dobije samo body koji je poslat i na to:.
Uspeo sam da fajl ide na obe adrese, medjutim, u trenutnom codu oba primaoca (to: i cc:) dobijaju i attachment. Medjutim ljudi koji ispunjavaju html formular dobijaju CC (kao potvrdu), ali ne koriste sql fajl i ne bih zeleo ni da im se salje.
E, sada, razmisljao sam da napravim sledece:
<?
// code koji cita formular, pravi SQL itd...
...
// kreiranje mail headera
$headers = "MIME-Version: 1.0\r \n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r \n";
$headers .= "From: \"TaskForce\" <$reply>\r \n";
$headers .= "Reply-To: \"$reply\" <$reply>\r \n";
$headers .= "Cc: $reply\r\n";
$headers .= "X-Priority: 3\r \n";
$headers .= "X-MSMail-Priority: High\r \n";
$headers .= "X-Mailer: Just My Server";
// slanje mail-a
if (mail($to, $subject, $message, $headers))
{
echo "Mail je uspesno poslat";
// ovde bi isao II mail, bez attachment!
mail($to, $subject, $message_bez_attachment)
}
else
{
echo "Pojavila se greska. Pokusajte ponovo";
}
?>
Iz gornjeg se vidi da bi se za vreme (uspesnog) slanja I maila, slao i drugi...
E, sad ono jedno ALI!
Body mail-a koji se kreira je poprilicno dugacak i jedini nacin koji sam nasao da ukljucim attachment jeste sledeci:
$message .= "This is a multi-part message in mime format\n\n";
$message .= "--".$bound."\n";
$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: 8bit;\n\n";
$message .= "Optie: $optie_optie \n\r Actie: $optie_actie \n\r "
."Username: $username \n\r".preg_replace("/\r\n/i", "\n", $msg)."\n\n";
$message .= "--".$bound."\n";
$message .= "Content-Type: text/plain\n";
$message .= "Content-Transfer-Encoding: base64\n";
$message .= "Content-Disposition: attachment; filename=\"$attach\"\n\n";
set_magic_quotes_runtime(0);
$attachment = fread(fopen("$fl/$attach", "rb"), filesize("$fl/$attach"));
$attachment = chunk_split(base64_encode($attachment));
$attachment = preg_replace("/\r\n/i", "\n", $attachment);
$message .= "$attachment";
$message .= "\n";
$message .= "--".$bound."--\n\n";
Ne pitajte me sta sta znaci, jer ni sam ne znam, code je "pozajmljen" ;-) Bitno je samo da $message ide za body...
E, sad, kako ja da posaljem 2 maila, sa identicnim body, a da jedan ima attachment a drugi ne? Inace, ovo gore je samo deo od $message code, koji sve ukupno ima ~500 linija coda. html naime ima nekoliko text box i 1 drop down meni (14 parametara) i za svaku kombinaciju je drugaciji message. Ne bih zeleo da moram da copy & paste 500 linija coda da bih poslao 2 maila jedan sa i jedan bez attachment...
Ajde ideje sad plz :) Prakticno, treba mi ideja ili resenje kako da ubacim attachment a da se isto NE dogadja unutar body. Da li header ima te mogucnosti na UNIX/Apache platformi?
Ko zeli/ima volje - MSN: smiliebg@hotmail.com
Pozdrav i hvala unapred.
Sale
[Ovu poruku je menjao -zombie- dana 26.11.2003. u 02:03 GMT]
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========