0

Скрипт для отправки почты с аккаунта Office 365

$filepath = "c:\scripts\users.csv" 


Function EMAIL{

	Param(
		$emailSmtpServer = "smtp.office365.com",   #SMTP server
		$emailSmtpServerPort = 587, #Порт
		$emailSmtpUser = "User@company.com",   #Имя для входа
		$emailSmtpPass = "******",   #Пароль от учётной записи
		$emailFrom,   #Отправить как
		$emailTo, #Кому отправить 
		#$emailAttachment, #Вложение. Если есть - снимаем коммент
		$emailSubject, #Тема письма
		$emailBody #Текст письма
	)
	
	Process{
	
$emailMessage = New-Object System.Net.Mail.MailMessage( $emailFrom , $emailTo )
$emailMessage.Subject = $emailSubject
#$emailMessage.Attachments.add($emailAttachment) #Снимаем коммент, если необходимо прикрепить файл
$emailMessage.IsBodyHtml = $true
$emailMessage.Body = $emailBody
 
$SMTPClient = New-Object System.Net.Mail.SmtpClient( $emailSmtpServer , $emailSmtpServerPort )
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential( $emailSmtpUser , $emailSmtpPass );
 
$SMTPClient.Send( $emailMessage )
}
}

#Если надо отправить одно письмо 

EMAIL   -emailFrom mycustomname@company.com -emailTo me@testcompany.com -emailSubject "Test" -emailBody "Test" 

#Если надо отправить от разных пользователей письмо на один адрес

$user = Import-CSV $filepath -Header UPN,Password | Foreach-Object{
    
    EMAIL -emailSmtpUser $_.UPN -emailSmtpPass $_.Password -emailFrom $_.UPN -emailTo me@testcompany.com -emailSubject "Test" -emailBody "Test" 
   
   Write-Host $_.UPN #Обожаю следить за процессом 
}

Формат .csv файла прост: username@company.com,password

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *