Почему вложение не отправляется с этим кодом? - PullRequest
0 голосов
/ 11 июля 2019

Почему вложение не отправляется с этим кодом? как мне переделать этот код для отправки электронной почты многим получателям?

$EmailTo = "vitaly9oleg@gmail.com"
$EmailFrom = "adm@forceauto.ru"
$Subject = "first letter" 
$Body = "Text of the letter" 
$SMTPServer = "mail.forceauto.ru" 
$filenameAndPath = "C:\1.txt"
$SMTPMessage = New-Object System.Net.Mail.MailMessage($EmailFrom,$EmailTo,$Subject,$Body)
$attachment = New-Object System.Net.Mail.Attachment($filenameAndPath)
$SMTPMessage.Attachments.Add($attachment)
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 25) 
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("adm@forceauto.ru", "xxxx"); 
$SMTPClient.Send($EmailFrom,$EmailTo,$Subject,$Body,$attachment)

1 Ответ

5 голосов
/ 11 июля 2019

Я не уверен, как решить вашу проблему, но, возможно, я все еще могу помочь вам с этим:

В PowerShell, начиная с 3.0, у вас есть командлет Send-MailMessage.

Send-MailMessage -From 'jesfer <jesfer@gmail.com>' -To 'tesrere<tesrere@gmail.com>' -Subject "first letter" -Body "Text of the letter" -SmtpServer "smtp.gmail.com" -UseSsl

Что касается учетных данных, это также параметр.Но, используя его, я бы предложил нам pscredential ob.

Edit: with Credentials

$credentials = new-object Management.Automation.PSCredential “jesfer@gmail.com”, (“s57u5t4” | ConvertTo-SecureString -AsPlainText -Force)
Send-MailMessage -From 'jesfer <jesfer@gmail.com>' -To 'tesrere<tesrere@gmail.com>' -Subject "first letter" -Body "Text of the letter" -SmtpServer "smtp.gmail.com" -UseSsl -Credential $credentials

Edit 2: с рабочим портом

$credentials = new-object Management.Automation.PSCredential “adm@forceauto.ru”, (“xxxxx” | ConvertTo-SecureString -AsPlainText -Force)
Send-MailMessage -From 'adm <adm@forceauto.ru>' -To 'vitaly9oleg<vitaly9oleg@gmail.com>' -Subject "first letter" -Body "Text of the letter" -SmtpServer "mail.forceauto.ru" -Port 465 -UseSsl -Credential $credentials

Edit 3: свложение

$credentials = new-object Management.Automation.PSCredential “adm@forceauto.ru”, (“xxxxx” | ConvertTo-SecureString -AsPlainText -Force) 
Send-MailMessage -From 'adm <adm@forceauto.ru>' -To 'vitaly9oleg<vitaly9oleg@gmail.com>' -Subject "first letter" -Body "Text of the letter" -Attachments "C:\1.txt" -SmtpServer "mail.forceauto.ru" -Port 465 -UseSsl -Credential $credentials
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...