Synology-Forum.nl
Overige software => Web Station => Topic gestart door: a.m.j.janssen op 26 augustus 2020, 12:07:07
-
Hallo,
Ik wil vanuit php een stukje tekst van een email bijv vet maken. De tekst wordt opgebouwd in een variabele.
Als ik de tekst echo op het scherm werkt dat prima, maar niet als ik de tekst mail via "mailto:".
De tekst insluiten tussen <b> en </b> werkt ïn het laatste geval niet, de controlekarakters <b> en </b> worden als zodanig weergegeven ipv de tekst vet te maken. Hoe kan ik dit oplossen?
Mvg
-
Ben je er wel zeker van dat je de E-mail verstuurt in html format, inclusief de juiste headers, en niet als platte tekst?
Zie bijv. hier (https://www.tutorialrepublic.com/php-tutorial/php-send-email.php#:~:text=%3C%3F-,php%20%24to%20%3D%20'maryjane%40email.com'%3B,%2F%2F%20Create%20email%20headers%20%24headers%20.).
-
Hoi Plerry,
ik gebruik mailto: (dus niet het mail-commando van php). Je hebt gelijk: het bericht zelf als platte tekst.
Is het voldoende als ik dat bericht mbv php 'ínpak' als html-bericht, dus omgeven door <html>....enz...</html> ?
In het mail-commando waar je op wijst staat:
Note: However, the PHP mail() function is a part of the PHP core but you need to set up a mail server on your machine to make it really work.
Betekent dat dat ik een mailserver op de nas moet inrichten om dit te laten werken?
Kan dat niet via de mail-client van de gebruiker?
Mvg
-
Ik ken geen PHP "mailto:" commando. Mopgelijk is dat een te installeren extensie.
Maar ik vermoed dat als <b>...</b> niet werkt zoals bedoeld, dat (zoals jij het noemt)
'ínpakken' als html-bericht, dus omgeven door <html>....enz...</html>, ook niet werkt.
Je zal denk ik echt moeten zorgen dat de ontvanger weet dat er een html bericht binnenkomt
en geen platte tekst, wat de default is.
De manier om dat te doen is het meesturen van een juiste header.
Maar ... : proberen kan (hier) geen kwaad.
-
‘mailto:’ zorgt er volgens mij voor dat het desbetreffende OS weet dat er een mail verstuurd moet worden en voert dit dan uit met de default app.
-
mailto: is html code.
Als ik onderstaande code gebruik, krijg ik de <b> netjes in het bericht.
<a href="mailto:endpointadress[member=15997]something[/member].com?cc=endpointadress2[member=15997]something[/member].com&subject=your subject&body=Text before new line.%0D%0AText after <b>new line</b>.">create email</a>
Origineel antwoord hier :
https://stackoverflow.com/questions/15019689/html-insert-line-break-in-email-subject-like-20-is-a-space
-
:P :P :P @Wyodor Dat krijg je als je een gebruikersnaam als 'something' kiest. Je krijgt dan heel veel ongewenste mentions. Of niet @something ?
Toevallig liep ik hier dit weekend tegenaan bij iemand die zich "@NAS" noemde.
-
mailto: is html code.
Ah! Het gaat hier kennelijk over de mailto: (protocol)handler.
Op zich is om het even welke (protocol)handler geen html, maar kan wel binnen html in een href= worden opgenomen.
(Zoals daar meestal de http: of https: (protocol)handler wordt gebruikt, maar soms bijv. ook een tel: handler die via een dialer applicatie (of eigen script) een telefoonnummer kiest). (Protocol)handlers zijn ook volkomen ongerelateerd aan PHP.
Of een degelijke mailto: (met binnen de message-body html-tags) werkt als bedoeld, hangt af van via welke mail applicatie de mailto: handler is geconfigureerd de mail te versturen. En eventueel van wat de instellingen van die mail applicatie zijn.
Het zal dus niet altijd automatisch goed (zoals gewenst) gaan.
-
Mailto is praktisch maar kent zeker zijn beperkingen, omdat die inderdaad het default mailprogramma van het gebruikte device gebruikt. En die verschillen nogal eens van elkaar of zijn niet geinstalleerd (bv. op mobiel / tablet waar geen mail op wordt ontvangen).
Daarnaast zijn de mogelijkheden voor bv. de lengte van de bodytekst beperkt. Sommige clients kappen die tekst na bv 256 tekens af.
Voor de mailfunctie vanuit PHP moet je wel wat meer inrichten en programmeren maar het is zeker de betere optie.