Question
Envoi de mail via Outlook + liste destinataires
- Yann
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 8 ans 7 mois #24068
par Yann
Envoi de mail via Outlook + liste destinataires a été créé par Yann
Bonjour,
je début en powershell et je souhaiterais savoir comment récupérer des informations dans un fichiers txt contenant plusieurs informations
mon fichier txt est de ce type:
adressemaildestinataire * info1 * info2 * info3 * info4 * info5
ce fichier peut contenir plusieurs lignes
mon but est de récupérer l'adresse mail du destinataire pour lui envoyer la ligne avec les informations le concernant.
Merci pour votre aide
mon script pour l'envoie d email est celui ci:
$ol = New-Object -comObject Outlook.Application
gm -InputObject $ol
$mail = $ol.Session.OpenSharedItem(\"D:\FIC\NATCON\Pvcl1.msg\")
$mail.Forward()
$Mail.Recipients.Add(\"fred@bloggs.com\")
$Mail.Subject = \"Test Mail\"
$Mail.Body = \" Test Mail 22222 \"
$Mail.Send()
Message édité par: Arnaud, à: 22/08/17 09:35<br><br>Message édité par: Arnaud, à: 22/08/17 09:36
je début en powershell et je souhaiterais savoir comment récupérer des informations dans un fichiers txt contenant plusieurs informations
mon fichier txt est de ce type:
adressemaildestinataire * info1 * info2 * info3 * info4 * info5
ce fichier peut contenir plusieurs lignes
mon but est de récupérer l'adresse mail du destinataire pour lui envoyer la ligne avec les informations le concernant.
Merci pour votre aide
mon script pour l'envoie d email est celui ci:
$ol = New-Object -comObject Outlook.Application
gm -InputObject $ol
$mail = $ol.Session.OpenSharedItem(\"D:\FIC\NATCON\Pvcl1.msg\")
$mail.Forward()
$Mail.Recipients.Add(\"fred@bloggs.com\")
$Mail.Subject = \"Test Mail\"
$Mail.Body = \" Test Mail 22222 \"
$Mail.Send()
Message édité par: Arnaud, à: 22/08/17 09:35<br><br>Message édité par: Arnaud, à: 22/08/17 09:36
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 8 ans 7 mois #24073
par Philippe
Réponse de Philippe sur le sujet Re:envoie de mail via outlook + liste des destianatai
salut landu91
tu peut faire un truc comme ça :
$header = \"adressemaildestinataire\",\"info1\",\"info2\",\"info3\",\"info4\",\"info5\"
$lesdatas = Import-Csv \".\testscript\test2.txt\" -Header $header -delimiter \"*\"
foreach ($uneligne in $lesdatas) {
$ol = New-Object -comObject Outlook.Application
$mail = $ol.Session.OpenSharedItem(\"D:FICNATCONPvcl1.msg\")
$mail.Forward()
$Mail.Recipients.Add(\"fred@bloggs.com\")
$Mail.Subject = \"Test Mail\"
$Mail.Body = \" Test Mail 22222 \"
$Mail.Body += \"`n`rinformation 1 : \"+$uneligne.info1
$Mail.Body += \"`n`rinformation 2 : \"+$uneligne.info2
$Mail.Body += \"`n`rinformation 3 : \"+$uneligne.info3
$Mail.Body += \"`n`rinformation 4 : \"+$uneligne.info4
$Mail.Body += \"`n`rinformation 5 : \"+$uneligne.info5
$Mail.Send()
}
tu peut faire un truc comme ça :
$header = \"adressemaildestinataire\",\"info1\",\"info2\",\"info3\",\"info4\",\"info5\"
$lesdatas = Import-Csv \".\testscript\test2.txt\" -Header $header -delimiter \"*\"
foreach ($uneligne in $lesdatas) {
$ol = New-Object -comObject Outlook.Application
$mail = $ol.Session.OpenSharedItem(\"D:FICNATCONPvcl1.msg\")
$mail.Forward()
$Mail.Recipients.Add(\"fred@bloggs.com\")
$Mail.Subject = \"Test Mail\"
$Mail.Body = \" Test Mail 22222 \"
$Mail.Body += \"`n`rinformation 1 : \"+$uneligne.info1
$Mail.Body += \"`n`rinformation 2 : \"+$uneligne.info2
$Mail.Body += \"`n`rinformation 3 : \"+$uneligne.info3
$Mail.Body += \"`n`rinformation 4 : \"+$uneligne.info4
$Mail.Body += \"`n`rinformation 5 : \"+$uneligne.info5
$Mail.Send()
}
Connexion ou Créer un compte pour participer à la conversation.
- Yann
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 8 ans 7 mois #24079
par Yann
Réponse de Yann sur le sujet Re:envoie de mail via outlook + liste des destianatai
bonjour merci pour ton aide.
j'ai trouver également un autre moyen qui est celui ci:
$header = adressemaildestinataire\",\"info1\",\"info2\",\"info3\",\"info4\",\"info5\"
$lesdatas = Import-Csv \".testscripttest2.txt\" -Header $header -delimiter \"*\"
$lesdatas | out-file C:\\test2.txt -Encoding Unicode
#Start-Process Outlook
$o = New-Object -com Outlook.Application
$mail = $o.CreateItem(0)
#2 = high importance email header
$mail.importance = 1
$mail.subject = “bonjour“
$mail.body = \" message du jour\"
#for multiple email, use semi-colon ; to separate
$mail.To = “un@dest.com\"
$mail.Send()
# $o.Quit()
maintenant j'aimerais pouvoir envoyer un mail a chaque destinataire qui correspond a 1 ligne dans le fichier.
les destinataires correspondent a la colonne adressemaildestinataire
exemple du fichier source
adressemaildestinataire\",\"info1\",\"info2\",\"info3\",\"info4\",\"info5\"
1@dest.com,\"info1\",\"info2\",\"info3\",\"info4\",\"info5\"
2@dest.com,\"info1\",\"info2\",\"info3\",\"info4\",\"info5\"
...
10@dest.com,\"info1\",\"info2\",\"info3\",\"info4\",\"info5\"
dans chaque mail je voudrais avoir:
bonjour
voici les info du jour
1@dest.com,\"info1\",\"info2\",\"info3\",\"info4\",\"info5\"
cordialement.
j'ai trouver également un autre moyen qui est celui ci:
$header = adressemaildestinataire\",\"info1\",\"info2\",\"info3\",\"info4\",\"info5\"
$lesdatas = Import-Csv \".testscripttest2.txt\" -Header $header -delimiter \"*\"
$lesdatas | out-file C:\\test2.txt -Encoding Unicode
#Start-Process Outlook
$o = New-Object -com Outlook.Application
$mail = $o.CreateItem(0)
#2 = high importance email header
$mail.importance = 1
$mail.subject = “bonjour“
$mail.body = \" message du jour\"
#for multiple email, use semi-colon ; to separate
$mail.To = “un@dest.com\"
$mail.Send()
# $o.Quit()
maintenant j'aimerais pouvoir envoyer un mail a chaque destinataire qui correspond a 1 ligne dans le fichier.
les destinataires correspondent a la colonne adressemaildestinataire
exemple du fichier source
adressemaildestinataire\",\"info1\",\"info2\",\"info3\",\"info4\",\"info5\"
1@dest.com,\"info1\",\"info2\",\"info3\",\"info4\",\"info5\"
2@dest.com,\"info1\",\"info2\",\"info3\",\"info4\",\"info5\"
...
10@dest.com,\"info1\",\"info2\",\"info3\",\"info4\",\"info5\"
dans chaque mail je voudrais avoir:
bonjour
voici les info du jour
1@dest.com,\"info1\",\"info2\",\"info3\",\"info4\",\"info5\"
cordialement.
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 8 ans 7 mois #24080
par Philippe
Réponse de Philippe sur le sujet Re:envoie de mail via outlook + liste des destianatai
sais tu ce qu'est une boucle ?
Connexion ou Créer un compte pour participer à la conversation.
- Yann
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 8 ans 7 mois #24081
par Yann
Réponse de Yann sur le sujet Re:envoie de mail via outlook + liste des destianatai
oui mais je ne suis pas très doué en dev pour ne pas dire nul... mais j'essai de me soigner
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 8 ans 7 mois #24082
par Philippe

a tu testé le script que je t'est donner pour voir le résultat dans tes mails (Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.) ?!!
sinon mon premier est complet avec boucle et tous ce dont t'a besoin
il te faut simplement modifier certaine lignes pour :
- l'adresse de destination :
$Mail.Recipients.Add(\"fred@bloggs.com\") -> $Mail.Recipients.Add($uneligne.adressemaildestinataire)
- le sujet
$Mail.Subject = \"Test Mail\"
- le corps de l'email
$Mail.Body = \" Test Mail 22222 \" cette ligne est les lignes suivante
Réponse de Philippe sur le sujet Re:envoie de mail via outlook + liste des destianatai
y a des livres pour les nuloui mais je ne suis pas très doué en dev pour ne pas dire nul...
a tu testé le script que je t'est donner pour voir le résultat dans tes mails (Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.) ?!!
sinon mon premier est complet avec boucle et tous ce dont t'a besoin
il te faut simplement modifier certaine lignes pour :
- l'adresse de destination :
$Mail.Recipients.Add(\"fred@bloggs.com\") -> $Mail.Recipients.Add($uneligne.adressemaildestinataire)
- le sujet
$Mail.Subject = \"Test Mail\"
- le corps de l'email
$Mail.Body = \" Test Mail 22222 \" cette ligne est les lignes suivante
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.056 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Envoi de mail via Outlook + liste destinataires