PureBasic

Forums PureBasic
Nous sommes le Jeu 25/Avr/2019 17:00

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 10 messages ] 
Auteur Message
 Sujet du message: Lancer la messagerie mail avec sujet texte et pièce jointe
MessagePosté: Mer 09/Jan/2019 18:22 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 28/Jan/2009 13:28
Messages: 48
Bonjour

Je voudrais lancer depuis une application PureBasic le logiciel Mail avec un sujet, un corps de texte, et une pièce jointe. (vers un seul correspondant).

Comment dois je lancer la commande runprogram() et avec quels paramètres ?

Merci d'avance,

Phil

_________________
Philippe GEORGES
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Lancer la messagerie mail avec sujet texte et pièce join
MessagePosté: Mer 09/Jan/2019 19:02 
Hors ligne

Inscription: Jeu 07/Juin/2007 22:54
Messages: 261
Bonjour Philippe,
Je ne crois pas qu'il y ai grand utilisateurs de PB sous OS-X sur le forum français, je t'invite fortement à aller poser ta question sur le forum US, tu auras plus de chance d'obtenire ce que tu cherches.

Bonne recherche à toi !


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Lancer la messagerie mail avec sujet texte et pièce join
MessagePosté: Mer 09/Jan/2019 19:05 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 24/Aoû/2005 10:42
Messages: 449
Bonjour,
il est possible de lancer l'application Mail avec la commande RunProgram suivante :
Code:
RunProgram("open", "-a Mail.app","")

Par contre, manifestement, l'application n'accepte pas de paramètres
Je ne vois donc pas trop comment générer un nouveau mail avec un destinataire et une pièce jointe....

Essaie éventuellement de poser la question sur le forum anglais, peut-être y a t'il une solution avec les API....

_________________
Bureau : Win10 64bits
Maison : Macbook Pro 13" Retina / SSD 512 Go / Ram 16 Go - iPad Pro 32 Go (pour madame) - iPhone X 256 Go


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Lancer la messagerie mail avec sujet texte et pièce join
MessagePosté: Mer 09/Jan/2019 20:31 
Hors ligne

Inscription: Sam 08/Fév/2014 15:19
Messages: 1528
Un mailto ne fonctionne pas sous mac os ?
Sur pc, un simple RunProgram("mailto:nom@fournisseur?subject=xxxx&body=yyyy") et autres paramètres suffit. (sauf pour mettre une pièce jointe)
(Je n'ai pas de mac)
:wink:

_________________
http://mdacme.com


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Lancer la messagerie mail avec sujet texte et pièce join
MessagePosté: Jeu 10/Jan/2019 18:50 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 24/Aoû/2005 10:42
Messages: 449
Voici une solution en utilisant Applescript
Pour le moment, ça n'ouvre qu'un nouveau mail sans renseigner ni destinataire, ni sujet.. J'y travaille
Merci à Wilbert du forum anglais pour la procédure AppleScript :wink:

Code:
Procedure.s AppleScript(Script.s)
  Protected retVal.s, strVal, numItems, i
  Protected aScript = CocoaMessage(0, CocoaMessage(0, CocoaMessage(0, 0, "NSAppleScript alloc"), "initWithSource:$", @Script), "autorelease")
  Protected eventDesc = CocoaMessage(0, aScript, "executeAndReturnError:", #nil)
  If eventDesc
    numItems = CocoaMessage(0, eventDesc, "numberOfItems")
    If numItems
      For i = 1 To numItems
        strVal = CocoaMessage(0, CocoaMessage(0, eventDesc, "descriptorAtIndex:", i), "stringValue")
        If strVal
          retVal + PeekS(CocoaMessage(0, strVal, "UTF8String"), -1, #PB_UTF8)
          If i <> numItems : retVal + #LF$ : EndIf
        EndIf
      Next
    Else
      strVal = CocoaMessage(0, eventDesc, "stringValue")
      If strVal : retVal = PeekS(CocoaMessage(0, strVal, "UTF8String"), -1, #PB_UTF8) : EndIf
    EndIf
  EndIf
  ProcedureReturn retVal
EndProcedure


AppleScript("tell application " + Chr(34) + "Mail" + Chr(34) + #CRLF$+" set t To make new outgoing message "+#CRLF$ +"set visible of t To true"+#CRLF$+"activate"+#CRLF$+"End Tell")

_________________
Bureau : Win10 64bits
Maison : Macbook Pro 13" Retina / SSD 512 Go / Ram 16 Go - iPad Pro 32 Go (pour madame) - iPhone X 256 Go


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Lancer la messagerie mail avec sujet texte et pièce join
MessagePosté: Jeu 10/Jan/2019 21:48 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 24/Aoû/2005 10:42
Messages: 449
Et voilà la version avec le mail du destinataire, son nom, le sujet et le contenu du mail. Pour les pièces jointes, je sèche pour le moment...

Code:
Procedure.s AppleScript(Script.s)
  Protected retVal.s, strVal, numItems, i
  Protected aScript = CocoaMessage(0, CocoaMessage(0, CocoaMessage(0, 0, "NSAppleScript alloc"), "initWithSource:$", @Script), "autorelease")
  Protected eventDesc = CocoaMessage(0, aScript, "executeAndReturnError:", #nil)
  If eventDesc
    numItems = CocoaMessage(0, eventDesc, "numberOfItems")
    If numItems
      For i = 1 To numItems
        strVal = CocoaMessage(0, CocoaMessage(0, eventDesc, "descriptorAtIndex:", i), "stringValue")
        If strVal
          retVal + PeekS(CocoaMessage(0, strVal, "UTF8String"), -1, #PB_UTF8)
          If i <> numItems : retVal + #LF$ : EndIf
        EndIf
      Next
    Else
      strVal = CocoaMessage(0, eventDesc, "stringValue")
      If strVal : retVal = PeekS(CocoaMessage(0, strVal, "UTF8String"), -1, #PB_UTF8) : EndIf
    EndIf
  EndIf
  ProcedureReturn retVal
EndProcedure

sujet$ = "Sujet"
nom$ = "Toto"
dest$ = "Destinataire@toto.com"
Contenu$ = "Bla Bla bla"

script$ = "Tell Application " + Chr(34) + "Mail" + Chr(34) + #CRLF$
script$ = script$ + "set newMessage to make new outgoing message with properties {subject:"+Chr(34)+sujet$+Chr(34)+", content:"+Chr(34)+Contenu$+Chr(34)+" & Return & Return}"+#CRLF$
script$ = script$ + "tell newMessage" + #CRLF$
script$ = script$ + "set visible to true" + #CRLF$
script$ = script$ + "make new to recipient at end of to recipients with properties {name:"+Chr(34)+nom$+Chr(34)+", address:"+Chr(34)+dest$+Chr(34)+"}" + #CRLF$
script$ = script$ + "end tell" + #CRLF$
script$ = script$ + "activate" + #CRLF$
script$ = script$ + "End Tell" + #CRLF$

AppleScript(script$)

_________________
Bureau : Win10 64bits
Maison : Macbook Pro 13" Retina / SSD 512 Go / Ram 16 Go - iPad Pro 32 Go (pour madame) - iPhone X 256 Go


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Lancer la messagerie mail avec sujet texte et pièce join
MessagePosté: Sam 12/Jan/2019 14:58 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 28/Jan/2009 13:28
Messages: 48
Merci beaucoup, je vais tester tout ça !

Pour les pièces jointes, je crains que se soit impossible....

_________________
Philippe GEORGES
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Lancer la messagerie mail avec sujet texte et pièce join
MessagePosté: Sam 12/Jan/2019 18:04 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 24/Aoû/2005 10:42
Messages: 449
En Applescript, ça fonctionne (les pièces jointes)
Mais le script Applescript, lancé par la procédure AppleScript() (vous me suivez ? :mrgreen: ) n'insère pas la pièce jointe. Je ne comprends pas pourquoi...

_________________
Bureau : Win10 64bits
Maison : Macbook Pro 13" Retina / SSD 512 Go / Ram 16 Go - iPad Pro 32 Go (pour madame) - iPhone X 256 Go


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Lancer la messagerie mail avec sujet texte et pièce join
MessagePosté: Sam 12/Jan/2019 19:11 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 11/Fév/2005 17:34
Messages: 4203
Localisation: Arras, France
Quelques pistes ici : https://stackoverflow.com/questions/182 ... pt#1940937


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Lancer la messagerie mail avec sujet texte et pièce join
MessagePosté: Sam 12/Jan/2019 20:06 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 24/Aoû/2005 10:42
Messages: 449
Oui mais ce que veut Philippe, c'est lancer l'application Mail sur son Mac en créant un nouveau message et en renseignant le destinataire, le sujet et insérer une pièce jointe...
Sinon, l'envoi de mail via les commandes natives de PB fonctionne très bien

_________________
Bureau : Win10 64bits
Maison : Macbook Pro 13" Retina / SSD 512 Go / Ram 16 Go - iPad Pro 32 Go (pour madame) - iPhone X 256 Go


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 10 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye