[PHP/MAIL] Speciale tekens in From-header..

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • ekkoper
  • Registratie: Augustus 2003
  • Laatst online: 17-11-2024
Bij een mail-script dat ik heb gemaakt ondervind ik een probleem. Wanneer ik in de 'FROM'-header speciale tekens (in dit geval een ü) gebruik, ontstaat er een error. De mail wordt niet (goed) verstuurd en meldt dat de header niet correct is.
Dit is zo ongeveer wat ik te zien krijg in het mailtje dat wel aankomt, maar niet correct:

BAD_HEADER: Non-encoded 8-bit data (char FC hex): From: "Re\374nie scouting Gv[...]

This nondelivery report was generated by the program amavisd-new at host[bla]. Our internal reference code for your message is
26583-07/TKL+NJ+hHHm3

INVALID HEADER

Non-encoded 8-bit data (char FC hex): From: "Re\374nie[...]


Met welke PHP-functie kan ik ervoor zorgen dat dit speciale teken (ü) als zodanig getoond wordt in de afzender?
Overigens haal ik de gegevens uit een database, en is het daar opgeslagen als "reünie". Dit zet ik via een eigen functie om dmv str_replace() 'ü' => 'ü'.

Andere headers zijn:
$headers = 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; Charset=utf-8' . "\n";

Ik hoop dat iemand me kan helpen.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Lees The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) eens door. Vooral constructies als "str_replace() 'ü' => 'ü'." laten bij mij nogal wat alarmbellen afgaan dat je eigenlijk wat zaken mist :X

Verder wil ik je graag wijzen op onze Quickstart; het is hier wél de bedoeling dat we zien wat je al geprobeerd/gezocht/gevonden etc. hebt.

Verder is de melding (wederom) gewoon duidelijk: Non-encoded 8-bit data. Als 't non-encoded is en een foutmelding oplevert, wat denk je dat je dan moet doen? ;) En (wederom) waarom pak je de manual er niet bij?

Tot slot: Kijk eens naar PHPMailer. Hoewel ik er niet zeker van ben heb ik een dik vermoeden dat daar wel rekening wordt gehouden met encoding van gegevens en dat neemt je een boel gedoe uit handen.

[ Voor 70% gewijzigd door RobIII op 10-02-2010 14:57 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • ekkoper
  • Registratie: Augustus 2003
  • Laatst online: 17-11-2024
Ik zit niet zó diep in de materie dat ik de bondige melding "BAD_HEADER: Non-encoded 8-bit data (char C3 hex): From: "Re\303\274nie scouting G[...]" begrijp.
Natuurlijk is het me duidelijk dat er iets mis is met charsets of iets gerelateerds..

Om een goed lopend script te maken, hoef je niet alles zelf van scratch te ontwikkelen. Ook hoef je echt niet alles zelf volledig te snappen. Natuurlijk is het handig om iets te begrijpen, voordat je er mee aan de slag gaat, maar dat hoef je dan niet meteen van buiten te kennen.

Daarbij vraag ik niet om een preek te krijgen, maar alleen of iemand mij kan vertellen wat ik nodig zou hebben.
Ik vind het uiteraard heel fijn dat je reageert op m'n vraag en ik stel het zeer op prijs dat dit gebeurt, maar ik vind het van enige arrogantie betuigen als je van me eist dat ik eerst alles weet, voordat ik een vraag kan stellen.

Ik vraag ook helemaal niet om een kant-en-klaar antwoord of een volledig script. Het antwoord dat ik maar even alles te weten moet komen over charsets helpt dan niet echt. Uiteraard heb ik al een aantal manuals bekeken van PHP.net, maar als daar niet in besproken wordt wat ik zoek, heb ik daar weinig aan.

Het feit dat ik niet bij elk bericht meld dat ik al op 15 resultaten van Google heb gekeken en een aantal manuals van PHP.net heeft overigens in het geheel niets met de vraag te maken. Als ik deze niet duidelijk of uitgebreid genoeg formuleer, kan daarnaar gevraagd worden. Ik snap ook wel dat dit forum niet bedoeld is om op commando antwoorden op al je vragen te ontvangen en dat we er samen tot een oplossing proberen te komen. Het gaat me daarbij niet zo zeer om de gegeven informatie, maar vooral om de toon waarmee gereageerd wordt.

Ik hoop dat je je hierin (gedeeltelijk) kunt vinden.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
ekkoper schreef op woensdag 10 februari 2010 @ 15:01:
Ik zit niet zó diep in de materie dat ik de bondige melding "BAD_HEADER: Non-encoded 8-bit data (char C3 hex): From: "Re\303\274nie scouting G[...]" begrijp.
En een beetje begrijpend lezen is teveel gevraagd? En als je niet "zo diep" in die materie zit, waarom wil je het dan zelf maken en laat je het niet over aan lui die er wél diep(er) in zitten (zoals PHPMailer)? (Los daarvan: als je dat al een bondige melding vindt...)
ekkoper schreef op woensdag 10 februari 2010 @ 15:01:
Natuurlijk is het me duidelijk dat er iets mis is met charsets of iets gerelateerds..
En wat er aan mankeert staat er ook duidelijk...
ekkoper schreef op woensdag 10 februari 2010 @ 15:01:
Om een goed lopend script te maken, hoef je niet alles zelf van scratch te ontwikkelen.
Daarom wijs ik ook naar PHPMailer. Gebruik je je eigen geknutseld script: ook best, maar:
ekkoper schreef op woensdag 10 februari 2010 @ 15:01:
Ook hoef je echt niet alles zelf volledig te snappen. Natuurlijk is het handig om iets te begrijpen, voordat je er mee aan de slag gaat, maar dat hoef je dan niet meteen van buiten te kennen.
Nou, dan verdiep je je in de (relevante) materie op 't moment dat 't mis gaat. Vandaar dat ik je op relevante materie wijs.
ekkoper schreef op woensdag 10 februari 2010 @ 15:01:
Daarbij vraag ik niet om een preek te krijgen, maar alleen of iemand mij kan vertellen wat ik nodig zou hebben.
Ah; u had graag het antwoord op een zilveren schaaltje voorgekauwd-en-wel copy/paste-baar gehad?
ekkoper schreef op woensdag 10 februari 2010 @ 15:01:
Ik vind het uiteraard heel fijn dat je reageert op m'n vraag en ik stel het zeer op prijs dat dit gebeurt, maar ik vind het van enige arrogantie betuigen als je van me eist dat ik eerst alles weet, voordat ik een vraag kan stellen.
We "eisen" hier wel dat je om z'n minst zélf moeite doet voordat je een topic opent. Dat staat ook in de Quickstart waar ik je op wees. En uit je topic haal ik 0,0 eigen inzet noch initiatief om je probleem op te lossen. Je plaatst je probleem en wij mogen een oplossing aandragen. Zo werkt het hier niet: Kan iemand even...?
ekkoper schreef op woensdag 10 februari 2010 @ 15:01:
Ik vraag ook helemaal niet om een kant-en-klaar antwoord of een volledig script. Het antwoord dat ik maar even alles te weten moet komen over charsets helpt dan niet echt. Uiteraard heb ik al een aantal manuals bekeken van PHP.net, maar als daar niet in besproken wordt wat ik zoek, heb ik daar weinig aan.
Het staat gewoon letterlijk op de pagina waar ik naar verwijs.
ekkoper schreef op woensdag 10 februari 2010 @ 15:01:
Het feit dat ik niet bij elk bericht meld dat ik al op 15 resultaten van Google heb gekeken en een aantal manuals van PHP.net heeft overigens in het geheel niets met de vraag te maken.
Nee, maar het helpt ook niet als je het niet in je topic vermeldt. Dan komen wij met diezelfde 15 resultaten aankakken die je dan al geprobeerd hebt. Alsof wij dat kunnen ruiken :?
ekkoper schreef op woensdag 10 februari 2010 @ 15:01:
Als ik deze niet duidelijk of uitgebreid genoeg formuleer, kan daarnaar gevraagd worden.
Het is juist de bedoeling dat je zelf met die info over de brug komt; niet dat wij het uit je moeten trekken.
ekkoper schreef op woensdag 10 februari 2010 @ 15:01:
Ik snap ook wel dat dit forum niet bedoeld is om op commando antwoorden op al je vragen te ontvangen en dat we er samen tot een oplossing proberen te komen. Het gaat me daarbij niet zo zeer om de gegeven informatie, maar vooral om de toon waarmee gereageerd wordt.
Welke toon :? Ik vertel je dat je wat kennis ontbeert en geef je een link naar een prima leesbaar en handig artikel dat in 1 klap al je problemen verklaart. Vervolgens geef ik je een link naar de manual waar letterlijk je oplossing staat. Wat wil je nou nog meer?

[ Voor 23% gewijzigd door RobIII op 10-02-2010 15:14 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • cariolive23
  • Registratie: Januari 2007
  • Laatst online: 18-10-2024
ekkoper schreef op woensdag 10 februari 2010 @ 15:01:
Ik zit niet zó diep in de materie dat ik ....
.... het wiel opnieuw wil gaan uitvinden.

Ga dan met PHPmailer of Swift Mailer aan de slag, die hebben jouw problemen al lang en breed opgelost. Daarnaast hebben ze problemen opgelost die jij nog niet hebt ontdekt.

8)7

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
ekkoper schreef op woensdag 10 februari 2010 @ 15:01:
Om een goed lopend script te maken, hoef je niet alles zelf van scratch te ontwikkelen. Ook hoef je echt niet alles zelf volledig te snappen. Natuurlijk is het handig om iets te begrijpen, voordat je er mee aan de slag gaat, maar dat hoef je dan niet meteen van buiten te kennen.
Maar ondanks dat je het niet snapt wil je het toch zelf maken? Bijna alles wat je wilt gaan maken heeft iemand (of een groep) allang beter gemaakt dan jij. Zeker als het aankomt op mailtjes sturen ;) Neem RobIII z'n advies ter harte en download PHPMailer (of Swiftmailer, of Zend_Mail).

Overigens ben ik van mening dat als je zelf iets van scratch ontwikkelt je zeker wel moet weten waar je mee bezig bent.

Acties:
  • 0 Henk 'm!

  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
Als je zelf iets van scratch wil doen, verdiep je dan iig in de relevante RFCs waarin duidelijk wordt beschreven aan welke eisen headers moeten voldoen en waaruit dan ook duidelijk blijkt dat jouw headers dat niet doen.

Hint: RFC5322

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Als ik me niet vergis RFC5335 2047.

[ Voor 12% gewijzigd door RobIII op 10-02-2010 20:04 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Mephix
  • Registratie: Augustus 2001
  • Laatst online: 15-03 08:21
*Laat dat maar aan de mods over*

[ Voor 85% gewijzigd door RobIII op 10-02-2010 21:03 ]


  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
RFC 5322 verwijst naar RFC 2047. Ik verwees naar RFC 5322 omdat die de reden vermeldt waarom extended ASCII of UTF-8 karakters boven 127 niet werken (specifiek in paragraaf 2.1).
Pagina: 1