Powershell Отправка файлов .csv в папку с помощью Gmail - PullRequest
1 голос
/ 29 января 2020

Я понимаю, что этот вопрос задавался ранее, но мне не удалось найти решение, используя связанные вопросы.

Я пытаюсь отправить два файла .csv с помощью Powershell в учетную запись gmail (externalexample@gmail.com), используя учетные данные из другой учетной записи Gmail (senderexample@gmail.com). Я включил функцию Less Secure Apps для обеих учетных записей, но при попытке запустить мой скрипт получаю следующую ошибку:

> Exception calling "Send" with "1" argument(s): "The SMTP server
> requires a secure connection or the client was not  authenticated. The
> server response was: 5.7.0 Authentication Required. Learn more at" At
> C:\users\luke\downloads\EmailTest.ps1:37 char:1
> + $smtp.Send($msg)
>     + CategoryInfo: NotSpecified: (:) [], MethodInvocationException
>     + FullyQualifiedErrorId : SmtpException

Мой сценарий:

#Connection Details
$username="senderexample@gmail.com"
$password="senderpassword"
$smtpServer = “smtp.gmail.com”
$msg = new-object Net.Mail.MailMessage

#Change port number for SSL to 587

$smtp = New-Object Net.Mail.SmtpClient($smtpServer, 587) 

#Uncomment Next line for SSL  
$smtp.EnableSsl = $true

$smtp.Credentials = New-Object System.Net.NetworkCredential($username, $password)

#From Address
$msg.From = "senderexample@gmail.com"
#To Address, Copy the below line for multiple recipients
$msg.To.Add(“externalexample@gmail.com”)

#Message Body
$msg.Body=”Please See Attached Files”

#Message Subject
$msg.Subject = “Email with Multiple Attachments”

#your file location
$files=Get-ChildItem “C:\Users\luke\Daily Stats\”

Foreach($file in $files)
{
Write-Host “Attaching File :- ” $file
$attachment = New-Object System.Net.Mail.Attachment –ArgumentList $file.FullName
$msg.Attachments.Add($attachment)

}
$smtp.Send($msg)
$attachment.Dispose();
$msg.Dispose();

Вся помощь очень ценится!

...