Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Potrebna mala pomoc oko mail() + attachment

[es] :: PHP :: Potrebna mala pomoc oko mail() + attachment

[ Pregleda: 2580 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.070.dsl.concepts.nl



+3 Profil

icon Potrebna mala pomoc oko mail() + attachment25.11.2003. u 20:49 - pre 249 meseci
Pozdrav svima!

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:

<?

// 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:
Code:

$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: [email protected]

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
=========
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Potrebna mala pomoc oko mail() + attachment25.11.2003. u 21:03 - pre 249 meseci
Prepravi drugi deo:

Code:

...
$message1='';
$message1 .= "Content-Type: text/plain\n";
$message1 .= "Content-Transfer-Encoding: base64\n";
$message1 .= "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);
$message1 .= "$attachment";
$message1 .= "\n";
$message1 .= "--".$bound."--\n";


Pazi na samo jedno \n u zadnjem redu. Onda napravi slicno kao sto si i rekao:

Code:

if (mail($to, $subject, $message.$message1."\n", $headers))
{
    echo "Mail je uspesno poslat";
    // ovde bi isao II mail, bez attachment!
    mail($to, $subject, $message."\n")
}
else
{
    echo "Pojavila se greska. Pokusajte ponovo";
}


http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.070.dsl.concepts.nl



+3 Profil

icon Re: Potrebna mala pomoc oko mail() + attachment25.11.2003. u 21:55 - pre 249 meseci
Gorane,

Mislis da samo deo gde ide attachemt pretvorim u message 1, a ostalo message2?

I, koja je tacno funkcija /n posle body u mail()?

Hvala!

Sad gledam sajt koje je postiran... :)
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.verat.net

Sajt: localhost


+5 Profil

icon Re: Potrebna mala pomoc oko mail() + attachment26.11.2003. u 21:43 - pre 249 meseci
da, moraš da pošalješ dva odvojena maila. ne postoji drugi način.

a ni jedna smtp, mail ili mime klasa ne može ovaj problem da reši, pa je cela diskusija oko php-classes vs pear bila bespredmetna ovde.

slobodno je možete nastaviti u posebnoj temi, ili još bolje u drugom forumu (pošto je tema generalnija od PHPa)
 
Odgovor na temu

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.070.dsl.concepts.nl



+3 Profil

icon Re: Potrebna mala pomoc oko mail() + attachment26.11.2003. u 23:03 - pre 249 meseci
Vidim da ce ovde biti potrebniji ipak neki jaci zahvat od onog koji sam mislio...

Nista, nazad na tastaturu :)

Hvala svima za odgovore!

Poz,
Sale
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Potrebna mala pomoc oko mail() + attachment30.11.2003. u 22:44 - pre 249 meseci
nije mi jasno šta više hoćeš. dao sam ti ceo kod kao gotovo rešenje. Znači ono što si imao prepraviš u ovo što ja dajem i to ti je to.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

[es] :: PHP :: Potrebna mala pomoc oko mail() + attachment

[ Pregleda: 2580 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.