Я часто использую telnet или netcat для подключения серверов smtp для отправки электронной почты в качестве теста.
Кто-нибудь знает, как вы отправите электронное письмо с помощью telnet или netcat, но также приложите файл ? Есть, вероятно, лучшие способы, но я все еще хочу знать :-)
Я был бы счастлив с решением, которое использует небольшую оболочку bash для достижения цели, но не хотел бы использовать другие инструменты ...
Ответы:
Итак, используя все комментарии в качестве отправной точки, я придумал этот глупый беспорядок :-) ...
источник
Ик. Вам нужно будет base64 кодировать вложение и создавать заголовки MIME.
Вместо того, чтобы генерировать новое сообщение «на лету» каждый раз, вероятно, было бы проще просто отправить себе по электронной почте очень короткий пример сообщения из «настоящей» почтовой программы (используя работу, которую сделали люди, которые ее написали, чтобы прикрепить вложение). в правильное кодирование и создание заголовков MIME).
Сохраните это сообщение в текстовом файле с его заголовками (конечно, удаляя транспортный заголовок) и просто измените / скопируйте / вставьте его в telnet или netcat для будущих сеансов.
источник
Хотя ручное тестирование SMTP-серверов вручную возможно и целесообразно, использование специально разработанного для этого инструмента будет намного проще.
Эта статья объясняет SWAKS . Swaks предназначен для тестирования SMTP-сервера. Поддерживает вложения, аутентификацию и шифрование!
источник
я наткнулся на эту запись, пока искал что-то подобное. и из епископов здесь и некоторых дополнительных исследований мне удалось сделать этот сценарий.
Одна вещь, которую вы можете добавить, это аутентификация. Мне это не нужно, поэтому я не добавил его.
Я думаю, что для этого нужны только команды md5sum , netcat , file , awk и base64 , я думаю, они довольно стандартны в большинстве систем.
источник
Это то, что я делаю, чтобы отправить электронное письмо с помощью bash. Я использую его для отправки мне файла журнала и внешнего IP-адреса, не стесняйтесь использовать его:
Надеюсь, это было хорошо для вас;)
psirac.
источник
Telnet - отправьте письмо с несколькими вложениями
источник
Вам нужно будет ознакомиться со спецификацией протокола SMTP. Это удивительно легкий текст для технической спецификации, и он поможет вам понять, как работает процесс электронной почты.
В частности, следует понимать, что вложения преобразуются в типы MIME и кодируются в тексте, поэтому любые вложения, которые вы хотите отправить через telnet, должны быть преобразованы в текст и переданы как таковые по протоколу telnet.
источник
Если все, что вы тестируете, это «доставили ли вложения», возможно, вам не удастся использовать стандарт вложений до MIME: uuencode. В отличие от MIME, создавать сообщения намного проще. В отличие от MIME он не требует никаких заголовков. Однако не все почтовые клиенты распознают файлы с кодировкой uuenco как вложения, поэтому я предлагаю проверить, можно ли их использовать. Если это произойдет, вы только что сэкономили много сил. Если этого не произойдет, то, вероятно, стоит предварительно сконструировать ваше сообщение MIMEed через perl или что-то еще и передать его через что-то вроде NetCat.
Стоит посмотреть.
источник
Для этой работы есть замечательный Perl-скрипт. Вы можете найти это здесь:
http://www.logix.cz/michal/devel/smtp-cli/
smtp-cli v2.9
Автор сценария: Михал Людвиг (c) 2003-2011 http://smtp-cli.logix.cz
Я использую это сам, и это прекрасно работает, спасибо Михалу;)
источник