Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Jakub 27. 06. 2012, 08:12:32

Název: PHP - odesílání mailu
Přispěvatel: Jakub 27. 06. 2012, 08:12:32
Dobrý den,
snažím se pomocí jednoduchého testovacího kódu v php odeslat mail:
Kód: [Vybrat]
<?php
mail
("nejaky@mail.com","Subject","Body");
?>


Ale email se neodešle:

Kód: [Vybrat]
Jun 27 08:06:06 localhost kernel: type=1400 audit(1340798766.536:45): avc:  denied  { search } for  pid=9173 comm="sendmail" name="clientmqueue" dev=dm-3 ino=393511 sc$
Jun 27 08:06:06 localhost kernel: type=1400 audit(1340798766.536:46): avc:  denied  { getattr } for  pid=9173 comm="sendmail" path="/var/spool/clientmqueue" dev=dm-3 i$

Sendmail nepoužívá smtp autorizaci ( jde pouze o testovací server a není na venek přístupný ) a pomocí mutt bez problému email odešlu.
Název: Re:PHP - odesílání mailu
Přispěvatel: Ondr 27. 06. 2012, 09:03:27
Buďto nastav pravidla v SELINUXu, nebo ho vypni.
Název: Re:PHP - odesílání mailu
Přispěvatel: Jakub 27. 06. 2012, 09:47:03
Už je zakázaný a stejně nic.
Název: Re:PHP - odesílání mailu
Přispěvatel: Jakub 28. 06. 2012, 07:42:22
Netušíte někdo prosím, kde by to mohlo drhnout ?
Název: Re:PHP - odesílání mailu
Přispěvatel: Ondr 28. 06. 2012, 10:17:27
A stále ti to píše to samé?
Název: Re:PHP - odesílání mailu
Přispěvatel: Jakub 28. 06. 2012, 11:16:54
Selinux mám vypnutý.
Co se týče nastavení php.ini tam je taky všechno nastaveno pro odesílání pomocí sendmail...
Sendmail má vypnutou autentifikaci .
Iptables atd. je vyřazeno.

A stejně se mi to pořád nedaří odeslat.


Maillog:
Kód: [Vybrat]
Jun 28 11:12:27 localhost sendmail[6712]: q5SFCRq3006712: from=apache, size=82, class=0, nrcpts=0, msgid=<201206281512.q5SFCRq3006712@localhost.localdomain>, relay=apache@localhost

Název: Re:PHP - odesílání mailu
Přispěvatel: Mirek 28. 06. 2012, 17:30:13
a sendmail může dělat relay?
Název: Re:PHP - odesílání mailu
Přispěvatel: Jakub 29. 06. 2012, 09:39:47
Ano sendmail má povolený relay.
Název: Re:PHP - odesílání mailu
Přispěvatel: Ondřej Kopka 29. 06. 2012, 10:47:46
grepni ten log na q5SFCRq3006712 a pastni výsledek
Název: Re:PHP - odesílání mailu
Přispěvatel: Jakub 29. 06. 2012, 12:23:11
Než sem provedl test na odeslání mailu tak jsem log vyprázdnil. Tohle vše co tam je k dispozici.
Název: Re:PHP - odesílání mailu
Přispěvatel: Lol Phirae 29. 06. 2012, 12:42:34
No, to bylo opravdu chytré.  ::) Hint - a co takhle zkusit poslat nějaký mail znovu? Hmmm?
Název: Re:PHP - odesílání mailu
Přispěvatel: Ondřej Kopka 29. 06. 2012, 12:45:41
Pošli mail znovu a potom pastni záznam z logu, ne jeden řádek ale všechny které se týkají toho mailu. Řekl bych, že problém bude v nastavení mailserveru.
Název: Re:PHP - odesílání mailu
Přispěvatel: Jakub 29. 06. 2012, 14:20:59
No bylo to spíš z pohodlnosti a je to jenom testovací server   ::)

Tak mail sem zkusil poslat znovu a v maillogu se ukázalo:
Kód: [Vybrat]
Jun 29 14:10:05 localhost sendmail[10819]: q5TIA5wS010819: from=apache, size=82, class=0, nrcpts=0, msgid=<201206291810.q5TIA5wS010819@localhost.localdomain>, relay=ap$
V error logu httpd pak jenom tohle:
Kód: [Vybrat]
[Fri Jun 29 14:10:05 2012] [error] [client 10.0.1.146] File does not exist: /var/www/html/favicon.ico


Název: Re:PHP - odesílání mailu
Přispěvatel: Ondřej Kopka 29. 06. 2012, 14:23:11
v maillogu by mělo být více řádků, co získáš když grepneš maillog/syslog na q5TIA5wS010819?
Název: Re:PHP - odesílání mailu
Přispěvatel: Jakub 29. 06. 2012, 14:27:39
To je vše v maillogu toho opravdu víc není.

Název: Re:PHP - odesílání mailu
Přispěvatel: Jakub 29. 06. 2012, 14:43:00
A v mail queue taky nic není...
Název: Re:PHP - odesílání mailu
Přispěvatel: Jakub 29. 06. 2012, 14:43:38
V mail queue taky nic není
Název: Re:PHP - odesílání mailu
Přispěvatel: Vladimír 29. 06. 2012, 15:01:39
A není něco v client queue?
Název: Re:PHP - odesílání mailu
Přispěvatel: Jakub 29. 06. 2012, 15:09:48
Nic tam neleží
Název: Re:PHP - odesílání mailu
Přispěvatel: Lol Phirae 29. 06. 2012, 16:51:27
Měl bych bezva nápad - nainstaluj si místo sendmailu něco, co umíš nastavit.
Název: Re:PHP - odesílání mailu
Přispěvatel: Ondřej Kopka 29. 06. 2012, 19:30:20
Když jsem se díval na ten tvůj log tak mě zarazilo toto: relay=ap$. Nemáš blbě nastavenou relay? Co používáš za mailserver?
Název: Re:PHP - odesílání mailu
Přispěvatel: Jakub 29. 06. 2012, 19:37:18
->Lol Phirae

No tak to by mě samotnýho nenapadlo. Bohužel asi nemám takové propozice jako ty že ke všemu přijdu a hned všechno umím.
Tohle je fórum na kterým se o problémech diskutuje. Kdyby tu každý radil jako ty tak nemá vúbec cenu takové fórum zakládat.
Pokud ti to tak moc vadí tak se zdrž diskuze...
Ostatním jinak děkuji aspoň za snahu nějak pomoci....
Název: Re:PHP - odesílání mailu
Přispěvatel: Jakub 29. 06. 2012, 19:38:43
Jako smtp používám Sendmail.
V php.ini jsem ho nastavil jako výchozí smtp server.
Název: Re:PHP - odesílání mailu
Přispěvatel: Ondřej Kopka 29. 06. 2012, 19:43:49
Jestli se nebojíš, že ti něco cracknu, můžu to prověřit přímo na tvém stroji. Máš-li zájem, dej vědět na mail/gtalk ondrej.kopka@gmail.com.

Tohle pinkání otázek a odpovědí by bylo nadlouho.
Název: Re:PHP - odesílání mailu
Přispěvatel: Jakub 29. 06. 2012, 20:13:42
Tak ještě jednou všem díky za pomoc !
Už sem na to příšel !

Zkoušel sem jednotlivě měnit oprávnění na složky, které jsou životně důležíte pro sendmail.
A v logu se najednou ukázalo ( před tím to tam ale skutečně nebylo ):
Kód: [Vybrat]
Jun 29 20:06:40 localhost sendmail[8950]: NOQUEUE: SYSERR(apache): can not chdir (/var/spool/clientmqueue/): Permission denied

Takže je jasný, že stačilo změnit oprávnění do složky, ale nevím proč se to neukázalo dřív.
Práva sem teď nastavoval tak aby se služba spustila a měl k tomu přístup jenom root a běheme toho se ta chyba zobrazila.
Tak kdyby někdo někdy řesil něco podobného tak pozor na oprávnění složek k sendmailu.