![]() |
Оправка отчета о копировании файлов, на почту.
День добрый. Мне тут ТЗ выдали на работе: написать скрипт на PowerShell чтобы он копировал *.xls файлы из одной папки в другую, при том перед началом копирования нужно получить дату изменения файлов, засунуть все это добро в e-mail и отправить отчет на почту мне.
1. Как получить дату текущего файла? 2. Как отправить почту с gmail-аккаунта, на такой же? |
Код:
$body = dir C:\Folder1 *.xls | copy -dest C:\Folder2 -PassThru | select name,LastWriteTime | Out-String Код:
$EmailFrom = "user02@example.com" |
Kazun, Молоток) Четко и красиво!
|
Kazun, да, реально четко и красиво, спасибо:)
|
У меня тут ошибка вывалилась:(
Код:
Исключение при вызове "Send" с "4" аргументами: "Сбой при отправке сообщения эле ктронной почты. |
Проверьте параметры,у меня все нормально работает.
Код:
$Body = gps | Out-String |
Kazun, скажите пожалуйста:
1) воспринимает ли у Вас командлет «Send-MailMessage» параметр «-From» именно в виде «DisplayName <user@example.com>»? 2) тот же вопрос и по четырёхаргументному методу «.Send(string, string, string, string)» класса «System.Net.Mail.SmtpClient»: воспринимает ли он у Вас второй параметр («From») в виде «DisplayName <user@example.com>»? |
1)Да.
Код:
PS > Send-MailMessage -From "TestUser <xxx@yandex.ru>" -To "NarodTest <yyy@narod.ru>" -Subject "Tests <> in Send-MailMessage" -Body "Ahtung" -SmtpServer smtp.yandex.ru |
Kazun, спасибо, ясно.
|
Kazun, Огромное спасибо:) Все заработало, просто у меня путь к папке содержал пробелы, я засунул путь в переменную все заработало))))
|
Та же самая ошибка
Исключение при вызове "Send" с "4" аргументами: "Сбой при отправке сообщения эле ктронной почты. " C:\Users\****\Desktop\sendmail.ps1:10 знак:17 + $SMTPClient.Send <<<< ($EmailFrom, $EmailTo, $Subject, $Body) + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : DotNetMethodException Подскажите как можно исправить |
Kazun,
А что это за ошибка может? Код:
Send-MailMessage : Mailbox unavailable. The server response was: 5.7.1 Client does not have permissions to send as this sender |
-to "User01 <пример>" - Это пользователь -Credential "User01" , то проверить права NT\Self на отправку или проверить разрешения send as \ send on behalf , в случае другого пользователя.
|
Kazun,
Так он просит пароль, я ввожу и дальше отваливается ошибка. |
Kazun,
Все вопрос решился с админом почты =) а можно чтобы он постоянно не спрашивал пароль? |
Код:
$PlainPassword = "P@ssw0rd" |
Время: 10:04. |
Время: 10:04.
© OSzone.net 2001-