Archive

Articles taggués ‘SMTP’

Envoi d’un message de test via SMTP.

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.

Categories: Exchange 2010 Tags: , , ,

Capturer les IP des clients d’un connecteur SMTP

Un ligne de commande pour lister les IP des clients SMTP envoyant des messages à un connecteur Exchange 2007 ou 2010.

?View Code POWERSHELL
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
Categories: Exchange 2010 Tags: , ,

Modifier les adresses IP distantes sur un connecteur de réception

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.

?View Code POWERSHELL
$RConn = Get-receiveConnector "HUBSERVER\IPWhiteList"
$RConn.RemoteIpRanges | ft LowerBound,CIDRLength -AutoSize

Compter le nombre d’IP.

?View Code POWERSHELL
$RConn = Get-receiveConnector "HUBSERVER\IPWhiteList"
$RConn.RemoteIpRanges.count

Comparer deux connecteurs.

?View Code POWERSHELL
$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.

?View Code POWERSHELL
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.

?View Code POWERSHELL
$RConn = Get-ReceiveConnector "HUBSERVER\IPWhiteList"
$RConn.RemoteIPRanges += "192.168.6.66/32"
Set-ReceiveConnector "HUBSERVER\IPWhiteList" -RemoteIPRanges $RConn.RemoteIPRanges

Pour ajouter plusieurs IP.

?View Code POWERSHELL
$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.

?View Code POWERSHELL
$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.

Ajouter une adresse SMTP secondaire

Un script Powershell pour ajouter une adresse SMTP secondaire sur un boite aux lettre.

?View Code POWERSHELL
$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
Categories: Exchange 2007 Tags: , ,

Envoi d’un message avec TELNET.

Voici la séquence de commandes pour envoyer un message via un TELNET sur le port 25 d’un relais SMTP.

CommandeExempleDescription
EHLOEHLO test.comIdentification
MAIL FROM:MAIL FROM: moi@domain.comConfiguration de l'adresse de l'émetteur
RCPT TO:RCPT TO: toi@domain.comConfiguration de l'adresse du destinataire
DATADATA Salut!Saisie du message
..Fin de la saisie du message
QUITQUITQuitte la session TELNET
HELPHELPAffiche les commandes disponibles

Exemple:

EHLO test.com
MAIL FROM: monadresse@gmail.com
RCPT TO: monadresse@yahoo.com
DATA
Hello Christophe.
.
QUIT
Categories: Exchange 2007 Tags: , ,

Extraire l’espace d’adressage d’un connecteur.

Voici comment extraire rapidement l’espace d’adressage d’un connecteur d’envoi SMTP Exchange 2007.

?View Code POWERSHELL
$conn = Get-SendConnector -Identity "ToExtRouters"
$conn.AddressSpaces | Select-Object Domain
Categories: Exchange 2007 Tags: ,

Vérifier et activer la politique d’adresses e-mail.

Utiliser cette méthode pour vérifier qui n’applique la politique d’adresses e-mail.

?View Code POWERSHELL
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.

?View Code POWERSHELL
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
}
}
Categories: Exchange 2007 Tags: ,

Importer une adresses secondaire sur des boites.

Permet d’importer une adresse SMTP secondaire sur une liste de boites aux lettres.

?View Code POWERSHELL
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
}

Outils de diagnostic SMTP en ligne

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/

Envoyer un message en SMTP.

Permet d’envoyer un message SMTP en Powershell.

?View Code 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)
Categories: Powershell Tags: ,