[ Cola @ 13.07.2010. 22:23 ] @
Evo napisao sam mali primer koda, ali ne radi u svim slučajevima (i to baš u onim koji meni trebaju)

Code:

<?php
    $from = "";
    $to = "";
    $subject = "Test " . date("Y-m-d H:i:s");
    $message = "This is test!";
    if(isset($_POST["sendmail"]))
    {
        $from = $_POST["from"];
        $to = $_POST["to"];
        $subject = $_POST["subject"];
        $message = $_POST["message"];
        if (mail($to, $subject, $message, "From: " . $from, "-f " . $from)) 
        {
            echo("<p>Message successfully sent from " . $from . " to " . $to . "!</p>");
        } 
        else 
        {
            echo("<p>Message delivery failed from " . $from . " to " . $to . "!</p>");
        }
    }    
    else
    {
        
    }
    echo "<br/>";
?>
    
    <FORM method="POST" action="semail.php">
        <INPUT type="submit" name="sendmail" id="sendmail" value="Send mail" />
        <TABLE>
            <TR>
                <TD>From: </TD><TD><INPUT type="text" name="from" id="from" value="<?php echo $from ?>" /></TD>
            </TR>
            <TR>
                <TD>To: </TD><TD><INPUT type="text" name="to" id="to" value="<?php echo $to ?>" /></TD>
            </TR>
            <TR>
                <TD>Subject: </TD><TD><INPUT type="text" name="subject" id="subject" value="<?php echo $subject ?>" /></TD>
            </TR>
            <TR>
                <TD>Message: </TD><TD><textarea rows="5" cols="20" name="message" id="message" /><?php echo $message ?></textarea></TD>
            </TR>
    </TABLE>
        <BR/>
        
  </FORM>


naime želio sam da sa moga sajta pošaljem mail npr. za autentifikaciju pri registraciji međutim problem je u sledećem
pošiljaoc (from) ne može biti bilo ko
pokušavao sam sa

[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

i td. i prolatzi za ove pošiljaoce

međutim kada želim da pošiljalac bide sa moga sajta ne prolazi.
šta god
npr. prolaze
[email protected]
[email protected]
[email protected]
dok
[email protected] i veće ne prolaze
meni je cilj da natjeram neš[email protected] da bude pošiljalac ali jok neće

a funkcija mail vraća samo true ili false pa ne znam razlog
da li postoji ograničenje na dužinu?

ako želite da vidite ovaj kod sam postavio ovde

na ovom sajtu piše da može biti i preko 6 karaktera (što je i logično)
[ Cola @ 13.07.2010. 22:59 ] @
kada isključim ovaj peti parametar što počinje sa "-f " onda mi on stavi neki podrazumjevani mail, koji je kobasica
[ Jbyn4e @ 14.07.2010. 07:25 ] @
Dve stvari:

1) izbaci space posle -f
ILI
2) izbaci deo sa -f pa nadalje, a pre prvog $from dodaj naziv posiljaoca pa from izmedju <> (recimo: From: Od mene<".$from.">") jer noviji mail posiljaoci zahtevaju da je u from polju e-mail adresa izmedju znakova < i >.
[ Cola @ 14.07.2010. 07:57 ] @
pokušao sve tri variante
izbacio sam space

stavio "From: Od koga <" . $from . ">"
radio sam i sa i bez dodatnog parametra.
Ako izbacim parametarv sa -f standardno pošalje ali mi piše kobasica a ako dodam ne radi :(
[ Radovan__III @ 14.07.2010. 08:26 ] @
Citat:
On some shared hosts like 1and1.co.uk, when using mail() function with '-f' flag, email may be quietly 'dropped' and not sent at all without any error message returned if '-f' option is used without email address valid on this host.
For example, if used as '[email protected]' the email will be dropped on 1and1 provider. But if you have a 'real' mailbox on the server, for example '[email protected]', and you use '[email protected]' then the email will be sent. At the same time envelope's 'Return-Path' will be set properly to '[email protected]' instead of '[email protected]'.


Izgleda da je taj -f glavni problem, mozes li da pojasnis ovo "pise kobasice"

Probaj bez -f a stavi

Code:
$message = nl2br($_POST["message"]);

[ Cola @ 14.07.2010. 08:36 ] @
hehe 'kabasicu', to ja koristim žargon za nešto dugo u ovom slučaju mail
[email protected]
[ batika @ 20.07.2010. 13:52 ] @
Probaj sledece:

1. ako bas hoces da koristis mail() funkciju, umesto "From: " . $from, "-f " . $from stavi $header ,

a $header napravi ovako:

Code:

   $headers  = 'MIME-Version: 1.0' . "\r\n";
   $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
   $headers .= 'From: [email protected]'."\r\n";
   


E sad, postoji mogucnost da tvoj hosting ne dozvoljava da stavis za sendera mail koji nisi napravio u cpanelu.

2. mnogo bolja varijanta ti je da koristis PHPMailer klasu.

ima naprednih funkcija za stavljanje attachmenta....
mozes da podesavas smtp, pop... servere...

Moj savet ti je da koristis PHPMailer

[ Cola @ 20.07.2010. 14:04 ] @
Hvala pokušaću čim dođem kući

Meni je cilj da pošaljem mail :)
na bilo koji način ali da pošaljem :)
naravno sa adrese koje ja hoću, a to je sa domena mog sajta a pogledaću i to u cpanelu šta tamo ima ;)

[ batika @ 20.07.2010. 14:06 ] @
E sad samo pazi sledecu stvar, kad saljes sa domena npr test.com a kao sendera stavljas [email protected] postoji velika mogucnost da ti mail ode u spam.
[ Cola @ 20.07.2010. 14:19 ] @
Ne ne ode u spam već ga jednostavno ne pošalje (kamo sreće d ode u spam :) )

sa proba prođe i sa svih ovih bezveznih domena kao što sam naveo u prvom postu
radi sa

[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
...
[email protected]
[email protected]
[email protected]


i ako dalje nastavim da povećavam ime domena onda ne pošalje
npr

[email protected]

međutim meni treba i duži naziv od cholache a to ne prolazi :(

pokušaću da ovim PHPMailer čim stignem.

Mogu ja slati mail sa gmaila ali mi malo beze :) pa da vidim u čemu je štos
[ batika @ 20.07.2010. 14:32 ] @
Nisi me razumeo.

Ne spominjem tvoje dosadasnje pokusaje, nego ti kazem da je vrlo lako moguce da ce mail serveri

tvoju poruku ubaciti u spam, kad vide da se poruka salje sa npr. test.com a sender je @proba.com - kada se domeni razlikuju.

[ Cola @ 20.07.2010. 14:36 ] @
ali za ove koje jesam pokušao a koje sam random odresio prošli su

a onaj koji mi treba :)

razumem šta si to da kažeš ali onda neke pušta neke ne :(
[ Predrag Supurovic @ 21.07.2010. 08:10 ] @
Nemoj u From stavljati adresu koju korsinik ukuca u obrascu. Stavi neku svoju adresu koja je ok, a korisnikovu adresu stavi u Reply-to. Tako ces resiti mnogo potencijalnih problema.