Question faire un envoi massif de mails avec contenu personnalisé

Plus d'informations
il y a 8 mois 2 semaines - il y a 8 mois 2 semaines #33581 par gertrude
Bonjour la communauté powershellienne :)

Aujourd'hui j'ai un problème face auquel je ne sais pas comment agir au niveau algorithmique :
j'ai un fichier .csv avec une colonne client et plusieurs colonnes Vague n (n est un entier positif qui va de 1 à x)
j'ai un autre fichier .csv avec une colonne client et une colonne mail

Je veux envoyer un mail à chaque client pour lui donner la valeur qui est dans chaque colonne Vague n.

Je sais envoyer un mail à un client pour lui donner

Je ne cherche pas la solution en code, mais plutôt une aide d'un point de vue algo pour m'aider à amorcer réellement mon code.

Voici mon ébauche de code:
###########################################################
########## définir les variables d'envoi du mail ##########
###########################################################
$smtpServer = “smtp-out.gertrude.fr”
$smtpSender = "gertrude@gertrude.fr"
$smtpRecipients = ""
$dateObject = Get-Date -Format dd/MM/yyyy
$emailSubject = "Votre planning " + $dateObject
$emailContent = ""

###########################################################
########## récupérer les mails des destinataires ##########
###########################################################

###########################################################
######## récupérer les vagues pour client ########
###########################################################

############################################################
##################### Envoyer le mail ######################
############################################################

# convertir le contenu de l'e-mail en UTF-8
$emailContentUtf8 = [System.Text.Encoding]::UTF8.GetBytes($emailContent)

# créer une instance de la classe AlternateView pour le contenu HTML
$utf8View = New-Object System.Net.Mail.AlternateView([System.IO.MemoryStream]::new($emailContentUtf8), "text/html; charset=UTF-8")

# créer un objet MailMessage
$mailMessage = New-Object System.Net.Mail.MailMessage
$mailMessage.From = $smtpSender

# ajouter tous les destinataires en CCI
foreach($recipient in $smtpRecipients){
    $mailMessage.Bcc.Add($recipient)
}

$mailMessage.Subject = $emailSubject

# ajouter l'AlternateView avec le contenu UTF-8 à la collection AlternateViews
$mailMessage.AlternateViews.Add($utf8View)

# définir les paramètres SMTP
$smtpClient = New-Object System.Net.Mail.SmtpClient($smtpServer)

# envoyer l'e-mail
$smtpClient.Send($mailMessage)
Dernière édition: il y a 8 mois 2 semaines par Arnaud Petitjean.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 mois 2 semaines #33590 par Arnaud Petitjean
Bonjour Gertrude,

Pourrais-tu nous donner un petit extrait de tes fichiers en entrée ? Est-ce qu'ils te sont imposés ou est-ce que tu peux adapter leur format et contenu ?

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.093 secondes
Propulsé par Kunena