2015-11-17 7 views
2

Я пытаюсь отправить электронное письмо с высоким значением, используя Powershell. Но когда почта приходит в папку «Входящие», она не отличается высокой важностью.Powershell Email: Как отправить электронное письмо с высоким значением?

Ниже по электронной почте сценарий:

$EmailFrom = "[email protected]" 
$EmailTo = "[email protected]" 
$Subject = "Disk Space Low: $server" 

$Body = "Server Name: $server, <NEED NEW LINE> Drive: C, <NEED NEW LINE> Total Size: $sizeGB, <NEED NEW LINE> Space Left: $freeSpaceGB" 

$SMTPServer = "scan.opinergo.fn" 
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 25) 
#$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("<From mail ID>", "Password"); 
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body) 

За высокое значение я добавил следующие, но ни один не работает, когда почта приходит к внешнему виду:

1) $EmailPriority = [System.Net.Mail.MailPriority]::High

почта приходит, но не имеет значения

2) $Priority = [System.Net.Mail.MailPriority]::High

почта приходит, но не имеет значения

3) $Priority = "high"

почта приходит, но не имеет значения

4) $EmailPriority = "high"

почта приходит, но не имеет значения

+0

как вы передаете '$ EmailPriority' переменную в SmtpClient? –

+0

Я никогда не использовал powershell для отправки писем, но, просматривая документы, думаю, вам нужно создать сообщение, используя класс [MailMessage] (https://msdn.microsoft.com/en-us/library/system.net. mail.mailmessage (v = vs.110) .aspx) и установите соответствующие заголовки. –

+0

Возможный дубликат [Можно ли пометить электронную почту как «Высокое значение» для Outlook с помощью System.Net.Mail?] (Http://stackoverflow.com/questions/2692919/can-i-mark-an-email-as- high-important-for-outlook-using-system-net-mail) – sodawillow

ответ

1

Попробуйте использовать Send-MailMessage командлет и указать параметр -Priority:

$password = "pass" | ConvertTo-SecureString -AsPlainText -Force 
$credentials = New-Object PSCredential("username", $password) 

Send-MailMessage ` 
    -To [email protected] ` 
    -From [email protected] ` 
    -Subject Example ` 
    -SmtpServer smtp.example.com ` 
    -Credential $credentials 
    -Priority High 
1

$ emailMessage.Priority = 2

$emailSmtpServer = “xyz” 
$emailSmtpServerPort = “587” 
$emailSmtpUser = “[email protected]” 
$emailSmtpPass = “abc” 

$emailMessage = New-Object System.Net.Mail.MailMessage 
$emailMessage.From = “[email protected]” 
$emailMessage.To.Add(“[email protected]”) 
$emailMessage.To.Add(“[email protected]”) 
$emailMessage.Subject = “EMAIL CHECK!” 
$emailMessage.IsBodyHtml = “True” 

#Low Priority 
#$emailMessage.Priority = 1 

#High Priority 
$emailMessage.Priority = 2 

$emailMessage.Body = @” 
    Email body... <br /> 
    <br /> 
    <br /> 
    Message Sent from Power Shell. 
“@ 

$SMTPClient = New-Object System.Net.Mail.SmtpClient($emailSmtpServer , $emailSmtpServerPort) 
$SMTPClient.EnableSsl = $true 
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($emailSmtpUser , $emailSmtpPass); 

$SMTPClient.Send($emailMessage) 
4

Этот код будет посылать высокий приоритет по электронной почте:

$smtp = new-object Net.Mail.SmtpClient("yourDomain.com") 
    $email = New-Object System.Net.Mail.MailMessage 
    $email.From = "[email protected]" 
    $email.To.Add("[email protected]") 
    $email.Subject = "Enter your Email Subject" 
    $email.Body = "Enter the body of your email" 
    $email.Priority = [System.Net.Mail.MailPriority]::High 
    $smtp.Send($email) 
+0

ah cool, не знал синтаксиса для констант! – Zunair