Forum » Izdelava spletišč » Funkcija mail() v PHP
Funkcija mail() v PHP
Camel ::
Zdravo,
rad bi naredil enostavno formo, s pomočjo katere bi lahko poslal podatke na mail (uporabil sem funkcijo mail()- PHP). Podatke iz forme dobim, tudi funkcija mail() se izvede brez napake, vendar mail ne pride na izbrani naslov. Mogoče ve kje bi lahko bil problem. kakšne nastavitve samega php-ja. stran zaženem preko IIS na win 7. thx
rad bi naredil enostavno formo, s pomočjo katere bi lahko poslal podatke na mail (uporabil sem funkcijo mail()- PHP). Podatke iz forme dobim, tudi funkcija mail() se izvede brez napake, vendar mail ne pride na izbrani naslov. Mogoče ve kje bi lahko bil problem. kakšne nastavitve samega php-ja. stran zaženem preko IIS na win 7. thx
<?php $naslov = "xxxx@neki.si"; $zadeva = $_POST["zadeva"]; $vsebina = $_POST["vsebina"]; mail($naslov, $zadeva, $vsebina); ?>
- spremenil: Camel ()
HardFu ::
Ne posiljaj mailov iz svojega serverja, rajsi uporabi kaksen service, kot je naprimer Mailgun. Imajo tudi free paket za 200 mailov na dan, kar za zacetek povsem ustreza - ce pa posljes vec mailov dnevno, pa se ti itak splaca placat. Manj problemov in vzdrzevanja.
http://codeable.io
Camel ::
gre bolj za test kako bi podatke preko forme poslal na mail. podobno kot imajo razna podjetja za kontakt stranke.
Dolce far niente
blackbfm ::
Ne posiljaj mailov iz svojega serverja, rajsi uporabi kaksen service, kot je naprimer Mailgun.
zakaj?
neoserv ::
@Hardphuck ima načeloma prav, saj s to varianto pošiljaš pošto s strežnikov, ki so ponavadi whitelistani pri veliko spam filtrih, obenem pa tako zadevo sprogramiraš enkrat in potem deluje vedno in povsod.
Poleg tega ti ni potrebno skrbeti za razne mehanizme, ki preprečujejo spam, kot je npr. captcha na obrazcih.
Je pa res, da je to mogoče overkill za 1 preprost kontaktni obrazec in podobne stvari.
Kot sta @hobbit in @urosz ze predlagala, je razrez PHPMailer res pogost in verjetno se najde 100 in 1 tutorial.
Poleg tega ti ni potrebno skrbeti za razne mehanizme, ki preprečujejo spam, kot je npr. captcha na obrazcih.
Je pa res, da je to mogoče overkill za 1 preprost kontaktni obrazec in podobne stvari.
Kot sta @hobbit in @urosz ze predlagala, je razrez PHPMailer res pogost in verjetno se najde 100 in 1 tutorial.
NEOSERV.SI = Prijazno & hitro SSD gostovanje že 15. leto.
900+ domenskih končnic po noro nizkih cenah!
Brezplačna selitev od starega ponudnika.
900+ domenskih končnic po noro nizkih cenah!
Brezplačna selitev od starega ponudnika.
Camel ::
tale PHPMailer zgleda vredu zadela, bom tudi preizkusil. Zaenkrat pa bi rad rešil tale problem...glede na to, da je iz html forme dobim točne podatke v php, mail() funkcija pa bi tudi morala delovati, je očitno problem nekje v nastavitvah serverja ali pa v php.ini datoteki. Kaj bi lahko blo? Vsakega nasveta bom zelo vesel.
Dolce far niente
Marino88 ::
Jaz na svoji spletni strani uporabljam PHP skripto in imam aktiviran spam catcher in nimam problemov z spemom in ne mamram teh tihrd party vmesnikov, ker ponavadi imajo tko narejeno, da ko obiskovalec izpolni obrazec in kliklne pošlji se potem pokaže besedilo o poslanem obrazcu v agnleščini in pol še na stedini naslov spletne strani, prek katere poteka pošiljanje.
Preveri če ti server dopušča PHP, ker veliko jih ne.
In skripta je nepravilna.
Kje imaš gostovanje? Si jo že naložil na srever?
Preveri če ti server dopušča PHP, ker veliko jih ne.
In skripta je nepravilna.
Kje imaš gostovanje? Si jo že naložil na srever?
Zgodovina sprememb…
- spremenilo: Marino88 ()
HardFu ::
Ne posiljaj mailov iz svojega serverja, rajsi uporabi kaksen service, kot je naprimer Mailgun.
zakaj?
Ce posiljas iz svojega serverja, ponavadi nastavis headerje napacno. Mozne posledice:
- Mail serverji oznacijo kot spam
- Clienti oznacijo kot spam
- (zaradi oznacb z spamom) pades v kaksen black list, in nenadoma noben mail vec ne pride, in ne mores nic, samo IP lahko zamenjas (in upas da bo to popravilo situacijo)
- V nekih primerih so maili celo ilegalni
- Sumniki ne delajo pravilno
- Odgovarjanje na tak mail je nemogoce
Poleg tega imajo servisi (vsaj Mailgun, ko ga uporabljamo mi, drugi pomoje niso dosti drugacni) tudi loge in tracking, da lahko vidis kaj se dogaja z mailom, torej ali je bil poslan, oziroma ali je bil odprt, lahko si nastavis pogojno forwardiranje, dokumentacija za namestitev pa je precej izcrpna, tako da implementacija ponavadi traja nekaj deset minut in je to to.
Zadnja, indirektna prednost je pa ta, da imas na serverju eno skrb manj, kar na dolgi rok tudi ni nezanemarljivo ;)
http://codeable.io
Camel ::
Jaz na svoji spletni strani uporabljam PHP skripto in imam aktiviran spam catcher in nimam problemov z spemom in ne mamram teh tihrd party vmesnikov, ker ponavadi imajo tko narejeno, da ko obiskovalec izpolni obrazec in kliklne pošlji se potem pokaže besedilo o poslanem obrazcu v agnleščini in pol še na stedini naslov spletne strani, prek katere poteka pošiljanje.
Preveri če ti server dopušča PHP, ker veliko jih ne.
In skripta je nepravilna.
Kje imaš gostovanje? Si jo že naložil na srever?
zaenkrat stran zaganjam, kar preko IIS na localhost. PHP sem naložil, prav tako sem v php.ini nastavil najnujnejše nastavitve za delovanje php.
Dolce far niente
McAjvar ::
Si v php.ini preveril tudi nastavitve za mail funkcijo?
"[...] the advance of civilization is nothing
but an exercise in the limiting of privacy."
- Isaac Asimov
but an exercise in the limiting of privacy."
- Isaac Asimov
Camel ::
Si v php.ini preveril tudi nastavitve za mail funkcijo?
takle mam:
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = moj.mail@siol.net
Dolce far niente
McAjvar ::
Pa imas namescen kak postni program, ki ti na localhostu na portu 25 cepi in sprejema posto, ki jo nato posilja naprej po svetu? Ce nimas nicesar taksnega, si verjetno ravnokar ugotovil, zakaj ti ne dela.
"[...] the advance of civilization is nothing
but an exercise in the limiting of privacy."
- Isaac Asimov
but an exercise in the limiting of privacy."
- Isaac Asimov
Camel ::
Pa imas namescen kak postni program, ki ti na localhostu na portu 25 cepi in sprejema posto, ki jo nato posilja naprej po svetu? Ce nimas nicesar taksnega, si verjetno ravnokar ugotovil, zakaj ti ne dela.
nimam nič takega, js sem mislil, da mi IIS in PHP ze vse to naredita? Mi lahko kakšen tak program priporočaš? Drugače pa js ne rabim pošiljati mailov okoli. jaz bi samo rad, da preko forme dobim neko povpraševanje na svoj mail, ki je že vnaprej določen v kodi. Mi je pa jasno, da mora biti vmes nek protokol SMTP...
Camel ::
sem rešil, tako da sem dal SMTP kar od siola pa dela. začasno bo ze vredu. Kateri poštni program pa drugače priporočate?
4kik4 ::
lahko uporabiš tudi swiftmailer, ki dejansko pošilja mail preko tvojega gmaila
//pošlje mail preko swiftmaila function mail_poslji($besedilo,$mail_naslov,$mail_e_naslov_posiljatelj) { require_once 'lib/swift_required.php'; $transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl") ->setUsername('nekdo@gmail.com') // or your gmail username ->setPassword('password'); // or your gmail password $mailer = Swift_Mailer::newInstance($transport); $message = Swift_Message::newInstance($mail_naslov) ->setFrom(array($mail_e_naslov_posiljatelj => 'Nekdo')) ->setTo(array('prejemnik@neki.com')) ->setBody($besedilo,'text/html'); $result = $mailer->send($message); }
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [PHP] Nedelujoči mail()Oddelek: Programiranje | 1496 (1366) | Miko55 |
» | Kontakt phpOddelek: Izdelava spletišč | 1064 (925) | gnomee |
» | Linux sendmail - Problem !!!??Oddelek: Omrežja in internet | 1949 (1710) | n0name |
» | Problem z formo in POSTOddelek: Izdelava spletišč | 1549 (897) | Brilko |
» | phpnuke 6.9Oddelek: Izdelava spletišč | 1099 (1009) | glavic |