![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Отправка сообщения с помощью PowerShell |
|
|
PowerShell - Отправка сообщения с помощью PowerShell
|
Новый участник Сообщения: 2 |
Всем привет, у меня Microsoft Exchange Server 2010 ver. - 14.02.0318.004
Пытаюсь с помощью PowerShell отправить письмо с вложением. Так все отлично, письмо приходит: Send-MailMessage -From "..." -To "..." -Subject "Test #01" -Body "Just a test message." -SMTPServer "..." Send-MailMessage -From "..." -To "..." -Subject "Test #01" -Body "Just a test message." -Attachments "E:\ABC.txt" -SMTPServer "..." $Server = "..." # SMTP Сервер $From = "..." # Адрес отправителя $To = "..." # Получатель $Subject = "Необходима отправка меня" # Тема сообщения $Body = "Когда ты меня отправишь ?" # Тело сообщения $ListFile = Get-ChildItem "E:\att" # Вложения $SmtpClient = New-Object System.Net.Mail.SmtpClient $Message = New-Object System.Net.Mail.MailMessage $SmtpClient.Host = $Server $Message.From = $From $Message.To.Add($To) $Message.Subject = $Subject $Message.Body = $Body foreach ($File in $ListFile){ $Attachment = New-Object System.Net.Mail.Attachment $File.Fullname $Message.Attachments.Add($Attachment) } $SmtpClient.Send($Message) Write-Host "Complete!" $Message.Dispose() Что это за прикол? куда копать ? Я сервак не админю, но мне необходимо сделать авторассылку, стоит такая антиспам штука GFI MailEssentials, может это она может блокировать письма с вложениями, а без пропускать, от одной и той же внутренней почты? Или это в Exchange Server'е есть подобная защита ? |
|
Отправлено: 15:10, 12-09-2013 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать спасибо!
|
Отправлено: 12:36, 12-09-2014 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Сайт | Отправить PM | Цитировать Сенк за тему, скопипастил чуть поправил, но теперь хочу после отправки вложений переместить их в другую папку.
Write-Verbose "Добавляем получателей" $To | ForEach-Object {$Message.To.Add($_)} Write-Verbose "Отправляем сообщение" $smtpclient.Send($Message) #$res Start-Sleep -s 10 Get-ChildItem "d:\scripts\Send1\"|where { ! $_.PSIsContainer } |select -expand fullname | foreach-object {move-item $_ -destination "d:\scripts\Send1\old\"} Move-Item : Процесс не может получить доступ к файлу, так как этот файл занят другим процессом. строка:35 знак:116 + Get-ChildItem "d:\scripts\Send1\"|where { ! $_.PSIsContainer } |select -expand fullname | foreach-object {move-item <<<< $_ -destination "d:\scripts\Send1\old\"} + CategoryInfo : WriteError: (D:\scripts\Send1\report_77843_20140926:FileInfo) [Move-Item], IOException + FullyQualifiedErrorId : MoveFileInfoItemIOError,Microsoft.PowerShell.Commands.MoveItemCommand Как только закрываю окно powershell.exe файлы можно перемещать, как ему сказать отпустить файлы ? что бы можно было их перенести в одном скрипте. |
Отправлено: 13:52, 29-09-2014 | #22 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Воспользоваться методом Dispose() для объекта класса Net.Mail.Attachment, а лучше использовать командлет Send-MailMessage.
|
Отправлено: 14:52, 29-09-2014 | #23 |
Новый участник Сообщения: 3
|
Профиль | Сайт | Отправить PM | Цитировать А как его засунуть в цикл и в одно письмо вложить 10 файлов - вот так не работает %)
Dispose() так и не понял толком куда вставить, пробовал по разному на разные переменные - не работает. $body = Get-ChildItem | Select -Exp FullName | Out-String if($body) { send-mailmessage -to "User01 <admin@t.com.ua>" -from "User02 <it@a.ua>" -Attachment $body -subject "Test mail" -SmtpServer mx.a.ua -Body "test" |
Отправлено: 16:29, 29-09-2014 | #24 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 16:52, 29-09-2014 | #25 |
Новый участник Сообщения: 3
|
Профиль | Сайт | Отправить PM | Цитировать Сенк, работает.
Но опять же с перемещением отправленных вложений возникает та-же проблема. Move-Item : Процесс не может получить доступ к файлу, так как этот файл занят другим процессом ___ cd d:\scripts\Send1\ $body = Get-ChildItem | ?{ ! $_.PSIsContainer } | % { $_.FullName } if($body) { send-mailmessage -to "User01 <a@p.com.ua>" -from "User02 <i@a.ua>" -Attachment $body -subject "Test mail" -SmtpServer m.a.ua -Body "test" } Start-Sleep -s 5 Get-ChildItem "d:\scripts\Send1\"|where { ! $_.PSIsContainer } |select -expand fullname | foreach-object {move-item $_ -destination "d:\scripts\Send1\old\"} |
Отправлено: 13:13, 30-09-2014 | #26 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - [решено] Отправка почты через PowerShell | Pavelnt | Скриптовые языки администрирования Windows | 6 | 17-08-2019 12:05 | |
2010 - Отправка сообщение автоматичиски | nureke | Microsoft Office (Word, Excel, Outlook и т.д.) | 3 | 25-04-2013 14:24 | |
PowerShell - [решено] Сбор и анализ сведений о системе с помощью PowerShell | Vadikan | Скриптовые языки администрирования Windows | 0 | 25-03-2013 09:30 | |
PowerShell - [решено] Импорт из CSV в AD с помощью PowerShell | rox33 | Скриптовые языки администрирования Windows | 23 | 20-07-2012 15:45 | |
PowerShell - Импорт пользователей с помощью POwerShell и CSV файла. | Temafet | Скриптовые языки администрирования Windows | 19 | 18-01-2012 16:45 |
|