Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Zasílání mailů přes php funkci mail() - nefunkční  (Přečteno 3350 krát)

On

  • Stálý člen
  • **
  • Příspěvků: 1136
    • Operační systémy
Zasílání mailů přes php funkci mail() - nefunkční
« kdy: 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
Asus M2A-VM HDMI, Athlon 64 X2 4800+, 4GB DDR2/800Mhz,Powercolor HD 2600 XT, Ubuntu 10.10
Být posledním nevadí, ale nikdy nesmíte být poslední dvakrát po sobě - Iacocca

soudruh

  • Aktivní člen
  • *
  • Příspěvků: 458
  • Na Linuxu se stále učím...
Re: Zasílání mailů přes php funkci mail() - nefunkční
« Odpověď #1 kdy: 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.
Xubuntu 12.10@fermium; Ubuntu 12.04@mandelevium; Android 2.3.3@nobellum; Ubuntu 9.04@lawrencium; FreeNAS@rutherfordium; Xubuntu 12.04@dubnium

On

  • Stálý člen
  • **
  • Příspěvků: 1136
    • Operační systémy
Re: Zasílání mailů přes php funkci mail() - nefunkční
« Odpověď #2 kdy: 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ý
« Poslední změna: 14 Července 2009, 10:11:29 od On »
Asus M2A-VM HDMI, Athlon 64 X2 4800+, 4GB DDR2/800Mhz,Powercolor HD 2600 XT, Ubuntu 10.10
Být posledním nevadí, ale nikdy nesmíte být poslední dvakrát po sobě - Iacocca

mka

  • Závislák
  • ***
  • Příspěvků: 1907
  • Chybovat je moje.
    • Příložany Cé Zet
Re: Zasílání mailů přes php funkci mail() - nefunkční
« Odpověď #3 kdy: 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().

soudruh

  • Aktivní člen
  • *
  • Příspěvků: 458
  • Na Linuxu se stále učím...
Re: Zasílání mailů přes php funkci mail() - nefunkční
« Odpověď #4 kdy: 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.
Xubuntu 12.10@fermium; Ubuntu 12.04@mandelevium; Android 2.3.3@nobellum; Ubuntu 9.04@lawrencium; FreeNAS@rutherfordium; Xubuntu 12.04@dubnium

mka

  • Závislák
  • ***
  • Příspěvků: 1907
  • Chybovat je moje.
    • Příložany Cé Zet
Re: Zasílání mailů přes php funkci mail() - nefunkční
« Odpověď #5 kdy: 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áš :-)

soudruh

  • Aktivní člen
  • *
  • Příspěvků: 458
  • Na Linuxu se stále učím...
Re: Zasílání mailů přes php funkci mail() - nefunkční
« Odpověď #6 kdy: 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.
Xubuntu 12.10@fermium; Ubuntu 12.04@mandelevium; Android 2.3.3@nobellum; Ubuntu 9.04@lawrencium; FreeNAS@rutherfordium; Xubuntu 12.04@dubnium

mka

  • Závislák
  • ***
  • Příspěvků: 1907
  • Chybovat je moje.
    • Příložany Cé Zet
Re: Zasílání mailů přes php funkci mail() - nefunkční
« Odpověď #7 kdy: 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 :-)

soudruh

  • Aktivní člen
  • *
  • Příspěvků: 458
  • Na Linuxu se stále učím...
Re: Zasílání mailů přes php funkci mail() - nefunkční
« Odpověď #8 kdy: 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
Xubuntu 12.10@fermium; Ubuntu 12.04@mandelevium; Android 2.3.3@nobellum; Ubuntu 9.04@lawrencium; FreeNAS@rutherfordium; Xubuntu 12.04@dubnium

On

  • Stálý člen
  • **
  • Příspěvků: 1136
    • Operační systémy
Re: Zasílání mailů přes php funkci mail() - nefunkční
« Odpověď #9 kdy: 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ě
Asus M2A-VM HDMI, Athlon 64 X2 4800+, 4GB DDR2/800Mhz,Powercolor HD 2600 XT, Ubuntu 10.10
Být posledním nevadí, ale nikdy nesmíte být poslední dvakrát po sobě - Iacocca

soudruh

  • Aktivní člen
  • *
  • Příspěvků: 458
  • Na Linuxu se stále učím...
Re: Zasílání mailů přes php funkci mail() - nefunkční
« Odpověď #10 kdy: 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í
Xubuntu 12.10@fermium; Ubuntu 12.04@mandelevium; Android 2.3.3@nobellum; Ubuntu 9.04@lawrencium; FreeNAS@rutherfordium; Xubuntu 12.04@dubnium

 

Provoz zaštiťuje spolek OpenAlt.