[PHP] Mail. Waarom een uitroepteken?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Als ik via de mail functie van PHP een mail verstuur krijg ik in de mail steeds een uitroepteken welke ik helemaal niet gestuurd heb. Ik heb de string nagekeken en er zit echt geen '!' in. Toch geeft de mail functie een uitroepteken door in bepaalde gevallen.

Het is een HTML mail met de volgende headers:

$header = "From: \"".addslashes($from)."\" <".$from.">\r\n";
$header .= "Reply-To: ".$reply."\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=iso-8859-1\r\n";
$header .= "X-Priority: 1\r\n";
$header .= "X-Mailer: PHP / ".phpversion()."\r\n";

Wie heeft een idee.

[ Voor 15% gewijzigd door Verwijderd op 04-12-2002 15:44 ]


Acties:
  • 0 Henk 'm!

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 16-08 06:44

CyberSnooP

^^^^ schrijft --->

Ik neem aan dat je gewoon een ! in de body van de mail (dus de tekst van de mail) bedoelt, dan hebben weinig aan de code van je header.

|_____vakje______|


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Lijkt me een bug in PHP.. ik heb er zelf ook last van soms :)

Op willekeurige plekken komen uitroeptekens te staan.

Wat helpt is je email niet achter elkaar te zetten (body), maar regelmatig \n's neer te gooien.. oorzaak is volgens mij te lange regels namelijk.

[edit: bedacht me ineens dat ik het probleem de vorige keer verholpen had :P]

[ Voor 71% gewijzigd door Bosmonster op 04-12-2002 15:51 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik had eerder gehoord van de oplossing met de \n maar dat is natuurlijk niet de juiste oplossing.

Wie zegt dat het geen bug is?

Het is dus dat er willekeurig in de tekst een uitroepteken wordt geplaatst.

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:47
Beknopte code om die claim te ondersteunen, alsjeblieft. Er wordt wel erg vaak geroepen dat er bugs zitten in PHP (of in dit geval in de bijbehorende standaardbibliotheken), zonder dat daar een goede aanleiding voor is.

Ik zie ook een relatie tussen het feit dat PHP programmeurs zich vaak op bugs beroepen en het feit dat ze gemiddeld genomen niet kunnen debuggen. Daar wil ik nu geen discussie over beginnen, maar ik ben wel erg geïnteresseert in de code die de vermeende bug in PHP illustreert; liefst met redenering natuurlijk (wat er mis gaat).

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Soultaker schreef op 04 December 2002 @ 15:58:
[...]

Beknopte code om die claim te ondersteunen, alsjeblieft. Er wordt wel erg vaak geroepen dat er bugs zitten in PHP (of in dit geval in de bijbehorende standaardbibliotheken), zonder dat daar een goede aanleiding voor is.

Ik zie ook een relatie tussen het feit dat PHP programmeurs zich vaak op bugs beroepen en het feit dat ze gemiddeld genomen niet kunnen debuggen. Daar wil ik nu geen discussie over beginnen, maar ik ben wel erg geïnteresseert in de code die de vermeende bug in PHP illustreert; liefst met redenering natuurlijk (wat er mis gaat).


Simpel.. verstuur een meel met flink wat tekst en geen enkele break, alleen lange regels.. en ik krijg op sommige plekken uitroeptekens.

Echt rocketscience is het niet.. want heb het gewoon met gebruik van de mail() functie.. en de data die ik erin stuur heeft geen uitroeptekens.. dus die voegt ie zelf toe :)

(we hebben hier wel 4.1.2 draaien ofzo.. niet de laatste versie)

[ Voor 4% gewijzigd door Bosmonster op 04-12-2002 16:02 ]


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:47
Bosmonster schreef op 04 December 2002 @ 16:00:
Simpel.. verstuur een meel met flink wat tekst en geen enkele break, alleen lange regels.. en ik krijg op sommige plekken uitroeptekens.
Tja, sorry hoor, maar je kraakt hier wel zonder goede reden het vrije product van een hardwerkend team af. Ik wil het wel simpel testen:

PHP:
1
2
3
$body = str_pad("Hier is mijn body: ", 100000, "bla ");
mail("maks@hell.student.utwente.nl", "Testje", $body);
phpinfo();


Maar dit komt zonder enig probleem aan (precies zoals je zou verwachten dus). Zijn 100000 karakters in de body te weinig? Of doe ik iets fout? Of manifesteert de bug zich niet in PHP 4.2.1?

Dat laatste kun je natuurlijk moeilijk zeggen, maar als je bug niet met een recente versie te reproduceren is, hou er dan gewoon je mond over. Voor zover ik weet, kan de fout overal liggen, van jouw code, tot jouw mail server, tot jouw mail client, tot eventueel de PHP library. Zonder verdere argumentatie of daadwerkelijke code die het probleem kan illustreren, heb ik echter meer reden om aan te nemen dat de fout bij jouw ligt dan bij de makers van PHP.

Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Wat ziet ons oog hier: Overeenkomend bugje bij PHP.net. Blijkbaar toch een bug, maar niet in PHP...

[ Voor 3% gewijzigd door BtM909 op 04-12-2002 16:19 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Acties:
  • 0 Henk 'm!

  • The Lord
  • Registratie: November 1999
  • Nu online
Veel mailservers accepteren data per maximale blok-grootte van 256 bytes (uit mijn hoofd). Wordt een blok groter, dan wordt er regelmatig een uitroepteken toegevoegd i.p.v. een fatsoenlijke line-break.

Zelf line-breaks toevoegen lost je probleem op.

geeft geen inhoudelijke reacties meer


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Okay duidelijk!

[ Voor 169% gewijzigd door Verwijderd op 04-12-2002 16:29 ]


Acties:
  • 0 Henk 'm!

  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 21:14
Verwijderd schreef op 04 December 2002 @ 15:43:
Als ik via de mail functie van PHP een mail verstuur krijg ik in de mail steeds een uitroepteken welke ik helemaal niet gestuurd heb. Ik heb de string nagekeken en er zit echt geen '!' in. Toch geeft de mail functie een uitroepteken door in bepaalde gevallen.
Wat gebeurt er als je het identieke bericht via een telnet-sessie van poort 25 naar elk van de tussenliggende SMTP servers stampt ?

Was advocaat maar vindt het juridische nog steeds leuk


Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

StevenK schreef op 04 december 2002 @ 16:33:
[...]

Wat gebeurt er als je het identieke bericht via een telnet-sessie van poort 25 naar elk van de tussenliggende SMTP servers stampt ?
Volgens mij is het antwoord al eerder gegeven...

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Acties:
  • 0 Henk 'm!

  • mayhem
  • Registratie: September 2000
  • Laatst online: 04-09 16:57

mayhem

_______________

$header .= "X-Priority: 1\r\n";

dat geeft toch een uitroepteken :?

_______________


Acties:
  • 0 Henk 'm!

  • Hmmbob
  • Registratie: September 2001
  • Laatst online: 18-09 12:25
mayhem schreef op 04 December 2002 @ 16:44:
$header .= "X-Priority: 1\r\n";

dat geeft toch een uitroepteken :?
Ja, maar niet in het bericht op willekeurige plaatsen ;)

Sometimes you need to plan for coincidence


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Soultaker schreef op 04 December 2002 @ 16:12:
[...]


Tja, sorry hoor, maar je kraakt hier wel zonder goede reden het vrije product van een hardwerkend team af. Ik wil het wel simpel testen:

PHP:
1
2
3
$body = str_pad("Hier is mijn body: ", 100000, "bla ");
mail("maks@hell.student.utwente.nl", "Testje", $body);
phpinfo();


Maar dit komt zonder enig probleem aan (precies zoals je zou verwachten dus). Zijn 100000 karakters in de body te weinig? Of doe ik iets fout? Of manifesteert de bug zich niet in PHP 4.2.1?

Dat laatste kun je natuurlijk moeilijk zeggen, maar als je bug niet met een recente versie te reproduceren is, hou er dan gewoon je mond over. Voor zover ik weet, kan de fout overal liggen, van jouw code, tot jouw mail server, tot jouw mail client, tot eventueel de PHP library. Zonder verdere argumentatie of daadwerkelijke code die het probleem kan illustreren, heb ik echter meer reden om aan te nemen dat de fout bij jouw ligt dan bij de makers van PHP.


Hallo.. ik kraak niemand af.. dat is jouw interpretatie.. Zeggen dat iets een bug is is een mogelijkheid.. wat heeft dat te maken met een hard werkend team :?

Misschien is het dan geen PHP bug, maar daar zijn er ook genoeg van.. en dat is geen schande en dat gaan we dus ook niet doodzwijgen ofzo. Maar goed.. breaks zijn dus de oplossing en het is dus een bug, of misschien een feature :) Who knows.. Weliswaar niet in PHP, maar dan in de mailsoftware...

[ Voor 11% gewijzigd door Bosmonster op 04-12-2002 21:17 ]

Pagina: 1