Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Отправка почты с вложением

Ответить
Настройки темы
CMD/BAT - [решено] Отправка почты с вложением

Старожил


Сообщения: 186
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день. Есть the Bat v.3 и есть папка C:\otpravka\ в которую периодически кидаются файлы с расширениями *.014 и *.015. Нужен скрипт, который бы каждый файл из папки отправлял отдельным письмом. Почта отправителя otpravitel@mail1.mail2.ru

Файлы с расширением *.014 необходимо отправлять на poluchatel1@mail1.mail2.ru. Файлы с расширением *.015 необходимо отправлять на poluchatel2@mail1.mail2.ru

Тема всех писем одинаковая - INFO

Отправлено: 12:20, 05-07-2013

 

Аватара для sunnykey

Пользователь


Сообщения: 124
Благодарности: 47

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
#Powershell script.
#Don't forget unlock script executing by 
#using command "Set-ExecutionPolicy RemoteSigned" or "Set-ExecutionPolicy Unrestricted"
#Save this file with ".ps1" extension

function SendMailToUser($To,$FileMask) {
    $From="otpravitel@mail1.mail2.ru"
    $Subject="INFO"
    $Body="This is test message"
    $Password="password"
    $SecPassword=New-Object -TypeName System.Security.SecureString
    $Password.ToCharArray() | foreach {$SecPassword.AppendChar($_)}
    $Credintial=New-Object -TypeName System.Management.Automation.PSCredential `
        -ArgumentList $From,$SecPassword
    $smtpServer="smtp.mail1.mail2.ru"
    Get-ChildItem "C:\otpravka\*" -Include $FileMask -Recurse | `
        Where-Object {$_.Attributes -ne [System.IO.FileAttributes]::Directory} | `
        foreach {$_.FullName} | `
        Send-MailMessage -From $From -To $To -Subject $Subject `
        -Body $Body -Credential $Credintial -SmtpServer $smtpServer
}

SendMailToUser -To "poluchatel1@mail1.mail2.ru" -FileMask "*.014"
SendMailToUser -To "poluchatel2@mail1.mail2.ru" -FileMask "*.015"

-------
cmd умри, powershell живи=)
Powershel 4.0 microsoft.com/ru-ru/download/details.aspx?id=40855

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:13, 05-07-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 186
Благодарности: 0

Профиль | Отправить PM | Цитировать


sunnykey, большое спасибо, протестировать получится только в понедельник, вопрос - будут ли письма отображаться в Отправленных в the Bat при отправке через этот скрипт

Отправлено: 16:00, 05-07-2013 | #3


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата foma24:
будут ли письма отображаться в Отправленных в the Bat при отправке через этот скрипт »
Разумеется, нет: Send-MailMessage.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:27, 05-07-2013 | #4


Аватара для sunnykey

Пользователь


Сообщения: 124
Благодарности: 47

Профиль | Отправить PM | Цитировать


Цитата foma24:
sunnykey, большое спасибо, протестировать получится только в понедельник, вопрос - будут ли письма отображаться в Отправленных в the Bat при отправке через этот скрипт »
Я знаю, что thunderbird есть CLI. Ссылку прилагаю Thunderbird CLI

-------
cmd умри, powershell живи=)
Powershel 4.0 microsoft.com/ru-ru/download/details.aspx?id=40855

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:25, 06-07-2013 | #5


Старожил


Сообщения: 186
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вот команда для отправки письма

thebat.exe /MAILU=otpravitel;TO= poluchatel1@mail1.mail2.ru;S=INFO;A=C:\otpravka\*.014;SEND

, но как ее заставить отправлять в одном письме только один файл, названия файлов различные, т.е. допустим в папке C:\otpravka\ три файла 111.014, 222.014, 333.014 каждый файл нужно отправить отдельным письмом

Отправлено: 10:22, 06-07-2013 | #6


Аватара для zion87

Старожил


Сообщения: 263
Благодарности: 69

Профиль | Отправить PM | Цитировать


Попробуйте так
Код: Выделить весь код
Set put=C:\otpravka
For /f "Delims=" %%i In ('Dir /b "%put%\*.014"') Do (
	thebat.exe /MAILU=otpravitel;TO=poluchatel1@mail1.mail2.ru;S=INFO;A="%put%\%%i";SEND
)
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:35, 06-07-2013 | #7


Аватара для sunnykey

Пользователь


Сообщения: 124
Благодарности: 47

Профиль | Отправить PM | Цитировать


Цитата zion87:
Попробуйте так
Код:
Set put=C:\otpravka
For /f "Delims=" %%i In ('Dir /b "%put%\*.014"') Do (
thebat.exe /MAILU=otpravitel;TO=poluchatel1@mail1.mail2.ru;S=INFO;A="%put%\%%i";SEND
) »
Думаю правильнее будет перечислить вложения через запятую, а то вдруг этих файлов тьма и столько же исходящих будет
Код: Выделить весь код
#Powershell script.
#Don't forget unlock script executing by 
#using command "Set-ExecutionPolicy RemoteSigned" or "Set-ExecutionPolicy Unrestricted"
#Save this file with ".ps1" extension

$TheBatCmd="/MAILU=otpravitel;TO= poluchatel1@mail1.mail2.ru;S=INFO;A="
$FileList=gci "D:\Аудио какое-то\*" -Include "*.log"
foreach ($el in $FileList) {
    $TheBatCmd+='"'+$el+'"'+","
}
$TheBatCmd=$TheBatCmd.TrimEnd(',')+";SEND"
Start-Process -FilePath "C:\Program Files\TheBat.exe" -ArgumentList $TheBatCmd `
    -NoNewWindow

-------
cmd умри, powershell живи=)
Powershel 4.0 microsoft.com/ru-ru/download/details.aspx?id=40855

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:10, 06-07-2013 | #8


Старожил


Сообщения: 186
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата sunnykey:
Думаю правильнее будет перечислить вложения через запятую »
Файлов от силы 10 штук в день.

Спасибо всем, проверю в понедельник, тогда отпишусь

Отправлено: 00:35, 07-07-2013 | #9


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


sunnykey, foma24, как правило, важно не количество, а суммарный размер: у многих бесплатных публичных серверов есть ограничения на размер вложений (а у некоторых — и на их количество на письмо).

Отправлено: 03:35, 07-07-2013 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Отправка почты с вложением

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] отправка письма с вложением, класс PHPMailer zvezda_t Вебмастеру 2 26-11-2010 11:53
отправка почты msaus Вебмастеру 3 18-08-2006 18:16
The BAT! Отправка почты - help! Guest Хочу все знать 6 24-07-2004 02:36
Отправка почты (The Bat) Goliase Хочу все знать 6 27-03-2004 11:45
Отправка письма с вложением pauluss Вебмастеру 5 20-02-2004 02:34




 
Переход