Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/10/2017, à 10:15

magdayde

utilisation de curl pour envoi de mail avec pièces jointes

Bonjour,


J'utilise curl pour envoyer des mails, en passant par l'API Orange de la manière suivante :

curl.exe -o FicRetour.log -k -v -X POST -d @request.xml [url]https://www.api-contact-everyone.fr[/url]....ltiDiffusionWS -H "Content-Type: text/xml; charset=UTF-8" -H "SOAPAction: "sendAdvancedMessage"" -H "Accept: */*" -H "Accept-Encoding: identity" -H "User-Agent: CURLTransport/1.1"

le fichier request.xml :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mul="MultiDiffusionWS">
<soapenv:Header>
</soapenv:Header>
<soapenv:Body>
<mul:sendAdvancedMessage>
<mul:wsAdvancedMessage>
<mul:content>essai envoi mail</mul:content>
<mul:custId>dddddd</mul:custId>
<mul:from>yyyyy</mul:from>
<mul:fullContenu>false</mul:fullContenu>
<mul:mailReplyTo>pasdereponse@xxxx.fr</mul:mailReplyTo>
<mul:orgName>1</mul:orgName>
<mul:resumeContent>194</mul:resumeContent>
<mul:sendProfiles>&lt;?xml version='1.0' encoding='ISO-8859-1'?&gt;
&lt;PROFILE_LIST&gt;
&lt;PROFILE&gt;
&lt;DEST_NAME&gt;jjj.kkk@kkk.fr&lt;/DEST_NAME&gt;
&lt;DEST_FORENAME&gt;&lt;/DEST_FORENAME&gt;
&lt;DEST_ID&gt;Dest_1&lt;/DEST_ID&gt;
&lt;TERMINAL_GROUP&gt;
&lt;TERMINAL&gt;
&lt;TERMINAL_NAME&gt;mail&lt;/TERMINAL_NAME&gt;
&lt;TERMINAL_ADDR&gt;XXXXXXXXXXXXX&lt;/TERMINAL_ADDR&gt;
&lt;MEDIA_TYPE_GROUP&gt;
&lt;MEDIA_TYPE&gt;mail_html&lt;/MEDIA_TYPE&gt;
&lt;/MEDIA_TYPE_GROUP&gt;
&lt;/TERMINAL&gt;
&lt;/TERMINAL_GROUP&gt;
&lt;/PROFILE&gt;
&lt;/PROFILE_LIST&gt;</mul:sendProfiles>
<mul:strategy>mail</mul:strategy>
<mul:subject>essai mail</mul:subject>
<mul:to>XXXXXXXXXXXXXXXXXXXXXXXXXXX</mul:to>
<mul:validFaxReplyTo>false</mul:validFaxReplyTo>
<mul:validFormatMailReplyTo>false</mul:validFormatMailReplyTo>
<mul:validMaxStartCall>false</mul:validMaxStartCall>
<mul:validMinStartCall>false</mul:validMinStartCall>
<mul:validSmsReplyTo>false</mul:validSmsReplyTo>
<mul:validTelReplyTo>false</mul:validTelReplyTo>
</mul:wsAdvancedMessage>
</mul:sendAdvancedMessage>
</soapenv:Body>
</soapenv:Envelope>

çà fonctionne très bien sauf que je veux insérer une pièce jointe à ce mail.

Quand j'utilise le logiciel soapui, aucun souci; il me génére ceci en retour et je n'arrive pas à le transposer avec CURL.
J'ai bien compris qu'il fallait utiliser curl -H....." pour les headers mais je ne sais pas comment déclarer le fichier que je veux joindre


POST [url]https://www.api-contact-everyone.fr[/url]....ltiDiffusionWS HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: multipart/related; type="text/xml"; start="<rootpart@soapui.org>"; boundary="----=_Part_2_1492295307.1508757055602"
SOAPAction: ""
MIME-Version: 1.0
Content-Length: 2770
Host: [url=http://www.api-contact-everyone.fr.orange-business.com]www.api-contact-everyone.fr.orange-business.com[/url]
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)


------=_Part_2_1492295307.1508757055602
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <rootpart@soapui.org>

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mul="MultiDiffusionWS">
<soapenv:Header>
</soapenv:Header>
<soapenv:Body>
<mul:sendAdvancedMessage>
<mul:wsAdvancedMessage>
<mul:content>essai envoi mail</mul:content>
<mul:custId>XXXXXXXXXXXXXXXX</mul:custId>
<mul:from>XXXXXXXXXXXXXXX</mul:from>
<mul:fullContenu>false</mul:fullContenu>
<mul:mailReplyTo>XXXXXXXXXXXXXXXXXXXXXXX</mul:mailReplyTo>
<mul:orgName>1</mul:orgName>
<mul:resumeContent>194</mul:resumeContent>
<mul:sendProfiles><![CDATA[<?xml version='1.0' encoding='ISO-8859-1'?>
<PROFILE_LIST>
<PROFILE>
<DEST_NAME>XXXXXXXXXXXXXXX</DEST_NAME>
<DEST_FORENAME></DEST_FORENAME>
<DEST_ID>Dest_1</DEST_ID>
<TERMINAL_GROUP>
<TERMINAL>
<TERMINAL_NAME>mail</TERMINAL_NAME>
<TERMINAL_ADDR>XXXXXXXXXXXXXXXXXXX</TERMINAL_ADDR>
<MEDIA_TYPE_GROUP>
<MEDIA_TYPE>mail_html</MEDIA_TYPE>
</MEDIA_TYPE_GROUP>
</TERMINAL>
</TERMINAL_GROUP>
</PROFILE>
</PROFILE_LIST>]]></mul:sendProfiles>
<mul:strategy>mail</mul:strategy>
<mul:subject>essai mail</mul:subject>
<mul:to>XXXXXXXXXXXXXXXXXXXX</mul:to>
<mul:validFaxReplyTo>false</mul:validFaxReplyTo>
<mul:validFormatMailReplyTo>false</mul:validFormatMailReplyTo>
<mul:validMaxStartCall>false</mul:validMaxStartCall>
<mul:validMinStartCall>false</mul:validMinStartCall>
<mul:validSmsReplyTo>false</mul:validSmsReplyTo>
<mul:validTelReplyTo>false</mul:validTelReplyTo>
</mul:wsAdvancedMessage>
</mul:sendAdvancedMessage>
</soapenv:Body>
</soapenv:Envelope>
------=_Part_2_1492295307.1508757055602
Content-Type: text/plain; charset=Cp1252; name=envoimail.txt
Content-Transfer-Encoding: quoted-printable
Content-ID: <mdws-attached/envoimail.txt>
Content-Disposition: attachment; name="envoimail.txt"; filename="envoimail.txt"

Ceci est le texte =E0 envoyer par mail en piece jointe
------=_Part_2_1492295307.1508757055602--

Est-ce que quelqu"un pourrait m'aider svp.

Merci


Modération : merci d'utiliser les balises code (explications ici).

Dernière modification par cqfd93 (Le 24/10/2017, à 10:25)

Hors ligne

#2 Le 24/10/2017, à 10:27

Brunod

Re : utilisation de curl pour envoi de mail avec pièces jointes

magdayde a écrit :

Bonjour,
J'utilise curl pour envoyer des mails, en passant par l'API Orange de la manière suivante :

curl.exe -o FicRetour.log -k -v -X POST -d @request.xml [url]https://www.api-contact-everyone.fr[/url]....ltiDiffusionWS -H "Content-Type: text/xml; charset=UTF-8" -H "SOAPAction: "sendAdvancedMessage"" -H "Accept: */*" -H "Accept-Encoding: identity" -H "User-Agent: CURLTransport/1.1"

...
Est-ce que quelqu"un pourrait m'aider svp.
Merci

curl.exe, sur Linux, c'est bizarre...

Dernière modification par Brunod (Le 24/10/2017, à 10:28)


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis

Hors ligne