Vraag & Antwoord

Webprogrammeren & scripting

[PHP] mail forward naar script: php/smrsh probleem

6 antwoorden
  • Nou ben ik al een tijdje bezig met een forward script die mail moet verwerken. Ik werk op de server met sendmail. Volgens mij heb ik alles voor elkaar op 1 ding na. in m'n .forward staat: xxxx@xxxx.nl,"|/usr/bin/php /pad/naar/script.php" bovenaan script.php staat: #!/usr/bin/php -q script.php heeft chmod 744 Als ik nu mail naar het mailadres dan krijg ik in xxxx@xxxx.nl een mailtje quote: The original message was received at Thu, 22 Jul 2004 11:57:14 +0200 from [213.196.3.230] ----- The following addresses had permanent fatal errors ----- "|/usr/bin/php /pad/naar/script.php" (reason: service unavailable) (expanded from: <mail@adresje.nl>) ----- Transcript of session follows ----- smrsh: php not available for sendmail programs (stat failed) 554 5.0.0 Service unavailable Nou geloof ik dat ik een symlink moet maken als volgt: ln -s /usr/bin/php /etc/smrsh/php Nou is het probleem dat ik al een tijdje geen SSH meer kan gebruiken, dus ik kan zelf die link niet maken. Bovendien is php geen executable op de server dus heeft het geen zin om zo'n link te maken. Is er een manier om dit te omzeilen? Of kan werkt dit alleen als php executable is?
  • Deze pagina staat het uitgelegd : http://gvtulder.f2o.org/articles/incoming-mail/ Staat iig dat het 755 moet zijn dat al geprobeerd? De rest lijkt me goed indien de paden kloppen en je script goed is.
  • Eigenlijk heb ik 777 gebuikt voor alle zekerheid, kwam er idd achter dat het hier verkeerd staat. Maar het blijkt dus dat ik geen executable php heb en dus geen php kan parsen in de shell. Het geheel werkt dus niet voor mij en zal het dus zonder php moeten doen :( Kijken of het met perl wel kan. Of is er een omweg om het met php te doen zonder executable php?
  • Perl : http://www.f2o.org/forum/viewtopic.php?t=822 Kan ook anders (hele rare oplossing maargoed) Laat het een bash scriptje uitvoeren en de output tijdelijk ergens opslaan (DDUUMMSS-nummer oid) en als laatste een wget http://domein.xx/jou-eigengemaakte-script.php Dat php script opent dan die tijdelijke bestanden en doet er iets mee.
  • Dat is een hele sterke idd. Ik wilde me iets gaan verdiepen in prel om het daar in te doen. Maar nou ben ik aan het prutsen geweest met een bash script en deze krijg ik niet eens draaiend. .forward: [code:1:177421b800]"|/bin/bash /pad/naar/script"[/code:1:177421b800] script: (chmod 755) [code:1:177421b800]#!/bin/bash ls > /pad/naar/bestand[/code:1:177421b800] Als ik dit gebruik en de mail ook doorlus naar een ander email adres krijg ik daar een foutmelding: "smrsh: bash not available for sendmail programs (stat failed)" Dan zou ik dus denk ik een symlink moeten maken van bash in de smrsh dir. Maar als ik deze code gebruik in .forward: [code:1:177421b800]"/bin/bash /pad/naar/script"[/code:1:177421b800] Waarvan ik overigens niet weet of dit zo hoort te werken, maar volgens mij voert hij dan het script uit zonder de mail door te geven. Dan krijg ik de foutmelding: "554 5.3.0 cannot open /bin/bash /home/.sites/145/site120/users/mdoornik/web/mail/script: No such file or directory 550 5.0.0 "/bin/bash /home/.sites/145/site120/users/mdoornik/web/mail/script"... Can't create output" Het pad van het script klopt zonder twijfel. Waar de bash staat kan ik alleen niet bekijken omdat ik geen SSH toegang heb. Als ik in de .forward alleen dit neer zet: [code:1:177421b800]"/home/.sites/145/site120/users/mdoornik/web/mail/script"[/code:1:177421b800]Krijg ik de foutmelding: "550 5.0.0 "/bin/bash /home/.sites/145/site120/users/mdoornik/web/mail/script"... Can't create output" Volgens mij heb ik nu alle mogelijkheden gehad... Enige zou kunnen zijn dat de bash niet klopt lijkt mij, maar hoe kan ik dit controleren? Of is er nog iets anders wat ik over het hoofd zie?
  • Sendmail is geconfigureerd deze scripts niet te mogen gebruiken (verwacht ik) Je kan je provider vragen of ze het scriptje willen toevoegen als trusted. Heb je wel toegang tot cron ? Je zou dan je mail via pop leeg kunnen trekken en dan je script er alsnog op loslaten...

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.