Отправка информации о платеже на электронную почту
Для отправки сообщений с терминала на электронную почту, необходимо использовать программу, которая сможет сформировать письмо и отправить его на заданный адрес. При этом программа должна быть консольной, чтобы не мешать работе основной программы. Под данные требования подходит программа Blat (http://blat.sourceforge.net). Утилита не требует установки, просто скачайте архив и распакуйте его в какой-нибудь каталог.
При выполнении, blat.exe может использовать некоторые параметры - профиль, который хранится в реестре Windows. Профилей может быть несколько и один из них может использоваться в качестве профиля по умолчанию. Для создания профиля используется ключ -install при запуске blat.exe.
blat.exe -install smtp.mail.ru test@mail.ru 3 25 profile1 test@mail.ru пароль
параметры, следующие за -install должны располагаться именно в таком порядке:
- smtp.mail.ru - имя почтового сервера, через который будет выполняться отправка электронных писем
- test@mail.ru - имя отправителя, которое будет отображаться в поле From:
- 3 - число попыток повторный отправки письма при сбое соединения с сервером.
- 25 - номер порта SMTP-сервера
- profile1 - имя профиля утилиты
- test@mail.ru - имя пользователя, которое будет использоваться при подключении к SMTP-серверу
- пароль - пароль, используемый при подключении к SMTP-серверу
После выполнения этой команды, в реестре будут созданы ключи, которые могут использоваться программой в качестве входных параметров.
Имя пользователя (строковый параметр Login) и пароль (Pwd) хранятся в кодировке Base64 . Если вместо имени профиля использовать символ »-», то такой профиль будет использован в качестве профиля по умолчанию, т.е. профиля, настройки которого будут использоваться программой, если явно не задан конкретный профиль.
blat.exe -install smtp.mail.ru test@mail.ru 3 25 - test@mail.ru
Параметры Blat.exe хранятся в ветке реестра
[HKEY_LOCAL_MACHINE\SOFTWARE\Public Domain]
Профиль по умолчанию хранится в ветке
[HKEY_LOCAL_MACHINE\SOFTWARE\Public Domain\Blat]
Настройки для конкретного профиля
[HKEY_LOCAL_MACHINE\SOFTWARE\Public Domain\Blat\имя профиля]
Для получения встроенной справки программы используется ключ -h
blat -h - выдача справки на экран blat -h > C:\blathelp.txt - выдача справки в файл C:\blathelp.txt
Даже беглый просмотр ключей, используемых программой, говорит о ее обширных возможностях, в том числе, отправку писем в любой кодировке, использование многоцелевого формата почтовых сообщений MIME, отправку с вложением файлов и т.п. Для описания всех возможностей понадобилась бы отдельная книга средних размеров, поэтому ограничусь примерами наиболее частого использования.
Отправка письма с использованием профиля по умолчанию получателю test@ab57.ru:
blat.exe -body «Hello World» -to test@ab57.ru
Параметр -body используется для формирования текста в теле письма. Если текст содержит пробелы, то заключается в двойные кавычки. Параметр -to задает адрес получателя. Остальные данные, необходимые для отправки берутся из профиля по умолчанию (адрес SMTP- сервера, имя пользователя, пароль и т.п.). В качестве текста тела письма можно использовать содержимое файла, указав его имя вместо параметра -body
blat.exe C:\mytext.txt -to test@ab57.ru
Для отправки электронного письма без текста используется имя пустого файла (а не ключ -body без параметров, когда будет ожидаться ввод текста письма с клавиатуры)
Если используется текст на русском языке, то нужно указать кодировку, поддерживающую символы кириллицы, для чего используется ключ - -charset:
blat.exe -body «Текст на русском» -to test@ab57.ru -charset windows-1251
Для отправки писем с вложением файлов используется ключ -attach:
blat.exe -body «Текст на русском» -to test@ab57.ru -charset windows-1251 -attach c:\boot.ini
Если тема письма не задана, то blat.exe использует в поле темы строку Contents of file: stdin.txt. Для подавления стандартной темы можно использовать ключ -ss. Поле темы, в этом случае будет пустым. Для указания нужного текста в поле темы используется ключ -subect
blat -body «TEST на русском» -subject Важно! -to test@ab57.ru -charset windows-1251 -attach c:\boot.ini
Для отправки письма с настройками из конкретного профиля используется ключ -p имя профиля
blat.exe -body «this is text» -p profile1 -to test@domain.ru
Для получения списка профилей, хранящихся в реестре на данный момент используется ключ -profile
blat -profile
В ответ будет выдано:
Blat v2.6.2 w/GSS encryption (build : Feb 25 2007 12:06:19)
Profile(s) for all users of this computer –
SMTP: smtp.mail.ru «test@mail.ru» 1 25 * *
SMTP: smtp.mail.ru «test321@mail.ru» 3 25 profile1 * *
Первая строка, начинающаяся с SMTP: относится к профилю по умолчанию, вторая - к профилю с именем profile1
blat -body «TEST» -to test@yandex.ru -server smtp.mail.ru -f test@mail.ru -u test@mail.ru -pw пароль
Если какой-либо из параметров не задан, он будет взят из профиля по умолчанию.
- -server - имя сервера SMTP
- -f - почтовый адрес отправителя
- -u - имя пользователя, используемое для подключения к SMTP-серверу (AUTH LOGIN)
- -pw - пароль пользователя.
- Проще всего настроить отправку почты с ящиков @yandex.ru, при этом никаких дополнительный утилит не нужно. В то время как через GMail все гораздо сложнее: Отправка писем, используя аккаунт GMail
- Запускать Blat.exe для отправки письма в нужный момент возможно через команду Выполнить (exec)
- Пример: Выполнить=<hide>Blat\blat.exe test.txt -charset windows-1251 -subject «Tema» -to test@paypro.ru -server smtp.yandex.ru -port 21 -f test@yandex.ru -u testuser -pw testpassword