Однажды начал использовать программу mailsend для автоматической отправки отчетов через SMTP, так как mailsend поддерживает SSL. До этого пользовался Blat.
Официальная страница загрузки mailsend:
https://github.com/muquit/mailsend/releases/
Приведу пример моего готового скрипта, который можно сохранить файлом с расширением *.bat и добавить в автозапуск или запускать вручную. Скрипт отправляет файл на указанные адреса.
pause
K:\privat24\Send\mailsend1.18 -f otpravitel@example.com -smtp mx.example.com -domain mx.example.com -starttls -port 587 -auth -user otpravitel@example.com -pass ПАРОЛЬ -t "poluchatel@example.com,mail3@example.com" -sub "Tema pisma" -ct 30 -read-timeout 30 -attach "K:\privat24\Out\PB.DBF" -log "K:\privat24\Send\mailsend_log.txt -q"
ECHO OTPRAVLENO!
pause
exit
Опишу ключи запуска:
-copyright (просмотр информации об авторских правах)
-4 (принудительно использовать IPv4 адрес SMTP сервера)
-6 (принудительно использовать IPv6 адрес SMTP сервера)
-smtp (имя домена или IP адрес SMTP сервера)
-port (SMTP порт)
-domain (доменное имя для SMTP HELO/EHLO)
-t (адрес или адреса получателей через запятую)
-cc (адрес или адреса получателей через запятую которые получат копию)
-ct (время ожидания соединения в секундах, стандартно 5)
-bc (адрес или адреса получателей через запятую которые получат скрытую копию)
+D (не добавлять заголовок с датой)
-f (адрес отправителя)
-sub (тема)
-list_address ФАЙЛ (файл со списком адресов)
-log ФАЙЛ (файл журнала)
-cs КОДИРОВКА (кодировка текста письма)
-attach ФАЙЛ (прикрепление файла)
-show-attach (отображать прикрепленный файл в режиме отладки, стандартно выкл)
-M «ТЕКСТ В ОДНУ ЛИНИЮ» (текст письма одной линией)
-msg-body ФАЙЛ (путь к файлу с текстом сообщения)
-H «заголовок» (добавление случайного заголовка)
-name «ИМЯ» (добавить текст имени к адресу отправителя)
-v (режим отладки)
-V (просмотр версии программы)
-w (ожидать CR после отправки)
-rt АДРЕС (указать адрес для ответа)
-rrr АДРЕС (запросить уведомление о прочтении)
-ssl (использовать SSL)
-starttls (использовать STARTTLS)
-auth (порядок аутентификации CRAM-MD5,LOGIN,PLAIN)
-auth-cram-md5 (использовать аутентификацию CRAM-MD5)
-auth-plain (использовать аутентификацию PLAIN)
-auth-login (использовать аутентификацию LOGIN)
-user ИМЯ (логин)
-pass ПАРОЛЬ (пароль)
-example (посмотреть примеры использования)
-ehlo (принудительно EHLO)
-info (просмотр информации о сервере SMTP)
-help (просмотр справки)
-q (отображать меньше информации на экране)
Все довольно просто.
Как можно реализовать чтобы высылались файлы по маске (напрbмер все файлы с расширением txt)
Не подскажите, как избавиться от multipart?
Если текст письма указать одной строкой -M »блабла», mailsend формирует и отправляется письмо с boundary:
X-Mailer: @(#) mailsend v1.19 (Windows)
X-Copyright: BSD. It is illegal to use this software for Spamming
Mime-version: 1.0
Content-type: text/plain; boundary=»QtpyOFwsv2cnDlT8″
—QtpyOFwsv2cnDlT8
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
блабла
А есть вариант не показывать пароль открытым текстом? ну или хотя бы передавать уже зашифрованный пароль в тексте
В примере отправка вложения. Чтобы текст (одной строкой) не превращался у получателя в «кракозябры», нужно указывать кодировку:
-cs «windows-1251» -M «Текст письма»
А кавычки точно уголковые?