Donamd Posted August 3, 2020 Share Posted August 3, 2020 Ik ben wat aan het testen om Html mails te verzenden in met Filemaker 19 volgens voorbeelden met cURL die ik op internet gevonden heb. Ik dacht dat alles functioneerde omdat de test die ik verstuurde naar mij zelf, kwam netjes binnen. Nu stuur ik vandaag een eerste mail naar een leverancier en krijg ik volgende melding : Your message contains invalid characters (bare line feed characters) which the email servers at XXX don't support Ik heb intussen Substitute ( $text , "π" , '<br>" ) toegepast in het script maar zonder resultaat. Iemand een idee ? Quote Link to comment
0 Donamd Posted August 3, 2020 Author Share Posted August 3, 2020 Ik denk niet dat het probleem in de tekst zelf zit. Ik heb intussen de mail inhoud beperkt tot een minimum om hier mee te testen, maar het probleem blijft aanhouden. Hierna ziet U de broncode van de verzonden mail. <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Test Email</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body style="margin: 0; padding: 0;"> <table border="1" cellpadding="0" cellspacing="0" width="100%"> <tr> <td> Dit is een test ! </td> </tr> </table> </body> </html> Voor de integratie in mijn toepassing had ik een voorbeeld van Skeleton Key gevolgd. Ik heb nu naar de leverancier een test verstuurd vanuitde toepassing van Skeleton en krijg hier dezelfde fout. Het probleem zit dus niet in het gedeelte dat ik aangepast heb of in de inhoud van de mail, maar zit dus in het voorbeeld van Skeleton. Quote Link to comment
0 menno Posted August 4, 2020 Share Posted August 4, 2020 Ik heb net even het voorbeeldbestand van Skeleton Key gedownload en vervolgens 3 smtp-servers geconfigureerd: Gmail, Office365 en mijn lokale smtp-server. Vervolgens heb ik simpelweg alle voorbeeldjes uit het bestand gebruikt om te versturen via beide smtp-servers naar mijn gmail-account. Alles kwam zonder problemen aan, behalve dat via Office365 de mailtjes met attachments er allemaal een minuut of 2 extra over deden. Alle anderen kwamen vrijwel meteen binnen, dus er zullen onderweg wel attachments worden gecheckt oid. Er verscheen echter geen enkele foutmelding. Heb jij het voorbeeldbestand gebruikt of heb je de handleiding gevolgd en zelf de scripts etc. gebouwd? Substitute ( text ; "π" ; "<br>" ) Zal geen "foute" karakters weghalen, behalve π die je bijna nooit zal tegenkomen. Je hebt mogelijk last van tekst die is gekopiëerd uit een webbrowser en daar kunnen CRLF, LF, CR en allerlei "whitespaces" in staan waar je over valt. Die kan je het simpelste weghalen met: Susbtitute ( text ; [ Char ( 13 ) & Char ( 10 ) ; ¶ ] ; // CRLF [ Char ( 10 ) ; ¶ ] ; // LF [ Char ( 13 ) ; ¶ ] ; // CR [ ¶ ; "<br />" ] ; // Wordt html-return [ Char ( 11 ) ; " " ] ; // Line-tab [ Char ( 12 ) ; " " ] ; // Form-feed [ Char ( 32 ) ; " " ] ; // Standaard spatie [ Char ( 133 ) ; " " ] ; // Lijn overloop [ Char ( 160 ) ; " " ] ) // No-break spatie Zie https://stackoverflow.com/questions/1552749/difference-between-cr-lf-lf-and-cr-line-break-types om het verschil te kennen tussen de 3 line-breaks en zie voor de whitespaces bijvoorbeeld https://nl.wikipedia.org/wiki/Whitespace_(karakter) Quote Link to comment
0 Donamd Posted August 4, 2020 Author Share Posted August 4, 2020 Menno, ik heb met Patterncount de string die verstuurd wordt door Invoegen uit Url gecontroleerd op de verschillende karakters die U opgeeft. Enkel met Patterncount ( $text ; char(32)) vind ik dat deze 12 x zich voordoen. Als ik hier dan de Substitute op toe pas zoals hierna vermeld Substitute ( $text ; char(32) ; " " ) blijf ik toch steeds char ( 32 ) terug vinden omdat dit hetzelfde is. Of zie ik hier iets over het hoofd. Ik heb effectief met het voorbeeld bestand van Skeleton getest nadat ik de foutmelding gekregen had. Ik heb het nog nog even opnieuw geprobeerd en de fout blijft. Ik stuur je zodadelijk een PB met het mail adres van de bestemmeling. Kan U ook even van bij U uit proberen naar het mailadre. Zo kunnen we alvast uitsluiten of het probleem bij de ontvanger of de afzender zit. Quote Link to comment
0 menno Posted August 4, 2020 Share Posted August 4, 2020 Ik heb het geprobeerd te versturen naar het adres dat je me via de PB hebt gegeven en met smtp.office365.com krijg ik een reply van de mailserver dat het bericht niet kan worden doorgestuurd. Gebruik ik echter smtp.gmail.com dan gaat het blijkbaar wél goed en ook via mijn eigen smtp-server gaat het probleemloos. Het lijkt dus gerelateerd aan office365.com te zijn. Quote Link to comment
0 menno Posted August 4, 2020 Share Posted August 4, 2020 Voor alle duidelijkheid (ook voor de meelezers) de ontvangende mailserver heeft problemen met het doorsturen van het bericht. De smtp-server doen gewoon hun werk en nemen de berichten aan en versturen ze. Quote Link to comment
0 Donamd Posted August 4, 2020 Author Share Posted August 4, 2020 Ik heb ook nog wat aan het spelen geweest met een toepassing van DB Services om Html mails te versturen en hiermee lukt het blijkbaar wel zonder problemen. Een inline image toevoegen lukt me hiermee ook, maar ik ben nog aan het bekijken hoe ik hier een bijlage kan bij toevoegen. Dit is blijkbaar jammer genoeg niet voorzien bij het voorbeeld. Quote Link to comment
0 menno Posted August 4, 2020 Share Posted August 4, 2020 Ik heb inmiddels alle varianten van berichten getest en zelfs de meest simpele "Hello World!" als platte tekst mislukt al. Quote Link to comment
0 Donamd Posted August 4, 2020 Author Share Posted August 4, 2020 Hallo Menno, hier vind je dit voorbeeld https://dbservices.com/articles/send-filemaker-html-emails/ Quote Link to comment
0 menno Posted August 4, 2020 Share Posted August 4, 2020 SOLVED! In het script "Send Message" op regel 49 wordt de variabele $mail_file ingesteld met TextEncode ( $mail_content ; "utf-8" ; 3 ) Volgens de help van FMP op https://fmhelp.filemaker.com/help/18/fmp/en/#page/FMP_Help%2Ftextencode.html worden de line-endings waar de mailserver van jouw klant over klaagt ingesteld als Line feed (modern Mac, Unix/Linux standard) en dat is onjuist voor een windows-mailserver. Als je dus de instelling van de variabele wijzigt in: TextEncode ( $mail_content ; "utf-8" ; 4 ) gaat het verzenden wél goed. Quote Link to comment
0 Donamd Posted August 4, 2020 Author Share Posted August 4, 2020 Top Menno, dit blijkt inderdaad het probleem geweest te zijn. Hartelijk bedankt voor je assistentie. Quote Link to comment
Question
Donamd
Ik ben wat aan het testen om Html mails te verzenden in met Filemaker 19 volgens voorbeelden met cURL die ik op internet gevonden heb.
Ik dacht dat alles functioneerde omdat de test die ik verstuurde naar mij zelf, kwam netjes binnen.
Nu stuur ik vandaag een eerste mail naar een leverancier en krijg ik volgende melding :
Your message contains invalid characters (bare line feed characters) which the email servers at XXX don't support
Ik heb intussen
toegepast in het script maar zonder resultaat.
Iemand een idee ?
Link to comment
10 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.