Pomoc: Posielanie sprav na mail cez formular

Programovacie jazyky, rady, poradňa...
eMPiko
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3085
Registrovaný: 11 jan 2007, 16:40

Pomoc: Posielanie sprav na mail cez formular

Príspevok od používateľa eMPiko »

Mam na stranke vytvoreny nasledovny formular:

Kód: Vybrať všetko

<form action="submit.php" method="post">
<input name="email" size="25" value="Vas email"><br>
<input name="predmet" size="25" value="Predmet"><br>
<input name="kontrola" size="25"> = 1 + 1<br>
<textarea id="contact-textarea" name="text" rows="6" cols="40">Text správy</textarea>
<input type="submit" value="Odoslať">
</form>
Pricom submit.php je takyto:

Kód: Vybrať všetko

<?php
$predmet = $_POST['predmet'];
$email = $_POST['email'];
$kontrola = $_POST['kontrola'];
$text = $_POST['text'];

if ($predmet!="" and $email!="" and $text!="" and $kontrola=="2")
{
Mail("[email protected]", $predmet, $text, "From: " . $email); 
echo "<p><strong>E-mail bol úspešne odoslaný</strong>.</p>"; } 
else
{
echo "<p>E-mail sa nepodarilo odoslať. Vyplňte všetky polia a skúste znovu.</p>";
} 
?>
Avsak nefunguje to, neviete, co s tym moze byt? A len tak bokom, nemate nejaky napad, ako by ste ten zdrojak mohly vylepsit?
pecko
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 129
Registrovaný: 03 okt 2005, 12:26
Bydlisko: praca a niekedy dom

Príspevok od používateľa pecko »

ak chces moze ti hodit hotovy zdrojak co mam,je to podobne a plne funkcne... :idea:
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Re: Pomoc: Posielanie sprav na mail cez formular

Príspevok od používateľa chrono »

eMPiko napísal:Avsak nefunguje to, neviete, co s tym moze byt? A len tak bokom, nemate nejaky napad, ako by ste ten zdrojak mohly vylepsit?
Čo znamená, nefunguje to?
Možno by si mohol použiť nejakú hotovú funkciu na odosielanie emailov (hlavička by bola kompletnejšia a teda by bola menšia šanca, že by ten email skončil niekde ako spam).
eMPiko
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3085
Registrovaný: 11 jan 2007, 16:40

Príspevok od používateľa eMPiko »

pecko napísal:ak chces moze ti hodit hotovy zdrojak co mam,je to podobne a plne funkcne... :idea:
Jasne hod

Nefungovalo na tom to, ze sice sa tvarilo ze to nieco odoslalo, ale asi ako si povedal, skoncilo to v nejakom spam filtri.
beluský
Darca
Darca
Používateľov profilový obrázok
Príspevky: 317
Registrovaný: 21 sep 2006, 13:46

Príspevok od používateľa beluský »

skús namiesto

Kód: Vybrať všetko

"From: " . $email
vložiť

Kód: Vybrať všetko

Mail("[email protected]", $predmet, $text, $headers); 
do $headers vlož

Kód: Vybrať všetko

  $eol="\r\n";
  $mime_boundary=md5(time());

  # Common Headers
  $headers .= "From: ".$fromname."<".$email.">".$eol;
  $headers .= "Reply-To: ".$fromname."<".$email.">".$eol;
  $headers .= "Return-Path: ".$fromname."<".$email.">".$eol;    // these two to set reply address
  $headers .= "Message-ID: <".time()."-".$email.">".$eol;
  $headers .= "X-Mailer: PHP v".phpversion().$eol;          // These two to help avoid spam-filters

  # Boundry for marking the split & Multitype Headers
  $headers .= 'MIME-Version: 1.0'.$eol.$eol;
  $headers .= "Content-Type: multipart/mixed; boundary=\"".$mime_boundary."\"".$eol.$eol;

je to z http://sk.php.net/manual/en/ref.mail.php
eMPiko
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3085
Registrovaný: 11 jan 2007, 16:40

Príspevok od používateľa eMPiko »

Na freeserveroch funguje, ale na mojom nie a tak sa vas chcem opytat, ci treba pouzit nejaku funkciu pre komunikaciu s protokolom IMAP, napr: POP3, NNTP ci rozsirenie IMAP a prikazy ako imap_open(), ALEBO staci v php.ini nakonfigurovat SMTP, sendmail_from, sendmail_path, smtp_port, a mail.force_extra_parameters?
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Skús sa pozrieť na http://phpmailer.codeworxtech.com/tutorial.html. Tam sa dá nastaviť, či sa použije funkcia mail(), alebo sa to pošle cez Sendmail, qmail, SMTP.
Napísať odpoveď