У меня есть задача отправить около 500 электронных писем, и я изучаю лучший (самый простой) способ сделать это. Я сталкивался с некоторыми примерами Powershell, но я не могу заставить его работать. Я вижу, что есть 2 подхода: создать скрипт и затем вызвать его из командной строки powershell, или сделать это прямо из командной строки. Второй подход был бы лучше для меня, потому что было бы проще генерировать эти командные строки для 500 электронных писем. Я нашел несколько примеров и пришел к этому:
$smtp = New-Object Net.Mail.SmtpClient("smtp.gmail.com", "465")
$Smtp.EnableSsl = $true
$Smtp.Credentials = New-Object System.Net.NetworkCredential("myusername","mypass")
$Smtp.Attachments.Add("C:\bla.txt")
$smtp.Send("myusername@gmail.com","someusername@gmail.com","Test Email","This is a test")
Для первой попытки я пытаюсь отправить почту из gmail ...
Я не очень хорош в Powershell (лучше скажем, совсем не знаю, но имею общие знания о командной строке из командной строки / MS-DOS, которая мне более знакома).
Также будет, почтовый сервер позволит отправлять 500 электронных писем, например это или он распознает это как какую-то атаку, спам, что угодно ...?
Буду признателен за любую помощь. Спасибо!
РЕДАКТИРОВАТЬ:
Я также пробовал это:
$From = "YourEmail@gmail.com"
$To = "AnotherEmail@YourDomain.com"
$Cc = "YourBoss@YourDomain.com"
$Subject = "Email Subject"
$Body = "Insert body text here"
$SMTPServer = "smtp.gmail.com"
$SMTPPort = "465"
Send-MailMessage -From $From -to $To -Cc $Cc -Subject $Subject -Body $Body -SmtpServer $SMTPServer -port $SMTPPort -UseSsl -Credential (Get-Credential)
Для $ From, $ To, $ Cc Я поставил свой реальный адрес электронной почты
Ошибка, которую я получил, это:
Send-MailMessage : Unable to read data from the transport connection: net_io_connectionclosed.
At line:9 char:1
+ Send-MailMessage -From $From -to $To -Cc $Cc -Subject $Subject -Body ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.Mail.SmtpClient:SmtpClient) [Send-MailMessage], SmtpException
+ FullyQualifiedErrorId : SmtpException,Microsoft.PowerShell.Commands.SendMailMessage