Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: On 14 Července 2009, 09:04:06

Název: Zasílání mailů přes php funkci mail() - nefunkční
Přispěvatel: On 14 Července 2009, 09:04:06
Problém je v tom, že mi tato funkce nefunguje, funkce vypadá takhle:

Kód: [Vybrat]
   
function sendMail($from, $to, $mail_subj, $mail_txt, $coding)
 {
     $headers = '';
   if ($coding == 1){
      $mail_txt = StrTr($mail_txt, "\x8A\x8D\x8E\x9A\x9D\x9E", "\xA9\xAB\xAE\xB9\xBB\xBE");
   }
   $headers .= "From: $from\n".
         "Return-Path: $from\n".
         "MIME-Version: 1.0\n".
         "Content-Type: text/plain; charset=\"iso-8859-2\"\n".
          "Content-Transfer-Encoding: 8bit";
         @Mail($to, $mail_subj, $mail_txt, @$headers);
}

Měla by být v pořádku, našel jsem si na netu víc různých možností, nefunguje ale ani jedna, takže problém bude nejspíš v systému...? Postfix ale nastavený mám, příkaz "mutt" mi spolehlivě funguje..nenastavuje se někde posílání mailů někde v php..?

díky
Název: Re: Zasílání mailů přes php funkci mail() - nefunkční
Přispěvatel: soudruh 14 Července 2009, 09:24:06
/etc/php5/apache2/php.ini
Kód: [Vybrat]
[mail function]
; For Win32 only.
;SMTP = localhost
;smtp_port = 25

; For Win32 only.
;sendmail_from = me@example.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =
Toto je standartní nastavení, takže předpokládám, že se zde bude muset nastavit cesta k sendmailu, nebo něco podobného.
Název: Re: Zasílání mailů přes php funkci mail() - nefunkční
Přispěvatel: On 14 Července 2009, 09:48:05
No, já tam nějaké změny mám, v tomhle jsem se už trochu drbal, ale co přesně tam má být netuším...mně už ty emaily fungovaly, tuším že tak měsíc a půl zpět, ale nevím, proč to přestalo fungovat..fw nemám, resp mám jen základní.

Našel jsem příspěvek, kde se tohle řešilo, ale závěr tam bohužel není..
http://forum.ubuntu.cz/index.php?topic=3500.0

Na zkoušku odesílám jen to nejpodstatnější

Kód: [Vybrat]
Mail("muj@mail.cz", "test #1", "testovaci zprava c.1");
...ale výsledek stejný
Název: Re: Zasílání mailů přes php funkci mail() - nefunkční
Přispěvatel: mka 15 Července 2009, 12:16:13
Možná by pro začátek nebylo od věci zjistit, co vrací (případně hlásí) munkce mail().
Název: Re: Zasílání mailů přes php funkci mail() - nefunkční
Přispěvatel: soudruh 15 Července 2009, 12:45:31
Možná by pro začátek nebylo od věci zjistit, co vrací (případně hlásí) munkce mail().
Ona se právě tváří jako že je vše v pořádku.
Název: Re: Zasílání mailů přes php funkci mail() - nefunkční
Přispěvatel: mka 15 Července 2009, 13:57:50
To znamená, že vrací hodnotu TRUE? Nebo že nehlásí žádnou chybu (když má hubu zavřenou zavináčem)? Nevidím totiž nikde, že bys tu hodnotu testoval. Např.: $result = mail(...). A ten zavináč bych taky vyhodil. Až ti to bude fungovat, tak ho tam můžeš vrátit. Ony toho totiž některé funkce umí o sobě docela hodně říci, když je necháš :-)
Název: Re: Zasílání mailů přes php funkci mail() - nefunkční
Přispěvatel: soudruh 15 Července 2009, 14:49:36
Mě vrátí hondotu true, nehlasí nic (samozřejmě bez zavináče) a error reporting mám na full.
Název: Re: Zasílání mailů přes php funkci mail() - nefunkční
Přispěvatel: mka 15 Července 2009, 16:08:04
Mě vrátí hondotu true, nehlasí nic (samozřejmě bez zavináče) a error reporting mám na full.

Tak moment, měl jsem za to, že to nefunguje ONovi... A teď jsem si teprve všim, že... No, jestli je, soudruzi, problém s mailserverem, tak tady už neposloužím, neb ho na svém U nepoužívám :-)
Název: Re: Zasílání mailů přes php funkci mail() - nefunkční
Přispěvatel: soudruh 15 Července 2009, 16:11:24
Mě vrátí hondotu true, nehlasí nic (samozřejmě bez zavináče) a error reporting mám na full.

Tak moment, měl jsem za to, že to nefunguje ONovi... A teď jsem si teprve všim, že... No, jestli je, soudruzi, problém s mailserverem, tak tady už neposloužím, neb ho na svém U nepoužívám :-)
Já se jen přidal, jelikož mám ten samý problém. Mail server mám nainstalovaný pomocí Synaptic -> Vybrat balíky podle účelu
Název: Re: Zasílání mailů přes php funkci mail() - nefunkční
Přispěvatel: On 17 Července 2009, 06:57:04
no, mně to taky nehlásí žádnou chybu, jak jsem již psal, na zkoušku posílám jen:

Kód: [Vybrat]
  Mail("muj@mail.cz", "test #1", "testovaci zprava c.1");  ...a taky nic. Prostě jakoby vše ok. Nemyslím, že bude problém ve skriptu, počítám s tím, že bude chyba v nastavení mailserveru, jen teda nevím jak to zjistit...ikdyž, proč mi teda mutt funguje? Ten taky potřebuje mít správně nastavený mailserver a mutt funguje naprosto spolehlivě
Název: Re: Zasílání mailů přes php funkci mail() - nefunkční
Přispěvatel: soudruh 17 Července 2009, 13:43:43
Citace
[soudruh@U-LAMP][13:39:25][~]
$php -B "echo 'start'; if(mail('***@gmail.com','predmet','text')) { echo 'OK'; } else { echo 'ERROR'; } echo 'konec'; ";
startOKkonec
A na mail nic nedorazí