basstard
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору ну вот, полноценный скриптик для отправки почты: Код: @echo off setlocal enabledelayedexpansion rem ============================================================================ rem ---- Путь к файлу с текстом сообщения ------------------ set message=message.txt rem ---- Тема в кавычках ----------------------------------- set subject="тема сообщения" rem ---- Адрес отправителя --------------------------------- set fname=user@mail.ru rem ---- Имя пользователя ---------------------------------- set uname=user@mail.ru rem ---- Пароль к ящику ------------------------------------ set pword=MySuperSecretPassword rem ---- Сервер SMTP --------------------------------------- set serverSMTP=smtp.mail.ru rem ---- Порт SMTP ----------------------------------------- set portSMTP=25 rem ============================================================================ color 1f cd "%~dp0" set /a totalcount=0 set onelist=not_exist for %%j in ("%~dp0list-*.txt") do ( set /a totalcount=!totalcount!+1 set onelist="%%j" ) if !totalcount!==0 ( cls echo. echo Ни одного списка адресов не найдено. echo. pause exit ) if !totalcount!==1 ( set maillistchoice=!onelist! goto attachline ) cls echo. echo Укажите список адресов, по которым следует отправить сообщение: echo. set /a listcount=0 for %%i in ("%~dp0list-*.txt") do ( set /a listcount=!listcount!+1 if !listcount! leq 10 ( set filename=%%~ni set listname=!filename:~5! set /a listnum=!listcount!-1 set maillist{!listcount!}="%%i" echo !listnum! - !listname! set choiceargument=!choiceargument!!listnum! if !listcount!==1 ( set choiceargument=!listnum! ) ) ) echo. cd . choice /c !choiceargument! /n /m "Введите цифру, соответствующую вашему выбору..." set /a listchoice=!errorlevel! set maillistchoice=!maillist{%listchoice%}! :attachline set attachlist= set /a attachcount=0 if not {%1}=={} ( for %%g in (%*) do ( set /a attachcount=!attachcount!+1 set attachlist=!attachlist!,%%g if !attachcount!==1 ( set attachlist= -attach %%g ) ) ) cd "%~dp0" cls blat !message! -tf !maillistchoice! -subject !subject! -serverSMTP !serverSMTP! -f !fname! -portSMTP !portSMTP! -u !uname! -pw !pword!!attachlist! echo. pause exit | теперь он поддерживает списки рассылки и отправляет неограниченное количество вложений. чтобы воспользоваться списком рассылки, нужно в той же папке, где лежат скрипт и blat.exe создать текстовый файл с именем list-<Имя списка рассылки> например, list-Контакы по работе.txt list-Собутыльники.txt list-Семья.txt в каждый такой файл следует добавить один или несколько (неограниченно) адресов получателей в одну строку, без пробелов, через запятую напр.: user1@gmail.com,user2@rambler.ru,user3@yahoo.com при запуске скрипт покажет все найденные списки и ненавязчиво поинтересуется, по какому из них следует разослать сообщение всего таких списков может быть до 10 если же список всего один, то никаких лишних вопросов скрипт задавать не будет, сразу используя единственный существующий таким образом, если адресат всего один, нужно создать один список рассылки и забить в него один адрес. теперь вложения: с ними вообще ничего писать не требуется, просто выделить несколько файлов одновременно и перетащить их на иконку скрипта (или создать для скрипта ярлык и перетащить на ярлык) все эти файлы будут прикреплены к сообщению файл с текстом сообщения может лежать где угодно, путь к нему вместе с настройками аккаунта прописываются в самом скрипте чтобы разговаривал не кракозябрами, сохранить в dos 866. в архиве Ссылка сам скрипт в правильной кодировке, примеры списков рассылки и пример файла с текстом сообщения |