Datuve :: Forums :: Arhīvs :: PHP 5.1.4 mail() funkcija

Datuve

Mana Datuve

Reģistrācija | Noteikumi | Paroles atjaunošana



Forums

Ieskaties


Raksti

Lietotāji online

Lietotāji online: 98

Reģistrētie lietotāji online: 0

Viesi online: 98

Datuve.lv video
Top.LV

PHP 5.1.4 mail() funkcija

Ievietoja: kaac @ 2006.05.24 16:41  

Problēma sekojoša:
Kaste: Slackware Linux 10.2 + Apache 2.2.2, PHP, Xmail 1.22. Neliels WEB, MAIL serverītis, pāris vārdos.
Stāvēja uz kastes PHP 5.1.3 uzliku PHP 5.1.4 un vairs nestrādā mail() funkcija (protams, ar PHP 5.1.3 strādāja).
Darīju sekojošo:
Tā kā Xmail'am 'sendmail' ir direktorijā /var/MailRoot/bin/sendmail, tad php.ini failā attiecīgi pie sendmail_path norādīju ceļu uz to. (Tā biju arī norādījis PHP 5.1.3 php.ini failā.
Mēģinu mail() funkciju (ar Apache palīdzību) nekas nesūtās.
Tālāk uztaisu test.php failu ar kodu:

<?php
mail("mans@mails.net", "subjekts", "teksts");
?>

un ar /usr/local/bin/php palīdzību laižu to:

# /usr/local/bin/php /test/test.php

sendmail's atgriež sekojošu kļūdu:
empty recipient list
Protams to daru kā 'root', tad nu domāju, ka varbūt kaut kas nav kārtībā ar permsijām, pārbaudu - viss strādā, jo:

# /var/MailRoot/bin/sendmail -fme@me.lol mans@mails.net
teksts
^D

nosūtās!
Tālāk pārslēdzos uz 'nobody' (Apache par labu :D)

# su nobody
$ /usr/local/bin/php /test/test.php
empty recipient list
$ /var/MailRoot/bin/sendmail -fnobody@nowhere.net mans@mails.net
kaut kaads teksts
^D

Un ar otro metodi nosūtās.
Tagad man doma ir tāda, ka vaina ir tieši php, jo kad mēģina:

# /var/MailRoot/bin/sendmail
empty recipient list

nepadodot parametru tam sendmail, kam sūtīt, tad tieši tiek atgriezts tas empty recipient list.
Tā kā man uz kastes vēl mētājās kaut kāda PHP 4 versija (neesmu novācis) /usr/bin/php, tad mēģinu ar to palaist mail() funkciju:

# /usr/bin/php /test/test.php

Mails nosūtās un tas php izmanto to pašu php.ini failu, ko PHP 5.1.4.
Tagad vēl lelāka aizdoma, ka vaina ir tieši PHP. Varbūt, ka nenorādu pareizu sendmail_path php.ini failā? Vai arī neiedodu kādu 'extra' parametru?
Daru sekojošu:

# mv /usr/sbin/sendmail /usr/sbin/sendmail_old
# ln -s /var/MailRoot/bin/sendmail /usr/sbin/sendmail

php.ini failā norādu sendmail_path = /usr/sbin/sendmail, bet tas neko dižu neizsaka, jo ar:

# /usr/local/bin/php /test/test.php

tiek atgriezts tas pats empty recipient list.

Vai kādam ir gadījusies tāda problēma un viņš ir radis risinājumu? Ja jā, tad varbūt var ar mani padalīties savās zināšanās, ko es savā !@#$% galvā daru nepareizi. Uz googli varat mani nesūtīt, jo tur jau tika meklēts ~ 1 h ar n-tajiem atslēgas vārdiem un rezultāts nebija tas vēlamākais.
Paldies jau iepriekš!