Chciałbym napisać skrypt w bash'u który zaloguje się przez telnet na SMTP(chodzi o przekazywanie omend typu auth plain itp itd...) . Nie wiem za bardzo jak przekazać ze skryptu komendy do telnetu tak żeby można było wysłać maila
Chciałbym napisać skrypt w bash'u który zaloguje się przez telnet na SMTP(chodzi o przekazywanie omend typu auth plain itp itd...) . Nie wiem za bardzo jak przekazać ze skryptu komendy do telnetu tak żeby można było wysłać maila
jedyne co przychodzi mi do glowy, to strumieniem np z innego pliku podac dane do programu.. prymitywne ale powinno dzialac
War, war never changes.
Ja wyszperałem w necie coś takiego i prawie działa wywala błąd BAD HEADERSPokaż jakiś przykład z zastosowaniem twojego rozwiązania może być prymitywne byle działałoKod:#!/bin/bash ( sleep 1 echo "auth plain XXX " sleep 1 echo "Mail from:<XXX>" sleep 1 echo "Rcpt to:<XXX>" sleep 1 echo "Data" sleep 1 echo "Date: Today" sleep 1 echo "From: <[email protected]>" sleep 1 echo "To:<[email protected]>" sleep 1 echo "Subject:Test message" sleep 1 echo "Content-Type:text/html" sleep 1 echo " " #sleep 1 echo "Hello." sleep 1 echo "This is a test message." sleep 1 echo "Bye." sleep 1 echo "." sleep 1 echo "QUIT" ) | telnet 127.0.0.1 25
wlasnie o to mi chodzilo, tylko nie wiedzialem jak to napisac.echo costam | telnet 127.0.0.1 25
co do bad headers, poczytaj rfc, napewno bedzie
War, war never changes.
Zerknij jeszcze na expect.
Nie mam czasu dzisiaj sie rozpisywać więc powiem krótko biorę się za to w weekend bede na bieżąco się dzielił wynikami i problemami tutaj na koniec wkleje gotowy kod chyba że zajdą jakieś nieprzewidziane okoliczności i nie dokończe tego robić albo znajde inne rozwiązanie problemu Aha jeszcze jedno jak wklepuje to ręcznie to mi działa Mam zamiar robić to na telefonie to wmi wywala co chwilkę timeout i mnie rozłącza po bezczynności. Zanim ja wklepie auth na klawiaturze mojego tel. to troche potrwa
EDIT
Lookałem na expect ale nie moge instalować na tym systemie na którym chce to zrobić zadnych dodatkowych pakietów.
Wymiękam , to ciągle zwraca konsola ...Kod:235 Authentication succeeded 250 Ok 250 Ok 354 end with <CRLF>.<CRLF> 552 Bad headers 502 Error: command not implemented Connection closed by foreign host.
Ogólnie głownie chodzi mi o to żeby wszystko grało do momentu wpisania DATA . Jest możliwość przejścia jakoś na wpisywaie ręczne
Napisałem
Nie mam pojęcia czemu nie działa ....Kod:#!/usr/bin/env python import telnetlib import sys from time import sleep host = "smtp.smtp:P" telnet = telnetlib.Telnet(host, 25) telnet.open(host,25) telnet.set_debuglevel(5) sleep(2) telnet.write("auth plain XXX") sleep(2) telnet.write("Mail from: <[email protected]>") sleep(2) telnet.write("Rcpt to: <[email protected]>") sleep(2) telnet.write("Data") sleep(2) telnet.write("From:<[email protected]>\nTo:<[email protected]>\nDate: Today\nSubject:Fake mail\nContent-Type:text/plain\nHEYwhatsWRONG!?\n.\n") sleep(2) telnet.write("quit\n") telnet.close()
Ostatnio edytowane przez Mad_Dud : 10-18-2009 - 13:40
mogles mowic ze nie chodzi ci tylko o basha...
http://perldoc.perl.org/Net/SMTP.html
przyklad:
http://www.governmentsecurity.org/fo...attach_id=2036
War, war never changes.
Ok ale nie mam anonimowego smtp chciałbym korzystać ze swojego konta e-mail jak zrobić auth ? Nie znam perla wcale