Ga naar inhoud
  • 0

Your message contains invalid characters (bare line feed characters) which the email servers at XXX don't support


Donamd

Vraag

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 ?

Link naar reactie

10 antwoorden op deze vraag

Aanbevolen berichten

  • 0

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.

Link naar reactie
  • 0

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)

Link naar reactie
  • 0

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.

Link naar reactie
  • 0

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.

Link naar reactie
  • 0

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.

Link naar reactie
  • 0

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.

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...