Fórum Ubuntu CZ/SK
Ostatní => Archiv => Téma založeno: soundczeck 19 Září 2006, 01:42:42
-
Ahoj nedaří se mi rozchodit mail funkci v PHP, nakonfiguroval sem php.ini a skript mi vrací TRUE hodnotu jakože se mejl odeslal ale na mejl mi nic nepřijde.
Poradí mi někdo? Díky moc
-
Aby spravne chodila funkcia mail v PHP, musis mat na danom stroji rozbehnutu aj tzv. sluzbu MTA (mail transfer agent) - co je napr. postfix, sendmail, exim atd...
Alternativne je mozne na webe najst kniznice do PHP, ktore nevyuzivaju mail(), ale vedia sa ako klient pripojit na akykolvek definovany smtp server (kludne na inom stroji) a poslat maila.
Skus sem ked tak pastnut konfiguraciu mail() z php.ini ...
-
Aby spravne chodila funkcia mail v PHP, musis mat na danom stroji rozbehnutu aj tzv. sluzbu MTA (mail transfer agent) - co je napr. postfix, sendmail, exim atd...
Alternativne je mozne na webe najst kniznice do PHP, ktore nevyuzivaju mail(), ale vedia sa ako klient pripojit na akykolvek definovany smtp server (kludne na inom stroji) a poslat maila.
Skus sem ked tak pastnut konfiguraciu mail() z php.ini ...
Sendmail sem zkusil, aji postfix sem zkusil....asi blbě
[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 = /usr/sbin/sendmail -t -i
sendmail_from = me@myserver.com
-
Táké to zkouším nastavit ale dospěl jsem k tomu, že když odesílám mail přes obyč klienta tak je to OK ale přes php mail(); to prostě nejde (Prosím pomozte nám)
Dec 13 09:45:01 localhost /USR/SBIN/CRON[12621]: (root) CMD (/usr/local/bin/php /var/www/index.php)
Dec 13 09:45:01 localhost postfix/pickup[11755]: 150F14EA29: uid=0 from=
Dec 13 09:45:01 localhost postfix/cleanup[11767]: 150F14EA29: message-id=<20061213084501.150F14EA29@localhost>
Dec 13 09:45:01 localhost postfix/qmgr[11756]: 150F14EA29: from=, size=557, nrcpt=1 (queue active)
Dec 13 09:45:01 localhost postfix/local[11769]: 150F14EA29: to=, orig_to=, relay=local, delay=0, status=sent (delivered to mailbox)
Dec 13 09:45:01 localhost postfix/qmgr[11756]: 150F14EA29: removed
Dec 13 09:45:42 localhost postfix/smtpd[12678]: connect from localhost[127.0.0.1]
Dec 13 09:45:42 localhost postfix/smtpd[12678]: 80E9A4EA28: client=localhost[127.0.0.1]
Dec 13 09:45:42 localhost postfix/cleanup[11767]: 80E9A4EA28: message-id=<1165999542.8135.4.camel@localhost>
Dec 13 09:45:42 localhost postfix/qmgr[11756]: 80E9A4EA28: from=, size=494, nrcpt=1 (queue active)
Dec 13 09:45:42 localhost postfix/smtpd[12678]: disconnect from localhost[127.0.0.1]
Dec 13 09:45:42 localhost postfix/smtp[12684]: 80E9A4EA28: to=, relay=main.in.neco.cz[192.168.1.250], delay=0, status=sent (250 2.0.0 kBD8jY5a012972 Message accepted for delivery)
Dec 13 09:45:42 localhost postfix/qmgr[11756]: 80E9A4EA28: removed
-
No popravde ja mam v php.ini toto:
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =a svete div se, jede to ok
On asi bude for v tomto: (www.php.net)
PHP bude sendmail hledat nejprve v cestě PATH a pak zde: /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/libJinak receno, pokud neni nastavena PATH k sendmailu, zkusi to hledat uplne vsude :) A jen pro jistotu, v soubor /usr/sbin/sendmail skutecne existuje?
Jo a jeste dotaz:
Dec 13 09:45:01 localhost /USR/SBIN/CRON[12621]: (root) CMD (/usr/local/bin/php /var/www/index.php)
Dec 13 09:45:01 localhost postfix/pickup[11755]: 150F14EA29: uid=0 from=
Dec 13 09:45:01 localhost postfix/cleanup[11767]: 150F14EA29: message-id=<20061213084501.150F14EA29@localhost>
Dec 13 09:45:01 localhost postfix/qmgr[11756]: 150F14EA29: from=, size=557, nrcpt=1 (queue active)
Dec 13 09:45:01 localhost postfix/local[11769]: 150F14EA29: to=, orig_to=, relay=local, delay=0, status=sent (delivered to mailbox)
Dec 13 09:45:01 localhost postfix/qmgr[11756]: 150F14EA29: removedToto vypada, ze mail odesel a byl doruceny na jmeno@localhost, zkusil jste se podivat do /var/mail zda tam neni soubor "jmeno" ve kterem by byl onen ztracenec?
-
Kdyz je nainstalovany MTA, pak existuje. Kdyz to neni sendmail, je to symlink, protoze nektere programy ho volaji "natvrdo". Takze v kazdem baliku, ktery poskytuje MTA, je "sendmail".
-
Kdyz je nainstalovany MTA, pak existuje. Kdyz to neni sendmail, je to symlink, protoze nektere programy ho volaji "natvrdo". Takze v kazdem baliku, ktery poskytuje MTA, je "sendmail".
jj, to je pravda, ale obcas tam prave ten symlink chybi :( I kdyz podle toho logu by mel Mail Transport Agent fungovat
-
Jsem opravdu rád že mi někdo tak rychle zareagoval jsem trochu nejistý co se týče fór :-)
jinak PHP.ini jsem změnil a /usr/sbin/sendmail opravdu je
mail byl doručen do /var/mail byl v souboru "jmeno" (Diagnostic-Code: unknown user: "/var/www/index.php" a Content-Description: Undelivered Message ) zkouším různé varianty nastavení ale vůbec nic nepomáhá, jestli mohu poprosit projít tyhle body nastavení
1. nevím jestli mám dobře nastavený master.cf - použil jsem stejné nastavení viz. http://www.root.cz/data/master.cf
2. nechápu proč to odesílá jako localhostu když v index.php je klasik doména s .cz (jmeno@domena.cz) script na widlích a jiném linuxovém serveru v internetu normálně funguje odesílá mail() správně
3. nevím jestli je správná řádka v crontab zkouším více způsobů, ale asi bude zádrhel někde jinde když index.php mail() v prohlížeči ho neodešle (jen pro info phpinfo() na ubuntu je OK :-) )
4. možná ještě si myslím že nemám něco nastavené v php nebo apache2 ale nic mě nenapadá (co by se mělo nastavovat pro PHP aby mail() fungoval )
-
ad 1. - myslim, ze problem bude spise v /etc/aliases anebo jeste v /etc/postfix/main.cf
ad 2. - Protoze domena je uvedena v mailu, to co tam vypisuje, jsou zpravy o tom, kudy ten mail skutecne jde ... a on jde prave na localhost (lokalni prenos), svym zpusobem by to ale mohlo ukazovat i na spatne nastaveni postfixu.
ad 3. Radka spravna bude, kdyz se index.php spustil (Dec 13 09:45:01 localhost /USR/SBIN/CRON[12621]: (root) CMD (/usr/local/bin/php /var/www/index.php))
ad 4. php i apache pravdepodobne budou nastavene ok, alespon co z logu a z toho, co jsi tu popsal soudim
-
tak jsem googlil ale nic co by tak bylo špatné nastavené jsem nenašel :-(
zde jsou moje soubory /etc/aliases a /etc/postfix/main.cf http://www.webimage.cz/ubuntu
jestli tedy tam je něco špatně (v souboru "main" je název main server přes který odesílám maily dál ) ale jak říkám maily třeba z Evolution mi přes localhost odchází v poho
-
predpokladam tedy, ze nadrazeny smtp server se jmenuje main a je bezne dostupny pomoci "ping main"
radek
mydestination = localhost, localhost.localdomain, , localhostby zaslouzil upravit na
mydestination = localhost, localhost.localdomainmuzete sem dat i volani fce mail() z php tj. prikaz jakym to volate?