Ik heb een raar probleem waar ik eigenlijk al vaker tegen aangelopen ben, maar nooit echt een oplossing/oorzaak van heb kunnen vinden.
Als ik via de php mail functie een tekst verstuur met html opmaak, worden bepaalde tekens random toegevoegd/vervangen.
Als ik bijvoorbeeld dit bericht verstuur:
$tekst = 'Dit is een test <br />';
$tekst .= '<b>Dik gedrukte tekst</b>';
Dan wordt en soms een spatie tussen het bold teken geplaatst, waardoor de code niet werkt, en de html code zichtbaar wordt, dus: bijv: </ b> het rare is dat het niet altijd het geval is. Ook komen er spontaan "!" tekens op random plaatsen in het bericht.
Hier zie ik een post van iemand met hetzelfde probleem:
http://www.webdeveloper.com/forum/showthread.php?t=213686
Echter geen oplossing..
Iemand die hier ervaring mee heeft?? :)
- PHP mail()
-
21-09-2011, 13:25 #1
- Berichten
- 506
- Lid sinds
- 16 Jaar
PHP mail()
-
21-09-2011, 14:09 #2
- Berichten
- 587
- Lid sinds
- 16 Jaar
Re: PHP mail()
Bedoel je dan als je de mail bekijkt in je email client? (Of werkelijk bij het verzenden van de mail?)
-
21-09-2011, 14:32 #3
- Berichten
- 506
- Lid sinds
- 16 Jaar
Re: PHP mail()
Bij het kijken in de cliënt.
-
21-09-2011, 14:50 #4
- Berichten
- 558
- Lid sinds
- 16 Jaar
Re: PHP mail()
De oplossing wordt gegeven in de link die je opgeeft (http://www.webdeveloper.com/forum/sh...d.php?t=213686)
OK You're absolutely right, it appears to be a line break, not a space. Now I just need to figure out how to fix it.
Maximum line length:
TheL=deliveryagentequateisusedto limitthelengthoftextlines inthebodyofamail
message. Ifthisequate isomittedand ifthedeliveryagenthastheobsoleteF=Ldelivery
agentflagset(§20.8.33),sendmaildefaultstoSMTPLINEL IM(990)asdefined inconf.h
(§3.4.58).IftheF=L isclear(as itis inmodernconfigurationfiles),sendmaildefaultsto0
(whichmeansanunlimited line length).TheF=L ishonoredforcompatibilitywitholder
versions ofsendmail that lack thisL= delivery agent equate.
Limitingline lengthcausesoverlylonglinestobesplit.Whenanoutputl ine issplit,the
textuptothesplitisfirsttransmitted,followedbythe!c haracter.Afterthat,thecharac-
tersdefinedbytheE=deliveryagentequatearetransmitte d.Alinecanbesplitintotwoor
more pieces. For example, consider the following text from the body of a mail message:
The maximum line length for SMTP mail is 990 characters.
A delivery agent speaks SMTP when the $u sendmail macro
is omitted from the A= equate.
A delivery agent could limit line length to 20 characters with a declaration of:
L=20
Withthat limit,theprecedingtextwouldbesplitduringtransmissi on intothefollowing
lines:
The maximum line len!
gth for SMTP mail is!
990 characters.
A delivery agent spe!
aks SMTP when the $u!
sendmail macro
is omitted from the !
A= equate.
Limitingthelinelengthcanbeusefulforprogramsthatcan ’thandlelonglines,suchasa
40-characterbrailleprint-drivingprogram.(Butsuchconversionstoshorterlinesar eprob-
ably best left to the specialty delivery agent.)
ThisdeliveryagentequateisusuallyusedwithUUCPagents ,wherethecostoftelephone
connections isofconcern. Itcanalsoproveuseful inmailtofiles,wherediskspace is
limited
-
21-09-2011, 15:06 #5
- Berichten
- 506
- Lid sinds
- 16 Jaar
Re: PHP mail()
Oke, om de zoveel karakters breekt hij het bericht dus af en plaats hij dus een linebreak.
Maar hoe los ik dit op aan de kant van het php script ?
-
21-09-2011, 15:20 #6
- Berichten
- 558
- Lid sinds
- 16 Jaar
Re: PHP mail()
Ergens in de config file is er een line length opgegeven. Deze waarde dien je dan te wijzigen naar 0 wat voor 'unlimited line length' staat.
Zie ook: http://www.unix.com/unix-advanced-ex...ne-length.html
En http://www.phwinfo.com/forum/comp-ma...ne-length.html
aan de kant van de php script kun je dit volgens mij alleen oplossen door een korter bericht te sturen
-
21-09-2011, 15:25 #7
- Berichten
- 506
- Lid sinds
- 16 Jaar
Re: PHP mail()
Ergens in de config file is er een line length opgegeven. Deze waarde dien je dan te wijzigen naar 0 wat voor 'unlimited line length' staat.
Zie ook: http://www.unix.com/unix-advanced-ex...ne-length.html
En http://www.phwinfo.com/forum/comp-ma...ne-length.html
aan de kant van de php script kun je dit volgens mij alleen oplossen door een korter bericht te sturen
Aanvullend bericht:
Ik heb inmiddels ook dit artikel gevonden:
http://objectmix.com/sendmail/784287...ne-length.html
Hier lees ik dat het is sowieso niet verstandig om je sendmail aan te passen, gezien andere mailservers je mail dan kunnen blokkeren omdat je niet aan de standaard voldoet. Er wordt aangegeven dat je de juiste mime header mee moet geven. Echter is het me niet duidelijk welke dit zijn.. Ik gebruik overigens phpmailer. (maar met de standaard php mail() functie heb ik dezelfde issues)
Als ik ga zoeken naar html mime types en phpmailer kom ik weinig info tegen..
Is er iemand die me in de goede richting kan duwen? :)Laatst aangepast door Michel Willemse : 22-09-2011 om 08:40 Reden: Automatisch samengevoegd.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic