Variable speichern und auf FTP oder an Email

  • Huhu, ich bin daran ein Programm zu schreiben.
    Ist ein art Inviter. Noch läuft er relativ einfach :)
    Also ich wer es sich nicht komplett anschauen will: Ein Fenster mit Senden und Exit button paar Labels und ein Input für die jeweilige E-mail.
    Also ich möchte das der Input auf meinen FTP kommt oder an meine E-Mail gesendet wird.
    Wie schaffe ich das?

    Lg Agent.Bitch

    Kontakt:
    ICQ: 162864
    MSN: dasmama@live.de


    PS: Wie bekomme ich in der Zeile ihr das hin, das die Variable im Text erscheint? Weil bei mir kommt immer nur ne "5".

    Code
    msgbox (0, "Lockerz.com Invite", "Schon hast du deinen persöhnlichen Lockerz.com Invite auf die Mail Adresse"& $Input1 &" beantragt. Viel Spaß!!")
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=C:\Users\Agent.Bitch\Desktop\Inviter.kxf
    $Form1 = GUICreate("Lockerz.com Inviter by Agent.Bitch", 524, 189, 254, 124)
    $Button1 = GUICtrlCreateButton("Exit", 40, 160, 449, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Senden", 40, 104, 449, 25, $WS_GROUP)
    $Input1 = GUICtrlCreateInput("E-Mail hier bitte!", 160, 48, 329, 21)
    $Label1 = GUICtrlCreateLabel("Deine E-Mail -->", 40, 48, 82, 17)
    $Label2 = GUICtrlCreateLabel("Lockerz.com Inviter", 208, 8, 97, 17)
    $Label3 = GUICtrlCreateLabel("Wenn du auf 'Senden' geklickt hast bist du schon fertig. Normaler weise bekommst du deinen ", 48, 128, 447, 17)
    $Label4 = GUICtrlCreateLabel("Invite innerhalb der nächsten Stunde. Jetzt kannst du schon auf 'Exit' klicken!", 48, 144, 370, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    Exit
    Case $Button2
    msgbox (0, "Lockerz.com Invite", "Schon hast du deinen persöhnlichen Lockerz.com Invite auf die Mail Adresse"& $Input1 &" beantragt. Viel Spaß!!")
    EndSwitch
    WEnd

    [/autoit]
  • Kein Lösungsvorschlag an sich, aber die Methode mit dem FTP finde ich unsicher, da jemand der das dekompiliert dass Passwort von deinem FTP einsehen könnte. Müsste dann schon ein spezieller account mit eingeschränkten Rechten sein.

  • killu.de ohost.de oder funpic.de

    Das reicht mir schon ^^ geht mir nur um 20 invites des man VIP Member ist und doppelte Punkte bekommt ^^

  • [autoit]

    msgbox (0, "Lockerz.com Invite", "Schon hast du deinen persöhnlichen Lockerz.com Invite auf die Mail Adresse "& GUICtrlRead($Input1) &" beantragt. Viel Spaß!!")

    [/autoit]


    müsste so heißen... ansonsten gibst du nur den sog. Handle (also die Nummer mit der das Inputfeld von AutoIT intern angesprochen wird. )
    Um den Rest kümmer ich mich grad...
    EDIT: Hier die email Version... FTP kannste dir selbst erstellen, da bin ich jetzt zu faul für ^^
    Vergiss nicht die Daten einzutragen!

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Inet.au3>
    #Region Variablen
    $s_SmtpServer = "XXX" ;Der smtp Server deines abieters. zb. mail.gmx.net für GMX
    $s_FromName = "Lockerz.com" ;Der Name, welcher als absender angezeigt werden soll.
    $s_FromAddress = "a@b.de" ;Hier soll es herkommen (Muss eine gültige email sein! "Muh" geht nicht.)
    $s_ToAddress = "a@b.de" ;Hier muss es hingeschickt werden.
    $s_Subject = "VIP Invite von "&@UserName
    $s_UName = "XXX" ;Username für deinen email account.
    $s_PWD = "XXX" ;Passwort für deinen email account.

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

    #EndRegion

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

    #Region ### START Koda GUI section ### Form=C:\Users\Agent.Bitch\Desktop\Inviter.kxf
    $Form1 = GUICreate("Lockerz.com Inviter by Agent.Bitch", 524, 189, 254, 124)
    $Button1 = GUICtrlCreateButton("Exit", 40, 160, 449, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Senden", 40, 104, 449, 25, $WS_GROUP)
    $Input1 = GUICtrlCreateInput("E-Mail hier bitte!", 160, 48, 329, 21)
    $Label1 = GUICtrlCreateLabel("Deine E-Mail -->", 40, 48, 82, 17)
    $Label2 = GUICtrlCreateLabel("Lockerz.com Inviter", 208, 8, 97, 17)
    $Label3 = GUICtrlCreateLabel("Wenn du auf 'Senden' geklickt hast bist du schon fertig. Normaler weise bekommst du deinen ", 48, 128, 447, 17)
    $Label4 = GUICtrlCreateLabel("Invite innerhalb der nächsten Stunde. Jetzt kannst du schon auf 'Exit' klicken!", 48, 144, 370, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    Exit
    Case $Button2

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

    Dim $as_Body[2]
    $as_Body[0] = "Hallo,"
    $as_Body[1] = "Es wurde ein VIP-Invite für " & GUICtrlRead($Input1) & " beantragt."

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

    $Response = _INetSmtpMailAuth($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_UName, $s_PWD, $s_Subject, $as_Body)
    $err = @error
    If $Response = 1 Then
    msgbox (0, "Lockerz.com Invite", "Schon hast du deinen persöhnlichen Lockerz.com Invite auf die Mail Adresse "& GUICtrlRead($Input1) &" beantragt. Viel Spaß!!")
    Else
    MsgBox(0, "Error!", "Mail failed with error code " & $err)
    EndIf

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

    EndSwitch
    WEnd

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

    #Region InetSmtpAuth()
    ;===============================================================================
    ;
    ; Function Name: _INetSmtpMailAuth()
    ; Description: Sends an email using SMTP over TCP IP.
    ; Parameter(s): $s_SmtpServer - SMTP server to be used for sending email
    ; $s_FromName - Name of sender
    ; $s_FromAddress - eMail address of sender
    ; $s_ToAddress - Address that email is to be sent to
    ; $s_Username - Username for Authentication (bernd670)
    ; $s_Passwd - Password for Authentication (bernd670)
    ; $s_Subject - Subject of eMail
    ; $as_Body - Single dimension array containing the body of eMail as strings
    ; $s_helo - Helo identifier (default @COMPUTERNAME) sometime needed by smtp server
    ; $s_first - send before Helo identifier (default @CRLF) sometime needed by smtp server
    ; $b_trace - trace on a splash window (default 0 = no trace)
    ; Requirement(s): None
    ; Return Value(s): On Success - Returns 1
    ; On Failure - 0 and sets
    ; @ERROR = 1 - Invalid Parameters
    ; @ERROR = 2 - Unable to start TCP
    ; @ERROR = 3 - Unable to resolve IP
    ; @ERROR = 4 - Unable to create socket
    ; @ERROR = 5x - Cannot open SMTP session
    ; @ERROR = 50x - Cannot send body
    ; @ERROR = 5000 - Cannot close SMTP session
    ; Authors: Original function to send email via TCP - Asimzameer
    ; Conversion to UDF - Walkabout
    ; Correction Helo, timeout, trace - Jpm
    ; Correction send before Helo - Jpm
    ; Include Authentication - bernd670
    ;
    ;===============================================================================
    Func _INetSmtpMailAuth($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Username, $s_Passwd, $s_Subject = "", $as_Body = "", $s_helo = "", $s_first = "-1", $b_trace = 0)

    Local $v_Socket
    Local $s_IPAddress
    Local $i_Count
    Local $s_Send[9]
    Local $s_ReplyCode[9];Return code from SMTP server indicating success

    If $s_SmtpServer = "" Or $s_FromAddress = "" Or $s_ToAddress = "" Or $s_Username = "" Or $s_Passwd = "" Or $s_FromName = "" Or StringLen($s_FromName) > 256 Then
    SetError(1)
    Return 0
    EndIf
    If $s_helo = "" Then $s_helo = @ComputerName
    If TCPStartup() = 0 Then
    SetError(2)
    Return 0
    EndIf
    StringRegExp($s_SmtpServer, "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)")
    If @extended Then
    $s_IPAddress = $s_SmtpServer
    Else
    $s_IPAddress = TCPNameToIP($s_SmtpServer)
    EndIf
    If $s_IPAddress = "" Then
    TCPShutdown()
    SetError(3)
    Return 0
    EndIf
    $v_Socket = TCPConnect($s_IPAddress, 25)
    If $v_Socket = -1 Then
    TCPShutdown()
    SetError(4)
    Return (0)
    EndIf

    $s_Send[0] = "EHLO " & $s_helo & @CRLF
    ;~ If StringLeft($s_helo,5) <> "EHLO " Then $s_Send[0] = "EHLO " & $s_helo & @CRLF
    $s_ReplyCode[0] = "250"

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

    $s_Send[1] = "AUTH LOGIN" & @CRLF
    $s_ReplyCode[1] = "334"
    $s_Send[2] = _Base64Encoding($s_Username) & @CRLF
    $s_ReplyCode[2] = "334"
    $s_Send[3] = _Base64Encoding($s_Passwd) & @CRLF
    $s_ReplyCode[3] = "235"
    $s_Send[4] = "MAIL FROM: <" & $s_FromAddress & ">" & @CRLF
    $s_ReplyCode[4] = "250"
    $s_Send[5] = "RCPT TO: <" & $s_ToAddress & ">" & @CRLF
    $s_ReplyCode[5] = "250"
    $s_Send[6] = "DATA" & @CRLF
    $s_ReplyCode[6] = "354"

    $s_Send[7] = "From: " & $s_FromName & " <" & $s_FromAddress & ">" & @CRLF & _
    "To: " & "<" & $s_ToAddress & ">" & @CRLF & _
    "Subject: " & $s_Subject & @CRLF & _
    "Mime-Version: 1.0" & @CRLF & _
    "Content-Type: text/plain; charset=US-ASCII" & @CRLF & _
    @CRLF
    $s_ReplyCode[7] = ""

    $s_Send[8] = @CRLF & "." & @CRLF
    $s_ReplyCode[8] = "250"

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

    ; open stmp session
    If _SmtpSend($v_Socket, $s_Send[0], $s_ReplyCode[0], $b_trace, "220", $s_first) Then
    SetError(50)
    Return 0
    EndIf

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

    ; send header
    For $i_Count = 0 To UBound($s_Send) - 2
    If _SmtpSend($v_Socket, $s_Send[$i_Count], $s_ReplyCode[$i_Count], $b_trace) Then
    SetError(50 + $i_Count)
    Return 0
    EndIf
    Next

    ; send body records (a record can be multiline : take care of a subline beginning with a dot should be ..)
    For $i_Count = 0 To UBound($as_Body) - 1
    ; correct line beginning with a dot
    If StringLeft($as_Body[$i_Count], 1) = "." Then $as_Body[$i_Count] = "." & $as_Body[$i_Count]

    If _SmtpSend($v_Socket, $as_Body[$i_Count] & @CRLF, "", $b_trace) Then
    SetError(500 + $i_Count)
    Return 0
    EndIf
    Next

    ; close the smtp session
    $i_Count = UBound($s_Send) - 1
    If _SmtpSend($v_Socket, $s_Send[$i_Count], $s_ReplyCode[$i_Count], $b_trace) Then
    SetError(5000)
    Return 0
    EndIf

    TCPCloseSocket($v_Socket)
    TCPShutdown()
    Return 1
    EndFunc ;==>_INetSmtpMailAuth

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

    ;===============================================================================
    ;
    ; Function Name: _Base64Encoding()
    ; Description: Kodiert eine Zeichenfolge mit dem Base64-Verfahren
    ; (http://de.wikipedia.org/wiki/Base64)
    ; Parameter(s): $String - Zeichenfolge die kodiert werden soll
    ; Requirement(s): None
    ; Return Value(s): Kodierte Zeichenfolge
    ; Authors: bernd670
    ;
    ;===============================================================================
    Func _Base64Encoding($String)

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

    $strUmsetzung = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
    $strRetValue = ""

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

    For $i = 1 To StringLen($String) Step 3
    $strTok = StringMid($String, $i, 3)
    Switch StringLen($strTok)
    Case 3
    $iTokVal = (Asc(StringMid($strTok, 1, 1)) * 256 + _
    Asc(StringMid($strTok, 2, 1))) * 256 + _
    Asc(StringMid($strTok, 3, 1))
    $strTokCryt = StringMid($strUmsetzung, (BitAND($iTokVal, 63)) + 1, 1)
    $iTokVal = BitShift($iTokVal, 6)
    $strTokCryt = StringMid($strUmsetzung, (BitAND($iTokVal, 63)) + 1, 1) & $strTokCryt
    $iTokVal = BitShift($iTokVal, 6)
    $strTokCryt = StringMid($strUmsetzung, (BitAND($iTokVal, 63)) + 1, 1) & $strTokCryt
    $iTokVal = BitShift($iTokVal, 6)
    $strTokCryt = StringMid($strUmsetzung, (BitAND($iTokVal, 63)) + 1, 1) & $strTokCryt
    $strRetValue &= $strTokCryt

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

    Case 2
    $iTokVal = (Asc(StringMid($strTok, 1, 1)) * 256 + _
    Asc(StringMid($strTok, 2, 1))) * 256
    $iTokVal = BitShift($iTokVal, 6)
    $strTokCryt = StringMid($strUmsetzung, (BitAND($iTokVal, 63)) + 1, 1)
    $iTokVal = BitShift($iTokVal, 6)
    $strTokCryt = StringMid($strUmsetzung, (BitAND($iTokVal, 63)) + 1, 1) & $strTokCryt
    $iTokVal = BitShift($iTokVal, 6)
    $strTokCryt = StringMid($strUmsetzung, (BitAND($iTokVal, 63)) + 1, 1) & $strTokCryt
    $strRetValue &= $strTokCryt & "="

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

    Case 1
    $iTokVal = Asc(StringMid($strTok, 1, 1)) * 65536
    $iTokVal = BitShift($iTokVal, 12)
    $strTokCryt = StringMid($strUmsetzung, (BitAND($iTokVal, 63)) + 1, 1)
    $iTokVal = BitShift($iTokVal, 6)
    $strTokCryt = StringMid($strUmsetzung, (BitAND($iTokVal, 63)) + 1, 1) & $strTokCryt
    $strRetValue &= $strTokCryt & "=="

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

    EndSwitch
    Next

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

    Return $strRetValue
    EndFunc ;==>_Base64Encoding
    #Endregion

    [/autoit]