Bekijk Volledige Versie : Dit is vreemd...[php mail]
Matthijs de Z
26/03/03, 12:20
Hoi,
Binnen een scirpt is er onder andere een email afhandeling. Ik had het
complete script getest op mijn server en daar werkte het gewoon naar
behoren. Helaas verstuurd hetzelfde script geen emails vanaf de server van
een vriend van me waar het op moet komen te staan.
Dit is de vereenvoudigde versie van het onderdeel dat de mail verstuurd.
<?php
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
//versturen van mail
$fd = fopen ("/padnaar/test/test.list", "r");
while (!feof($fd)):
$buffer = fgets($fd, 4096);
$buffer = trim($buffer);
$emailadres = "";
$emailadres = $buffer;
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "From: AEX trigger (SMART Trader)
<even@geenadres.hier>\n";
$headers .= "Reply-To: even@geenadres.hier\n";
$headers .= "Return-path: even@geenadres.hier\n";
$headers .= "Errors-To: even@geenadres.hier\n";
$subject = "test";
mail("$emailadres","$subject","hallo","$headers");
echo"$emailadres<br>";
endwhile;
fclose ($fd);
echo "<br><br>de mail is verstuurd.";
?>
Via mijn eigen server kreeg ik de mail ook gewoon binnen:
==================================================
Return-path: <nobody@xenon.nocdirect.com>
Envelope-to: adres@uitde.lijst
Delivery-date: Wed, 26 Mar 2003 05:02:23 -0600
Received: from nobody by xenon.nocdirect.com with local (Exim 3.36 #1)
id 18y8fl-0000OB-00
for adres@uitde.lijst; Wed, 26 Mar 2003 05:02:21 -0600
To: adres@uitde.lijst
Subject: test
MIME-Version: 1.0
Content-type: text/html; charset=iso-8859-1
From: AEX trigger (SMART Trader) <even@geenadres.hier>
Reply-To: even@geenadres.hier
Errors-To: even@geenadres.hier
Message-Id: <E18y8fl-0000OB-00@xenon.nocdirect.com>
Date: Wed, 26 Mar 2003 05:02:21 -0600
hallo
==================================================
Iemand een idee waarom het vanaf die andere server niet zou werken? (linux
met apache 1.3.27 en php 4.3.1)
Groeten,
Matthijs
Matthijs de Z wrote:
> Hoi,
>
> Binnen een scirpt is er onder andere een email afhandeling. Ik had het
> complete script getest op mijn server en daar werkte het gewoon naar
> behoren. Helaas verstuurd hetzelfde script geen emails vanaf de server van
> een vriend van me waar het op moet komen te staan.
>
> Dit is de vereenvoudigde versie van het onderdeel dat de mail verstuurd.
>
[knip script en mail header]
>
> Iemand een idee waarom het vanaf die andere server niet zou werken? (linux
> met apache 1.3.27 en php 4.3.1)
staat er iest in de errorlogs van exim op die server waar je dat script
draait? Is het de user die het script draait (nobody ozo) wel toegestaan
om vande SMTP dienst gebruikte maken? Is de php.ini goed opgezet voor
mail [1]?
[1] http://nl.php.net/manual/en/ref.mail.php
jasper
Rene Pijlman
26/03/03, 12:35
Matthijs de Z:
> mail("$emailadres","$subject","hallo","$headers");
De mail() functie kan een foutcode retourneren.
>Iemand een idee waarom het vanaf die andere server niet zou werken?
Kijk in de log files van de web server en de mail server. En
kijk in de mailbox van het adres dat je als afzender gebruikt of
er een gebouncede mail staat.
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
Matthijs de Z
26/03/03, 12:35
> > Iemand een idee waarom het vanaf die andere server niet zou werken?
(linux
> > met apache 1.3.27 en php 4.3.1)
> staat er iest in de errorlogs van exim op die server waar je dat script
> draait?
Het vervelende is dat ik wel de access log kan bekijken, maar niet de
errorlog...
> Is het de user die het script draait (nobody ozo) wel toegestaan
> om vande SMTP dienst gebruikte maken? Is de php.ini goed opgezet voor
> mail [1]?
Het domein staat bij een host. En helaas kan ik niet veel verder op de
server kijken.
Maar klopt de code die ik heb gebruikt volgens jou wel? Als dat zo is ga ik
proberen die gasten eens te bereiken en te vragen wat er mis is met hun
server.
mazzel,
Matthijs
>
> [1] http://nl.php.net/manual/en/ref.mail.php
>
> jasper
>
Matthijs de Z
26/03/03, 12:50
> > mail("$emailadres","$subject","hallo","$headers");
>
> De mail() functie kan een foutcode retourneren.
>
> >Iemand een idee waarom het vanaf die andere server niet zou werken?
>
> Kijk in de log files van de web server en de mail server.
Heb ik helaas geen toegang toe.
>En
> kijk in de mailbox van het adres dat je als afzender gebruikt of
> er een gebouncede mail staat.
Laat die nou net weg zijn.. :-( (maar ik kan natuurlijk wel mijn eigen adres
daar invoeren....slim...)
Maar de code klopt dus op zich wel?
Mazzel,
Matthijs
>
> --
> René Pijlman
>
> Wat wil jij leren? http://www.leren.nl
Matthijs de Z
26/03/03, 12:50
> Laat die nou net weg zijn.. :-( (maar ik kan natuurlijk wel mijn eigen
adres
> daar invoeren....slim...)
Ik heb net mijn eigen adres ingevoerd als Reply-To, Return-path en
Errors-To, maar dat leverde niets op.
Groeten,
Matthijs
Rene Pijlman
26/03/03, 13:05
Matthijs de Z:
>Maar de code klopt dus op zich wel?
Nee, er ontbreekt iets. Maar dat zei ik toch al?
>> De mail() functie kan een foutcode retourneren.
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
Daniel Tryba
26/03/03, 13:20
Matthijs de Z <haalallesvoorhetstreepjeplushetstreepjezelfweg-mldz@hotmail.com> wrote:
> $headers = "MIME-Version: 1.0\n";
> $headers .= "Content-type: text/html; charset=iso-8859-1\n";
> $headers .= "From: AEX trigger (SMART Trader)
> <even@geenadres.hier>\n";
> $headers .= "Reply-To: even@geenadres.hier\n";
> $headers .= "Return-path: even@geenadres.hier\n";
> $headers .= "Errors-To: even@geenadres.hier\n";
Op z'n minst niet volgense de specs
<q src="http://www.php.net/manual/en/function.mail.php">
Note: You must use \r\n to separate headers, although some Unix mail
transfer agents may work with just a single newline (\n).
</q>
--
Daniel Tryba
Matthijs de Z:
>Binnen een scirpt is er onder andere een email afhandeling. Ik had het
>complete script getest op mijn server en daar werkte het gewoon naar
>behoren. Helaas verstuurd hetzelfde script geen emails vanaf de server van
>een vriend van me waar het op moet komen te staan.
De email-server via welke je wil posten accepteert wellicht je from-adres niet, terwijl je
from-adres van je huidige server dat adres wel accepteert.
Zie ook de smtp-server instelling in php.ini
Cheers,
--
Prevent RSI:
http://hace.dyndns.org/files/rsibreakreminder/index.html
Learning to quote with outlook express:
http://home.in.tum.de/~jain/software/quotefix.php
"Matthijs de Z" <haalallesvoorhetstreepjeplushetstreepjezelfweg-
mldz@hotmail.com> wrote in news:b5s281$2u6b$1@nl-news.euro.net:
> $fd = fopen ("/padnaar/test/test.list", "r");
Kan apache dit bestandje openen (bestaat het en heeft het de juiste
rechten)?
--
Maarten
The difference between theory and practice in practice is greater than the
difference between theory and practice in theory.
Rene Pijlman
26/03/03, 14:05
Daniel Tryba:
><q src="http://www.php.net/manual/en/function.mail.php">
>Note: You must use \r\n to separate headers, although some Unix mail
>transfer agents may work with just a single newline (\n).
></q>
Dat staat er inderdaad, maar ik heb de omgekeerde ervaring: \n
werkt, \r\n werkt niet op mijn Linux/Apache/PHP-server.
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
Matthijs de Z
26/03/03, 16:35
> >Maar de code klopt dus op zich wel?
>
> Nee, er ontbreekt iets. Maar dat zei ik toch al?
>
> >> De mail() functie kan een foutcode retourneren.
Ik heb vanmiddag op php.net gezocht naar wat je bedoeld. Maar ik kan niet
vinden hoe ik een output kan krijgen van de foutcode. Ook niet in mijn PHP
boek. Heb je misschien een voorbeeld / een link (google leverde me ook geen
verheldering)
Mazzel,
Matthijs
>
> --
> René Pijlman
>
> Wat wil jij leren? http://www.leren.nl
"Matthijs de Z"
<haalallesvoorhetstreepjeplushetstreepjezelfweg-mldz@hotmail.com> wrote in
message news:b5s3hd$2ull$1@nl-news.euro.net...
> > Laat die nou net weg zijn.. :-( (maar ik kan natuurlijk wel mijn eigen
> adres
> > daar invoeren....slim...)
>
> Ik heb net mijn eigen adres ingevoerd als Reply-To, Return-path en
> Errors-To, maar dat leverde niets op.
Errors-To levert weinig op. Probeer de 5e parameter van mail zoals
-fafzender@domein.nl
dat geeft aan sendmail de juister envelope header door. Werkt alleen sinds
PHP 4.3.0 niet meer in PHP safe_mode :(
Succes!
Jonathan
Matthijs de Z
26/03/03, 16:35
> De email-server via welke je wil posten accepteert wellicht je from-adres
niet, terwijl je
> from-adres van je huidige server dat adres wel accepteert.
Ik heb het emailadres aangepast aan info@hostname.hier (om het maar simel te
zeggen). Maar dat maakt niets uit.
Mazzel,
Matthijs
> Zie ook de smtp-server instelling in php.ini
>
> Cheers,
>
> --
> Prevent RSI:
> http://hace.dyndns.org/files/rsibreakreminder/index.html
> Learning to quote with outlook express:
> http://home.in.tum.de/~jain/software/quotefix.php
>
>
Matthijs de Z
26/03/03, 16:35
> Op z'n minst niet volgense de specs
> <q src="http://www.php.net/manual/en/function.mail.php">
> Note: You must use \r\n to separate headers, although some Unix mail
> transfer agents may work with just a single newline (\n).
> </q>
Op mijn eigen server werkt het met een \r niet en na het testen op die
andere, bleek het ook niet het gewenste resultaat te geven.
groeten,
Matthijs
>
> --
>
> Daniel Tryba
>
Matthijs de Z
26/03/03, 16:35
> Kan apache dit bestandje openen (bestaat het en heeft het de juiste
> rechten)?
Ja zeker. Met een simpele include("/padnaar/test/test.list"); spuugt ie
braaf de inhoud uit.
Mazzel,
Matthijs
>
> --
> Maarten
>
> The difference between theory and practice in practice is greater than the
> difference between theory and practice in theory.
>
Matthijs de Z
26/03/03, 16:50
> Errors-To levert weinig op. Probeer de 5e parameter van mail zoals
>
> -fafzender@domein.nl
Dat gaf ook geen extra info over wat er fout ging. Ik ontving niets.
mail("mijn@adres.hier","$subject","hallo","$headers","-fmijn@adres.hier");
Groeten,
Matthijs
Daniel Tryba
26/03/03, 19:35
Matthijs de Z <haalallesvoorhetstreepjeplushetstreepjezelfweg-mldz@hotmail.com> wrote:
>> Op z'n minst niet volgense de specs
>> <q src="http://www.php.net/manual/en/function.mail.php">
>> Note: You must use \r\n to separate headers, although some Unix mail
>> transfer agents may work with just a single newline (\n).
>> </q>
>
> Op mijn eigen server werkt het met een \r niet en na het testen op die
> andere, bleek het ook niet het gewenste resultaat te geven.
Je hebt gemist dat je een \r\n _alleen_ als *seperator* dient te
gebruiken.
Maar als je nu eens zelf met het handje de zut die php naar de smtpd
stuurt rechtstreeks invult, dan zal je wellicht zien waar het mis gaat!
--
Daniel Tryba
Daniel Tryba
26/03/03, 19:35
Rene Pijlman <reply.in@the.newsgroup> wrote:
>>transfer agents may work with just a single newline (\n).
>></q>
>
> Dat staat er inderdaad, maar ik heb de omgekeerde ervaring: \n
> werkt, \r\n werkt niet op mijn Linux/Apache/PHP-server.
Het heeft dan ook niets te maken met Linux, Apache of PHP. Het ligt aan
de smtpd, en die lijkt zich dus niet aan de specs te houden als ie \r\n
niet als headers seperator herkent.
--
Daniel Tryba
Daniel Tryba
26/03/03, 19:35
Matthijs de Z <haalallesvoorhetstreepjeplushetstreepjezelfweg-mldz@hotmail.com> wrote:
> Ik heb vanmiddag op php.net gezocht naar wat je bedoeld. Maar ik kan niet
> vinden hoe ik een output kan krijgen van de foutcode. Ook niet in mijn PHP
> boek. Heb je misschien een voorbeeld / een link (google leverde me ook geen
> verheldering)
Ai, wellicht is het handig als je weer eens helemaal vooraan begint te
lezen in dat boek. mail() is namelijk een _function_ die een waarde
_returned_ -> http://www.php.net/manual/en/functions.returning-values.php
Je de returnvalue van mail gebruiken om een conditie te evalueren ->
http://www.php.net/manual/en/control-structures.php#control-structures.if
--
Daniel Tryba
Rene Pijlman
26/03/03, 20:05
Daniel Tryba:
>Rene Pijlman <reply.in@the.newsgroup> wrote:
>>>transfer agents may work with just a single newline (\n).
>>></q>
>>
>> Dat staat er inderdaad, maar ik heb de omgekeerde ervaring: \n
>> werkt, \r\n werkt niet op mijn Linux/Apache/PHP-server.
>
>Het heeft dan ook niets te maken met Linux, Apache of PHP. Het ligt aan
>de smtpd, en die lijkt zich dus niet aan de specs te houden als ie \r\n
>niet als headers seperator herkent.
Dat zou kunnen, maar het klinkt een beetje kort door de bocht.
Het hangt ervan af of en hoe PHP de string eventueel nog bewerkt
en hoe PHP de mail aan de MTA aanbiedt.
Beide vragen zijn natuurlijk te beantwoorden door in de source
van PHP te kijken, maar daar ben ik te lui voor :-)
Het probleem is overigens niet dat \r\n niet als seperator
herkend wordt, maar dat er kennelijk nog een expansie van \r of
\n plaatsvindt, waardoor de eerste de beste \r\n separator
gezien wordt als de lege regel die headers en body scheidt.
En voor de liefhebbers: ik gebruik de Postfix MTA, misschien dat
dat er inderdaad mee te maken heeft.
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
Daniel Tryba
26/03/03, 21:05
Rene Pijlman <reply.in@the.newsgroup> wrote:
>>Het heeft dan ook niets te maken met Linux, Apache of PHP. Het ligt aan
>>de smtpd, en die lijkt zich dus niet aan de specs te houden als ie \r\n
>>niet als headers seperator herkent.
>
> Dat zou kunnen, maar het klinkt een beetje kort door de bocht.
> Het hangt ervan af of en hoe PHP de string eventueel nog bewerkt
> en hoe PHP de mail aan de MTA aanbiedt.
Als PHP de string bewerkt dan heet dat gewoon 'BUG'.
> Beide vragen zijn natuurlijk te beantwoorden door in de source
> van PHP te kijken, maar daar ben ik te lui voor :-)
Een nog veel eenvoudigere poging om op te lossen is het gebruik van
tcpdump/(t)ethereal.
> Het probleem is overigens niet dat \r\n niet als seperator
> herkend wordt, maar dat er kennelijk nog een expansie van \r of
> \n plaatsvindt, waardoor de eerste de beste \r\n separator
> gezien wordt als de lege regel die headers en body scheidt.
Brrrrr. Ik ben nu toch uiterst benieuwd.
--
Daniel Tryba
Matthijs de Z
26/03/03, 21:05
> > Ik heb vanmiddag op php.net gezocht naar wat je bedoeld. Maar ik kan
niet
> > vinden hoe ik een output kan krijgen van de foutcode. Ook niet in mijn
PHP
> > boek. Heb je misschien een voorbeeld / een link (google leverde me ook
geen
> > verheldering)
>
> Ai, wellicht is het handig als je weer eens helemaal vooraan begint te
> lezen in dat boek. mail() is namelijk een _function_ die een waarde
> _returned_ -> http://www.php.net/manual/en/functions.returning-values.php
>
> Je de returnvalue van mail gebruiken om een conditie te evalueren ->
> http://www.php.net/manual/en/control-structures.php#control-structures.if
Ik kan niets anders verzinnen dan dat je zoiets als dit zou willen zien (zal
wel weer niet goed zijn denk ik....)
========================
function test()
{
$spuuguit = mail("info@beursanalyse.info", "Subject", "Line 1\nLine 2\nLine
3");
return $spuuguit;
}
if ($spuuguit = true)
print "de mail is verwerkt door php";
========================
Ik krijg dat als waarde 'de mail is verwerkt door php'. bij if ($spuuguit ==
true), krijg ik niets te zien.
Ik heb gelijk maar een variant gemaakt op bovenstaande met dit als code:
========================
function test()
{
$spuuguit = mail("info@beursanalyse.info", "Subject", "Line 1\nLine 2\nLine
3");
return $spuuguit;
}
if (test() == true)
print "de mail is verwerkt door php";
========================
Ook daarmee kreeg ik 'de mail is verwerkt door php' te zien. Als ik het goed
heb, betekend het dus dat php de mail functie wel correct afhandeld.
Als dit niet klopt, zou je me dan even willen laten zien wat je dan bedoelt,
want ik weet het niet.
Groeten,
Matthijs
>
> --
>
> Daniel Tryba
Matthijs de Z
26/03/03, 21:05
> Maar als je nu eens zelf met het handje de zut die php naar de smtpd
> stuurt rechtstreeks invult, dan zal je wellicht zien waar het mis gaat!
Huh, wat bedoel je met rechtstreeks invult?
Groeten,
Matthijs
Daniel Tryba
26/03/03, 21:50
Matthijs de Z <haalallesvoorhetstreepjeplushetstreepjezelfweg-mldz@hotmail.com> wrote:
> Ik kan niets anders verzinnen dan dat je zoiets als dit zou willen zien (zal
> wel weer niet goed zijn denk ik....)
Men had je natuurlijk ook direct de oplossing kunnen vertellen, maar
hier leer je meer van :)
> ========================
> function test()
> {
> $spuuguit = mail("info@beursanalyse.info", "Subject", "Line 1\nLine 2\nLine
> 3");
>
> return $spuuguit;
> }
>
>
> if ($spuuguit = true)
> print "de mail is verwerkt door php";
> ========================
> Ik krijg dat als waarde 'de mail is verwerkt door php'. bij if ($spuuguit ==
> true), krijg ik niets te zien.
Hier is het probleem dat de scope van $spuuguit buiten de scope van de
if valt (http://www.php.net/manual/en/language.variables.scope.php)
*plus* het gebruik van = ipv == (resp. toekenning en verglijking) *en*
dat de functie test nergens wordt aangeroepen.
Bovenstaande stukje code is dus niet veel soeps (zoals je zelf al
vreesde :)
> Ik heb gelijk maar een variant gemaakt op bovenstaande met dit als code:
Tadaa, zelf werkzaamheid.
> ========================
> function test()
> {
> $spuuguit = mail("info@beursanalyse.info", "Subject", "Line 1\nLine 2\nLine
> 3");
>
> return $spuuguit;
> }
>
>
> if (test() == true)
> print "de mail is verwerkt door php";
> ========================
> Ook daarmee kreeg ik 'de mail is verwerkt door php' te zien. Als ik het goed
> heb, betekend het dus dat php de mail functie wel correct afhandeld.
Bingo. Deze keer een goed test() (alhoewel ik niet test zou gebruiken
omdat die naam erg ruikt naar een reserved woord). Inprincipe betekent
het dat het mis gaat bij de smtp server die de mail moet afhandelen.
Probeer eens direct met bv telnet vanaf de host een mailtje te versturen
(zie bv rfc 821 hoe dat precies moet (http://www.ietf.org/rfc/rfc821.txt)):
> telnet 0 25
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
220 localhost ESMTP Postfix 2.0.2 TLS+IPv6 1.11
helo localhost
250 localhost
MAIL FROM: me@localhost
250 Ok
RCPT TO: me@localhost
250 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
tst
..
250 Ok: queued as 8A6BD6B
q500 Error: bad syntax
uit
221 Bye
Connection closed by foreign host
> Als dit niet klopt, zou je me dan even willen laten zien wat je dan bedoelt,
> want ik weet het niet.
Het klopt wel, maar is een beetje omslachtig. Je mag de returncode van
mail() ook direct testen:
if(mail(...))
{
echo 'Mailtje is verstuurd';
}
else
{
die('Ooops, mail() deed niet wat verwacht werd';
}
--
Daniel Tryba
Jaap-Andre de Hoop
26/03/03, 21:50
In article <b5t0bn$9ja$1@nl-news.euro.net>, "Matthijs de Z" <haalallesvoorhetstreepjeplushetstreepjezelfweg-mldz@hotmail.com> wrote:
>wel weer niet goed zijn denk ik....)
>========================
>function test()
>{
>$spuuguit = mail("info@beursanalyse.info", "Subject", "Line 1\nLine 2\nLine
>3");
>
> return $spuuguit;
>}
>
>
>if ($spuuguit = true)
> print "de mail is verwerkt door php";
>========================
>Ik krijg dat als waarde 'de mail is verwerkt door php'. bij if ($spuuguit ==
>true), krijg ik niets te zien.
klopt want je kijkt nu niet of $spuuguit de waarde true heeft, maar je
kent aan $spuuguit de waarde true toe, als dat goed gaat, dan wordt de
mail is verwerkt door php getoond (ergo heeft niet te maken met de test).
Voor testdoeleinden zou je dus iets kunnen doen als:
$spuuguit=mail (dit dus keurig invullen);
if ($spuuguit==true)
echo "mailen is hiero goed gegaan";
elseif ($spuuguit==false)
echo "mailen is niet goed gegaan";
else
echo "ongeldige waarde spuuguit: $spuuguit";
>
>Ik heb gelijk maar een variant gemaakt op bovenstaande met dit als code:
>========================
>function test()
>{
>$spuuguit = mail("info@beursanalyse.info", "Subject", "Line 1\nLine 2\nLine
>3");
>
> return $spuuguit;
>}
>
>
>if (test() == true)
> print "de mail is verwerkt door php";
>========================
>Ook daarmee kreeg ik 'de mail is verwerkt door php' te zien. Als ik het goed
>heb, betekend het dus dat php de mail functie wel correct afhandeld.
>Als dit niet klopt, zou je me dan even willen laten zien wat je dan bedoelt,
>want ik weet het niet.
hmmm dit suggereert toch dat de mailfunctie het wel goed doet, of zie
ik iets over het hoofd, maar je hebt nu dus geen additionele headers
gezet (line 1 etc komt in de body van het bericht....).
Jaap-Andre
Matthijs de Z
26/03/03, 22:20
> Men had je natuurlijk ook direct de oplossing kunnen vertellen, maar
> hier leer je meer van :)
Helemaal mee eens ;-)
<knip verkeerde code>
> Bovenstaande stukje code is dus niet veel soeps (zoals je zelf al
> vreesde :)
> > Ik heb gelijk maar een variant gemaakt op bovenstaande met dit als code:
>
> Tadaa, zelf werkzaamheid.
Jahoe! Ben ik even blij ;-P
<knip juiste code>
> > Ook daarmee kreeg ik 'de mail is verwerkt door php' te zien. Als ik het
goed
> > heb, betekend het dus dat php de mail functie wel correct afhandeld.
> Bingo. Deze keer een goed test() (alhoewel ik niet test zou gebruiken
> omdat die naam erg ruikt naar een reserved woord). Inprincipe betekent
> het dat het mis gaat bij de smtp server die de mail moet afhandelen.
>
> Probeer eens direct met bv telnet vanaf de host een mailtje te versturen
> (zie bv rfc 821 hoe dat precies moet
(http://www.ietf.org/rfc/rfc821.txt)):
helaas heeft die account geen telnet / ssh toegang. Ik heb de host dan ook
maar een mailtje gestuurd, want blijkbaar zit het probleem toch op de server
en niet zo zeer in de script code.
> Het klopt wel, maar is een beetje omslachtig. Je mag de returncode van
En ik maar denken dat het te simpel zou zijn.... :-D
Bedankt voor de moeite en de groeten,
Matthijs
> mail() ook direct testen:
>
> if(mail(...))
> {
> echo 'Mailtje is verstuurd';
> }
> else
> {
> die('Ooops, mail() deed niet wat verwacht werd';
> }
>
> --
>
> Daniel Tryba
>
Matthijs de Z
26/03/03, 22:20
> hmmm dit suggereert toch dat de mailfunctie het wel goed doet, of zie
> ik iets over het hoofd, maar je hebt nu dus geen additionele headers
> gezet (line 1 etc komt in de body van het bericht....).
bedankt voor de reactie, ik heb een mailtje verstuurd naar de host in de
hoop dat ze het oplossen.
Groeten,
Matthijs
>
> Jaap-Andre
Daniel Tryba
27/03/03, 01:35
Matthijs de Z <haalallesvoorhetstreepjeplushetstreepjezelfweg-mldz@hotmail.com> wrote:
>> Probeer eens direct met bv telnet vanaf de host een mailtje te versturen
>> (zie bv rfc 821 hoe dat precies moet
>
> helaas heeft die account geen telnet / ssh toegang. Ik heb de host dan ook
> maar een mailtje gestuurd, want blijkbaar zit het probleem toch op de server
> en niet zo zeer in de script code.
Het kan ook met PHP hoor. Kijk eens bij http://www.phpclasses.org/ (moet
je wel voor registeren): en zoek op 'sendmail', daar zijn wel enkele
classes te vinden om tegen een willekeurige smtpd te lullen, eentje die
ik ooit daarvan gebruikt heb had een mooie debug optie om de smtp sessie
weer te geven (weet alleen niet meer welke :).
BTW een andere optie is om "de sendmail binary" direct aan te roepen met
popen (moet je natuurlijk wel weten waar die staat (/usr/lib/sendmail of
/usr/sbin/sendmail zijn volgens mij de meest voorkomende plekken):
if($fp=popen("/path/naar/sendmail -t -i","w"))
{
$message=<<<EOF
From: $from
To: $to
Subject: 'tst'
tst
EOF;
fwrite($fp,$message);
pclose($fp);
}
--
Daniel Tryba
Daniel Tryba
27/03/03, 01:50
Daniel Tryba <news_nl.internet.www.server-side@canopus.nl> wrote:
> Het kan ook met PHP hoor. Kijk eens bij http://www.phpclasses.org/ (moet
> je wel voor registeren): en zoek op 'sendmail', daar zijn wel enkele
> classes te vinden om tegen een willekeurige smtpd te lullen, eentje die
> ik ooit daarvan gebruikt heb had een mooie debug optie om de smtp sessie
> weer te geven (weet alleen niet meer welke :).
Volgens mij was het 'smtpclass'
(http://phpclasses.php-start.de/browse.html/package/14.html)
BTW als je tegen een willekeurige smtpd wilt praten zul je zeer
waarschijnlijk (hopelijk) tegen problemen met relaying aanlopen. Je zult
zeer waarschijnlijk de server van de provider moeten gebruiken waar je
je php zut gehost heb.
--
Daniel Tryba
Matthijs de Z
27/03/03, 10:50
> Volgens mij was het 'smtpclass'
> (http://phpclasses.php-start.de/browse.html/package/14.html)
>
> BTW als je tegen een willekeurige smtpd wilt praten zul je zeer
> waarschijnlijk (hopelijk) tegen problemen met relaying aanlopen. Je zult
> zeer waarschijnlijk de server van de provider moeten gebruiken waar je
> je php zut gehost heb.
Bedankt voor de extra info en linken. De desbetreffende host schijnt
afgelopen weekend de beveiliging verhoogd te hebben en nu moet je een
username meesturen met de mail functie. Handig dat ze dat ook even bekend
maken aan hun klanten.... :-(
Iedereen bedankt voor de moeite.
En uh, nog even leuk om te weten misschien. Toen jullie begonnen over dat
mail() een foutcode kan retourneren, dacht ik dat de foutcode in de browser
zou komen. Dus ik zat te zoeken, hoe krijg ik die foutcode op mijn
scherm....maar jullie bedoelden toen dus gewoon true of falls. Vandaar dat
ik toen zoiets had, van waar hebben ze het over en waar vind ik dat. (niet
dat ik normaal erg handig ben met php ;-)
Mazzel,
Matthijs
>
> --
>
> Daniel Tryba