Voici un petit script VBS très simple qui permet d’envoyer un message SMTP depuis un système Windows.
Ce script est compatible avec toutes les versions de Windows.
Il peut servir pour tester un relais SMTP ou la capacité d’un ordinateur à envoyer des messages en SMTP sans utiliser Outlook.
Il suffit de copier ce code dans un fichier texte et renommer l’extension du fichier en « .vbs ».
'Envoie d'un e-mail via un serveur SMTP'
With CreateObject("CDO.Message")
.From="adress@domainfrom.com"
.To="adress@domainto.com"
.Subject="-Test Message-"
.HTMLBody="Test Message"
.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "my-relay.com"
.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Configuration.Fields.Update
On Error Resume Next
.Send
If Err Then MsgBox "Le message n'a pas pu être expédié."
On Error GoTo 0
End With |
Il ne reste plus qu’à changer l’adresse de l’émetteur, du destinataire et du relais SMTP.
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Un ligne de commande pour lister les IP des clients SMTP envoyant des messages à un connecteur Exchange 2007 ou 2010.
Get-MessageTrackingLog -Server hubserver01 -EventId "receive" -Start "06/12/2012 00:00:00" -ResultSize Unlimited | Where-Object { $_.ConnectorId -match "SMTP_Connector" } | Select-Object -unique ClientIP | ft clientip |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Comment gérer les adresses IP distantes autorisées sur un connecteur de réception?
Sur un connecteur de réception sans authentification et autorisant les connexions anonymes, il est indispensable de créer une liste blanche des adresses IP qui pourront émettre des messages via ce connecteur.
Voici comment gérer cette liste avec PowerShell.
Visualiser la liste existante.
$RConn = Get-receiveConnector "HUBSERVER\IPWhiteList"
$RConn.RemoteIpRanges | ft LowerBound,CIDRLength -AutoSize |
Compter le nombre d’IP.
$RConn = Get-receiveConnector "HUBSERVER\IPWhiteList"
$RConn.RemoteIpRanges.count |
Comparer deux connecteurs.
$RConn1= Get-receiveConnector "HUBSERVER01\IPWhiteList"
$RConn2= Get-receiveConnector "HUBSERVER02\IPWhiteList"
Compare-Object $RConn1.RemoteIpRanges $RConn2.RemoteIpRanges |
Une flèche vers la droite indique que l’adresse affichée est présente dans le connecteur « ILMHUBCAS02P\Appsmtp » et absente de l’autre.
Attention, la commande suivante, écrase la liste d’IP existante par l’IP que vous spécifiez.
Set-ReceiveConnector "HUBSERVER\IPWhiteList" -RemoteIPRanges "192.168.6.66/32" |
Pour ajouter cette IP a la liste existante, il faut utiliser la combinaison des commandes suivante.
$RConn = Get-ReceiveConnector "HUBSERVER\IPWhiteList"
$RConn.RemoteIPRanges += "192.168.6.66/32"
Set-ReceiveConnector "HUBSERVER\IPWhiteList" -RemoteIPRanges $RConn.RemoteIPRanges |
Pour ajouter plusieurs IP.
$RConn = Get-ReceiveConnector "HUBSERVER\IPWhiteList"
$RConn.RemoteIPRanges += "192.168.6.66/32","192.168.6.99/32"
Set-ReceiveConnector "HUBSERVER\IPWhiteList" -RemoteIPRanges $RConn.RemoteIPRanges |
Pour ajouter un liste d’IP issue d’un fichier texte.
$RConn = Get-ReceiveConnector "HUBSERVER\IPWhiteList"
Get-Content .\newips.txt | foreach {$RConn.RemoteIPRanges += "$_"}
Set-ReceiveConnector "HUBSERVER\IPWhiteList" -RemoteIPRanges $RConn.RemoteIPRanges |
Si la liste d’IP en place a déjà une des IP mentionnés dans le fichier, un message d’erreur va apparaître, il est sans incidence.
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Un script Powershell pour ajouter une adresse SMTP secondaire sur un boite aux lettre.
$mailbox = Read-Host "Please enter the alias"
$smtp = Read-Host "Please enter the secondary SMTP address"
$asmtp = "SMTP:" + $smtp
$asmtp
$user = get-mailbox -Identity $mailbox
$a = $user.emailaddresses
$b += $asmtp
$b |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Voici la séquence de commandes pour envoyer un message via un TELNET sur le port 25 d’un relais SMTP.
| Commande | Exemple | Description |
| EHLO | EHLO test.com | Identification |
| MAIL FROM: | MAIL FROM: moi@domain.com | Configuration de l'adresse de l'émetteur |
| RCPT TO: | RCPT TO: toi@domain.com | Configuration de l'adresse du destinataire |
| DATA | DATA Salut! | Saisie du message |
| . | . | Fin de la saisie du message |
| QUIT | QUIT | Quitte la session TELNET |
| HELP | HELP | Affiche les commandes disponibles |
Exemple:
EHLO test.com
MAIL FROM: monadresse@gmail.com
RCPT TO: monadresse@yahoo.com
DATA
Hello Christophe.
.
QUIT |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Voici comment extraire rapidement l’espace d’adressage d’un connecteur d’envoi SMTP Exchange 2007.
$conn = Get-SendConnector -Identity "ToExtRouters"
$conn.AddressSpaces | Select-Object Domain |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Utiliser cette méthode pour vérifier qui n’applique la politique d’adresses e-mail.
Get-Mailbox -ResultSize unlimited -OrganizationalUnit "domain.local/Paris" | Where-Object { $_.EmailAddressPolicyEnabled -eq $false } | ft displayname,alias,PrimarySmtpAddress |
Dans mon cas, j’applique ce script pour savoir si la politique peut être appliquée sans qu’elle modifie l’adresse SMTP principale.
Si c’est le cas, je l’applique.
Get-Mailbox -ResultSize unlimited -OrganizationalUnit "domain.local/Paris" | Where-Object { $_.EmailAddressPolicyEnabled -eq $false } | foreach {
$normalsmtp = $_.alias + "@domain.com"
$prismtp = $_.PrimarySmtpAddress
if ( $normalsmtp -ne $prismtp) {
$_.displayname
}
Else{
Set-Mailbox -Identity $_.alias -EmailAddressPolicyEnabled $true
}
} |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Permet d’importer une adresse SMTP secondaire sur une liste de boites aux lettres.
Import-Csv -Path .\import_secondary_smtp.csv | foreach {
$mailbox = $_.identity
$secsmtp = $_.sec_smtp
$temp = Get-Mailbox -Identity $mailbox
$temp.emailaddresses.add($secsmtp)
Set-Mailbox -Instance $temp
} |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
MX Toolbox est site d’outils de diagnostic et de dépannage des serveurs de messagerie et des problèmes de livraison.
http://www..com/

Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Permet d’envoyer un message SMTP en Powershell.
$expediteur = "sender@doamin.com"
"From : " + $expediteur
$destinataire = "recipient@domain.com"
"To : " + $destinataire
$serveur = "servername"
"By : " + $serveur
$fichier = "testfile.zip"
$objet = "Test Messagerie by " + $serveur + " at " + [System.DateTime]::Now
"Object : " + $objet
"Date : " + [System.DateTime]::Now
$texte = "--> Message de test <--"
$message = new-object System.Net.Mail.MailMessage $expediteur, $destinataire, $objet, $texte
$attachment = new-object System.Net.Mail.Attachment $fichier
$message.Attachments.Add($attachment)
$client = new-object System.Net.Mail.SmtpClient $serveur
$client.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
$client.Send($message) |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Commentaires récents