"Mail" zu meinem FTP-Server

  • Hi,

    ich möchte mir ein kleines Programm erstellen welches ich später an Freunde und Bekannte schicken will.

    Wenn mann das Programm öffnet soll ein Eingabefeld erscheinen, wo später jeder der das Programm besitzt eine Nachricht reinschreiben kann. Wenn derjenige dann auf den "Senden" button klickt soll dass Programm auf Meinem FTP-Server eine .txt erstellen z.B. mit dem namen "Neue Nachricht" und dem inhalt der in das Eingabefeld geschrieben wurde.. Wenn möglich wäre es noch toll wenn später Datum und Zeit mit in der .txt steht.

    Wenn möglich soll in dem Sourcecode nicht mein FTP- Username + Passwort enthalten sein, da ich nicht möchte dass man per decoder oder ähnlichem an meine Passwort/Daten allgemein kommt!

    MfG FreeStylaa


    So in etwa sollte das Aussehen:

    [autoit]

    #include <GUIConstants.au3>
    $GUI = GUICreate("Mail to FreeStylaa", 406, 249, 324, 207)
    GUICtrlCreateGroup("Deine Mail an Mich:", 8, 8, 385, 201)
    $text = GUICtrlCreateEdit("", 24, 32, 353, 161)
    GUICtrlSetData(-1, "DeinMailText")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Senden = GUICtrlCreateButton("Senden", 136, 216, 121, 25, 0)
    GUISetState(@SW_SHOW)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Senden
    ; Diese Funktion soll auf meinem FTP-Server eine .txt erstellen mit dem Namen "Neue Mail" und dem inhalt aus dem Eingabefeld!
    EndSwitch
    WEnd

    [/autoit]
  • Hi,

    mal so grob:

    [autoit]

    $server = "ftp.spacequadrat.de"
    $pw = "passwort"
    $user = "max-mustermann"

    [/autoit][autoit][/autoit][autoit]

    $mailtext = GUICtrlRead($eingabefeld)
    FileWrite("C:\mail.txt",$mailtext)
    $dllhandle = DllOpen('wininet.dll')
    $Open = _FTPOpen(@MIN & @SEC)
    $Conn = _FTPConnect($Open, $server, $user, $pw)
    $Ftpp = _FTPPutFile($Conn, "C:\mail.txt", "/mails/mail.txt")
    DllClose($dllhandle)

    [/autoit][autoit][/autoit][autoit][/autoit]

    Einmal editiert, zuletzt von Jautois (7. Dezember 2008 um 22:11)

  • Hmm hab da mal was gelesen dass das irgend wie geht mit einer .php auf dem server die dann die .txt erstellt... :huh:

  • Könnt ihr mir das bitte genauer erklähren oder mir den Source-code davon schicken, da ich bisjetzt noch nicht viel Erfahrung mit autoit gesammelt habe...

    wäre echt nett

  • Jop also ich bin heute mal gütig^^:

    1. Schmeiß die send.php auf deinen ftp server:

    Code
    <?
    $empfaenger = "deineEmail@provider.com";
    $text = "Username: ".$_POST['account']." \r\nNachricht: ".$_POST['nachricht];
    $sender = "webanbieter@zBfunpic.de";
    mail($empfaenger, $betreff, $text, "From: $sender <$sender>");
    header("Location:http://daskannsteeigentlichweglassen.com/");
    ?>

    2.Starte die au3 oder bau se in eine funktion ein

    Spoiler anzeigen
    [autoit]


    $Account = "hans"
    $Nachricht= "hallo"
    $sPost = "account="&$Account&"&nachricht="&$Nachricht

    [/autoit] [autoit][/autoit] [autoit]

    _Send($sPost)

    [/autoit] [autoit][/autoit] [autoit]

    Func _Send($sPost)

    $sHeader = "POST http://DEINEHOMEPAGEAUFDEMDIESENDLIEGT.COM/send.php HTTP/1.1" & @CRLF & _
    "Host: DEINEHOMEPAGE.COM" & @CRLF & _
    "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.3 (de) (TL-FF)" & @CRLF & _
    "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & _
    "Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3" & @CRLF & _
    "Accept-Encoding: gzip,deflate" & @CRLF & _
    "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" & @CRLF & _
    "Keep-Alive: 300" & @CRLF & _
    "Connection: keep-alive" & @CRLF & _
    "Content-Type: application/x-www-form-urlencoded" & @CRLF & _
    "Content-Length: " & StringLen($sPost) & @CRLF & @CRLF & $sPost

    TCPStartup()
    $iIP = TCPNameToIP("DEINEHOMEPAGEAUFDEMDIESENDLIEGT.COM")
    $iSocket = TCPConnect($iIP, 80)
    $iSend = TCPSend($iSocket, $sHeader)
    EndFunc

    [/autoit]
  • Wäre das so richtig?:

    [autoit]

    $Account = "hans"
    $Nachricht= "hallo"
    $sPost = "account="&$Account&"&nachricht="&$Nachricht

    [/autoit][autoit][/autoit][autoit]

    _Send($sPost)

    [/autoit][autoit][/autoit][autoit]

    Func _Send($sPost)

    $sHeader = "POST http://test123.te.funpic.de/send.php HTTP/1.1" & @CRLF & _
    "Host: http://test123.te.funpic.de" & @CRLF & _
    "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.3 (de) (TL-FF)" & @CRLF & _
    "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & _
    "Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3" & @CRLF & _
    "Accept-Encoding: gzip,deflate" & @CRLF & _
    "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" & @CRLF & _
    "Keep-Alive: 300" & @CRLF & _
    "Connection: keep-alive" & @CRLF & _
    "Content-Type: application/x-www-form-urlencoded" & @CRLF & _
    "Content-Length: " & StringLen($sPost) & @CRLF & @CRLF & $sPost

    TCPStartup()
    $iIP = TCPNameToIP("http://test123.te.funpic.de")
    $iSocket = TCPConnect($iIP, 80)
    $iSend = TCPSend($iSocket, $sHeader)
    EndFunc

    [/autoit]

    Wenn nicht könntest du mir das bitte koregieren?

  • Macht das auch wirklich dass auf meinem FTP eine .txt erstellt mit dem inhalt des Eingabefeldes?

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    $GUI = GUICreate("Mail to FreeStylaa", 406, 249, 324, 207)
    GUICtrlCreateGroup("Deine Mail an Mich:", 8, 8, 385, 201)
    $text = GUICtrlCreateEdit("", 24, 32, 353, 161)
    GUICtrlSetData(-1, "DeinMailText")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Senden = GUICtrlCreateButton("Senden", 136, 216, 121, 25, 0)
    GUISetState(@SW_SHOW)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Senden
    _Send($sPost)
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    $Account = "hans"
    $Nachricht= "hallo"
    $sPost = "account="&$Account&"&nachricht="&$Nachricht

    [/autoit] [autoit][/autoit] [autoit]

    _Send($sPost)

    [/autoit] [autoit][/autoit] [autoit]

    Func _Send($sPost)

    $sHeader = "POST http://test123.te.funpic.de/send.php HTTP/1.1" & @CRLF & _
    "Host: http://test123.te.funpic.de" & @CRLF & _
    "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.3 (de) (TL-FF)" & @CRLF & _
    "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & _
    "Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3" & @CRLF & _
    "Accept-Encoding: gzip,deflate" & @CRLF & _
    "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" & @CRLF & _
    "Keep-Alive: 300" & @CRLF & _
    "Connection: keep-alive" & @CRLF & _
    "Content-Type: application/x-www-form-urlencoded" & @CRLF & _
    "Content-Length: " & StringLen($sPost) & @CRLF & @CRLF & $sPost

    TCPStartup()
    $iIP = TCPNameToIP("http://test123.te.funpic.de")
    $iSocket = TCPConnect($iIP, 80)
    $iSend = TCPSend($iSocket, $sHeader)
    EndFunc

    [/autoit]
  • ne das übergibt nur die zwei werte an die send.php , allle weiterem Aktionen liegen in der .php Datei

  • Und wie müsste das aussehen wenn ich das jetzt wie schon angesprochen so haben möchte dass einfach eine .txt mit dem Inhalt des eingabefeldes auf dem ftp erstellt wird nach dem klick auf den button..?

  • Hab das jetzt mal per Upload proboert:

    Spoiler anzeigen
    [autoit]

    $server = "ftp.test.te.funpic.de"
    $user = 'testuser'
    $pw = 'testpw'

    [/autoit] [autoit][/autoit] [autoit]

    func Sent()
    $mailtext = GUICtrlRead($text)
    FileWrite("C:\mail.txt",$mailtext)
    $dllhandle = DllOpen('wininet.dll')
    $Open = _FTPOpen(@MIN & @SEC)
    $Conn = _FTPConnect($Open, $server, $user, $pw)
    $Ftpp = _FTPPutFile($Conn, "C:\mail.txt", "mail.txt")
    DllClose($dllhandle)
    EndFunc

    [/autoit]

    Warum kommt dieser Fehler?:

    $Conn = _FTPConnect($Open, $server, $user, $pw)
    $Conn = _FTPConnect($Open, ^ ERROR

    2 Mal editiert, zuletzt von FreeStylaa (8. Dezember 2008 um 22:08)

  • $server = "ftp.test.te.funpic.de" $user = 'testuser' $pw = 'testpw'

    Probier das:

    [autoit]


    Global $server = "test.te.funpic.de"
    Global $user = 'testuser'
    Global $pw = 'testpw'

    [/autoit]

    jetzt wieder anders? xD

  • Problem mit FTP-uplod gelöst :)
    Nun möchte ich noch über dem Eingabefeld 2 inputboxen mit $absender und $Betreff machen..
    Nur leider bekomme ich es nicht hin dass alle 3 (1Eingabefeld und 2Inputs) in die .txt geschieben werden!
    Hat jemand ne Lösung?

    Einmal editiert, zuletzt von FreeStylaa (9. Dezember 2008 um 10:22)

  • Hallo,

    [autoit]

    $text=$absender&@CRLF&$betreff&@CRLF&$nachricht

    [/autoit]


    ....verstehe das Problem nicht ?(

    ciao
    .Andy

  • Geht alles vielen dank...
    Nur noch eine Frage:
    Gibts ne Möglichkeit dass das Programm erkennt ob auf dem server schon eine Mail.txt vorhanden ist, und dann z.b. Mail2.txt erstellt?

    2 Mal editiert, zuletzt von FreeStylaa (9. Dezember 2008 um 16:40)