andre65 Posted February 13, 2019 Share Posted February 13, 2019 Hi, Ben al een tijdje bezig om via Curl te mailen via mailgun. Dit omdat je hiermee wat meer kan meegeven zoals TAGs. Ik krijg het maar niet voor elkaar, wel met postman !! Met postman ziet het er als volgt uit, maar krijg het niet werkend in FileMaker.curl -X POST \ https://api:key@api.mailgun.net/v3/mailgun.domijn.nl/messages \ -H 'Content-Type: application/x-www-form-urlencoded' \ -H 'Postman-Token: 4a08747e-xxx-xxxx-xxxxx-xxxxxxxx' \ -H 'cache-control: no-cache' \ -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \ -F from=noreply@domijn.nl \ -F to=info@domijn.nl \ -F 'subject=Het subject' \ -F 'text=Hallo allemaal' Iemand al eens een succes geboekt? Met vriendelijke groet, Andre Quote Link to comment
0 menno Posted February 14, 2019 Share Posted February 14, 2019 Hoe heb je dit cURL commando in FM vertaald? Daar zitten mogelijk fouten in, kan je die ook even posten? Quote Link to comment
0 andre65 Posted February 14, 2019 Author Share Posted February 14, 2019 (edited) Ik heb al zoveel variaties geprobeerd, dat ik niet meer weet wat ik allemaal getest heb. Ik zie denk ik een dingetje over het hoofd of zit compleet fout. Google helpt mij ook al niet ? Variabele instellen [ $curl ; Waarde: "https://<<api_key>>@api.mailgun.net/v3/mailgun.mijndomein.nl/message" ] Invoegen vanuit URL [ Met dialoogvenster: Uit ; curl_test::curl_response ; "https://api:key-xxxxxxxxxxxxxxxx@api.mailgun.net/v3/mailgun.procent.nl/message" ; Opties voor cURL: " -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Postman-Token: 4a08747e-xxx-xxxx-xxxxx-xxxxxxxx' -H 'cache-control: no-cache' -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' -F from=noreply@mijndomein.nl -F to=info@mijndomein.nl -F 'subject=Het subject' -F 'text=Hallo allemaal' " ; URL niet automatisch coderen ] Edited February 14, 2019 by andre65 Quote Link to comment
0 menno Posted February 14, 2019 Share Posted February 14, 2019 Probeer dit eens als cURL-options: " -X POST -H \"Content-Type: application/x-www-form-urlencoded\" -H \"Postman-Token: 4a08747e-xxx-xxxx-xxxxx-xxxxxxxx\" -H \"cache-control: no-cache\" -H \"content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW\" -F \"from=noreply@mijndomein.nl\" -F \"to=info@mijndomein.nl\" -F \"subject=Het subject\" -F \"text=Hallo allemaal\"" Quote Link to comment
0 andre65 Posted February 14, 2019 Author Share Posted February 14, 2019 Enige wat ik steeds terug krijg als response is "Mailgun Magnificent API". Quote Link to comment
0 andre65 Posted February 14, 2019 Author Share Posted February 14, 2019 Ook uit de voorbeelden van Mailgun op https://documentation.mailgun.com/en/latest/api-sending.html#examples haal ik geen juiste werkwijze. Quote Link to comment
0 menno Posted February 14, 2019 Share Posted February 14, 2019 Kijk even naar deze oplossingsrichting: https://community.filemaker.com/thread/155766#comment-776228 Quote Link to comment
0 andre65 Posted February 15, 2019 Author Share Posted February 15, 2019 Gevonden... ? Enkel nog niet gelukt om HTML te versturen, maar dat is nog een hobbeltje "-X POST \ --fm-text-encoding utf-8 \ -H 'Content-Type: application/x-www-form-urlencoded' \ -F from="& curl_test::t_from &" \ -F to="& curl_test::t_to &" \ -F subject="& curl_test::t_subject &" \ -F text="& curl_test::t_text &" \ " Quote Link to comment
0 andre65 Posted October 7, 2020 Author Share Posted October 7, 2020 Wat mij niet lukt is een aan bijlage meesturen vanuit een container. Bewaar de file ($file1) in de tijdelijk folder... alleen krijg het niet voor elkaar om een bijlage eraan te knopen.. Iemand dit al wel gelukt? " --fm-text-encoding utf-8 -d \"from=" & $van & "\" -d \"to=" & $aan & "\" -d \"subject=" & $subject & "\" -d \"html=" & $html & "\" -d \"text=" & $tekst & "\" -d \"o:tag=" & $tag & "\" -d \"tag='" & $tag & "'\" -d \"o:tracking-opens='" & "True" & "'\" -d \"attachment=" & $file1 & " " ---- het script ----- # Verstuur in file API_mail Veld instellen [ API_mail::gt_mail_result ; "" ] # Variabele instellen [ $van ; Waarde: API_instellingen::t_account ] # Variabele instellen [ $aan ; Waarde: API_mail::t_aan ] Variabele instellen [ $subject ; Waarde: API_mail::t_subject ] Variabele instellen [ $html ; Waarde: API_mail::gt_html ] Variabele instellen [ $tekst ; Waarde: API_mail::gt_tekst ] Variabele instellen [ $tag ; Waarde: If ( API_mail::t_mail_tag = "" ; "algemeen" ; API_mail::t_mail_tag ) ] # Variabele instellen [ $file1 ; Waarde: Get(TijdelijkPad) & API_bijlagen::ct_bijlage1 ] Veldinhoud exporteren [ API_bijlagen::con_bijlage1 ; “$file1” ; Mappen maken: Uit ] # Variabele instellen [ $$r ; Waarde: " --fm-text-encoding utf-8 -d \"from=" & $van & "\" -d \"to=" & $aan & "\" -d \"subject=" & $subject & "\" -d \"html=" & $html & "\" -d \"text=" & $tekst & "\" -d \"o:tag=" & $tag & "\" -d \"tag='" & $tag & "'\" -d \"o:tracking-ope… ] Invoegen vanuit URL [ Met dialoogvenster: Uit ; Doel: API_mail::gt_mail_result ; API_instellingen::ct_url ; Opties voor cURL: $$r ; URL niet automatisch coderen ] Ga naar veld [] # # Log Quote Link to comment
0 menno Posted October 7, 2020 Share Posted October 7, 2020 Ik gebruik zelf mailgun niet, maar heb even naar de documentatie van Mailgun en FM gekeken: Dit zegt de documentatie van mailgun: https://documentation.mailgun.com/en/latest/api-sending.html#examples curl -s --user 'api:YOUR_API_KEY' \ https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages \ -F from='Excited User <YOU@YOUR_DOMAIN_NAME>' \ -F to='foo@example.com' \ -F cc='bar@example.com' \ -F bcc='baz@example.com' \ -F subject='Hello' \ -F text='Testing some Mailgun awesomness!' \ --form-string html='<html>HTML version of the body</html> En dit zegt de documentatie van FileMaker: https://help.claris.com/en/pro-help/#page/FMP_Help%2Fcurl-options.html%23ww1118012 over --form of -F <name=content> or <name=@$[$]fmvariable> See table note 4. En bij note 4 staat: 4.Direct file access is replaced with a FileMaker variable prefixed by the @ character. de optie "-s" wordt niet door FM ondersteund, maar die mag je weglaten, want die zorgt er alleen voor dat de actie "silent" wordt uitgevoerd. Verder vind ik het geklooi met "escapen" altijd erg vervelend en laat ik daarom het liefst over aan FM door de quote-functie te gebruiken. Als je de opties in een list zet, dan vervang FileMaker deze ¶ zelf voor spaties, dus ook daar hoef je niet over na te denken. Ik zou dan met jouw variabelen tot de volgende manier komen: set-variable [ $result ] Let ( [ $url = "https://api.mailgun.net/v3/mailgun.domein.nl/messages" ; $file1 = Tabel::Containerveld ; $apikey = "key-xxxxxxxxxxxxxxx" ; $curlOptions = List ( "-X POST" ; "-FM-text-encoding utf-8" ; "-H " & Quote( "Content-Length: 0" ) ; "-H " & Quote ( "Content-Type: application/x-www-form-urlencoded" ) ; "--user " & Quote ( "api:" & $apikey ) ; "-F from=" & Quote ( $van ) ; "-F to=" & Quote ( $aan ) ; "-F subject=" & Quote ( $subject ) ; "--form-string html=" & Quote ( $html ) ; "-F text=" & Quote ( $tekst ) ; "-F o:tag=" & Quote ( $tag ) ; "-F o:tracking-opens=True" ; "-F attachment=@$file1" ) ] ; "" ) En vervolgens de "Insert from URL" uitvoeren De regel "-F attachment=@$file1" is geen fout, dit is de enig juiste manier voor FileMaker om (bestanden/payload)variabelen in de opties mee te nemen. Het werkt misschien soms met "-F attachment=" & $file1, maar volgens de documentatie van FM moet je het doen zoals in het voorbeeld. De "-H " & Quote( "Content-Length: 0" ) is misschien overbodig, maar omdat hier geen -d is gebruikt, is deze mogelijk nodig. Zoals ik al zei, ik heb Mailgun zelf nog niet gebruikt, alleen docu doorgenomen Ben benieuwd of dit voor je werkt ... Quote Link to comment
0 menno Posted October 9, 2020 Share Posted October 9, 2020 HM, heb het even geprobeerd met mijn eigen advies, maar zo simpel is het dus niet. Op de comaandline met cURL lukt het prima om berichten weg te sturen met mailgun, maar dat commando ombouwen en dan vanuit FM versturen dus niet. Ik heb zelfs het commando vanaf de commandline in een variable geslingerd en daar afgetrapt, maar dan gaat het altijd mis op de authenticatie. Met het toevoegen in de curloption van --trace $$trace --dump-header $$result krijg je een hele berg met informatie, maar het levert niks zinnigs op, alleen dat de credentials vanuit FM niet werken. Moet nog eens aandacgtig kijken in de docu, waar dat aan zou kunnen liggen. Nu begrijp ik ook dat jij met data-pakketjes werkt ipv met form-data Quote Link to comment
0 menno Posted October 10, 2020 Share Posted October 10, 2020 cURL in FileMaker kan tegenwoordig ook smtp babbelen en daar heeft Stu Dietz een mooi artikel over geschreven op het Blog van Skeleton Key Je kan daar ook een voorbeeld downoaden en dat werkt prima. Je hebt dan smtp-credentials van mailgun: https://app.eu.mailgun.com/app/sending/domains/[YOUR_MAILGUN_DOMAIN]/credentials nodig i.p.v. API-credentials en die vul je dan in bij de SMTP-config in het demo-bestand. Dit voorbeeld werkte bij mij out-of-the-box, maar ik vond het een beetje te gesegmenteerd opgezet en wilde het een stuk compacter hebben. Zodanig dat ik het gemakkelijker in mijn eigen oplossingen en bij klanten kan integreren in bestaande oplossingen, zonder meteen een extra bestand te moeten toevoegen. Kijk maar of je iets aan hebt SkeletonKeySMTPcURL_Aangepast.fmp12 Quote Link to comment
0 andre65 Posted October 14, 2020 Author Share Posted October 14, 2020 Menno, Dank je voor de uitgebreide informatie. Heb het nog niet voor elkaar met API, maar we blijven lekker door prutsen. SMTP werk ik al wel mee en dat gaat prima. Wat extra is bij API zijn de tag's en het uitgesteld mailen wat het interessanter maakt boven SMTP. Quote Link to comment
Question
andre65
Hi,
Ben al een tijdje bezig om via Curl te mailen via mailgun.
Dit omdat je hiermee wat meer kan meegeven zoals TAGs.
Ik krijg het maar niet voor elkaar, wel met postman !!
Met postman ziet het er als volgt uit, maar krijg het niet werkend in FileMaker.
curl -X POST \
https://api:key@api.mailgun.net/v3/mailgun.domijn.nl/messages \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Postman-Token: 4a08747e-xxx-xxxx-xxxxx-xxxxxxxx' \
-H 'cache-control: no-cache' \
-H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
-F from=noreply@domijn.nl \
-F to=info@domijn.nl \
-F 'subject=Het subject' \
-F 'text=Hallo allemaal'
Iemand al eens een succes geboekt?
Met vriendelijke groet,
Andre
Link to comment
12 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.