- Offizieller Beitrag
Hi,
ich habe die Verantwortlichen mal auf die Erweiterung aufmerksam gemacht, mal gucken ob sich was tut.
So long,
Mega
Hi,
ich habe die Verantwortlichen mal auf die Erweiterung aufmerksam gemacht, mal gucken ob sich was tut.
So long,
Mega
also ich hab dasselbe problem und hab alles mit eingebunden und geh auch mit 1und1.de "on"...
und bei mir kommt hlat auch derselbe fehlercod(51)
habt ihr den schion behoben gekriegt???
bitte um antwort;)
thx..
robin
Hallo Robin,
ZitatOriginal von rfey
also ich hab dasselbe problem und hab alles mit eingebunden und geh auch mit 1und1.de "on"...und bei mir kommt hlat auch derselbe fehlercod(51)
habt ihr den schion behoben gekriegt???
mit der letzten Version von bernd670 funktioniert es bei mir problemlos. Ich bin auch 1und1-Kunde.
Happy computing!
skyteddy
ja das ist ja mein prob das es ja nciht klappt
muss man die au3 datei einfach noch da hinzufügen also in der _INet.au3 oder direkt ganz überschreiben???
Hallo,
einfach die beiden Funktionen _INetSmtpMailAuth und Base64Encoding in deinen Quellcode kopieren und die Datei INet.au3 includen!
Hello again,
ZitatOriginal von rfey
ja das ist ja mein prob das es ja nciht klapptmuss man die au3 datei einfach noch da hinzufügen also in der _INet.au3 oder direkt ganz überschreiben???
nimm doch einfach Bernds Beispiel und die inet.au3 und ändere die Login-Daten ab und schau ob das funktioniert. Wenn ja, dann erweitere den Code nach Deinen Bedürfnissen.
Oder wie sieht Dein Code aus?
Happy computing!
skyteddy
ach egal...
hab mir jetzt ne ganz anderemöglichkeit geschaffen und kombiniere das programm jetzt einfach mit auto mailer;)
trotzdem thx
robin
ZitatOriginal von rfey
ach egal...
Wer wird denn so schnell aufgeben
Zitathab mir jetzt ne ganz anderemöglichkeit geschaffen und kombiniere das programm jetzt einfach mit auto mailer;)
Was ist denn der auto-mailer?
Happy computing!
skyteddy
wer redet denn von aufgeben hab mir nur nen neuen weg zum ziel gesucht:P
also cih erklär jetzte infach ma die ganze aufgabe: hab gerade praktikum und meine aufgabe lautete:
mit autoreader, ein programm das sich automatisch auf dem email server mit dem account einloggt und emails überprüft und diese dann auf dem pc speichert. wenn die mail einen anhang hat sollte dieser in einem extra ordner gespeichert werden und wenn dieser anhang eine pdf datei ist sollte sie ( jetzt kommt autoit^^) in einen anderen ordner verschoben werden.aus diesem ordner wird sie dann mittels batchprint( ein programm das sich im adobe Reader integriert und dann bestimmte ordner nach pdf dateien durchsucht und diese dann atomatisch druckt;)) gedruckt. die gedruckte datei wird dann ine ienen andereordner verschoben damit sie nicht ausversehen ein zweites mal gedruckt wird. ja und jetzt kam der eigentliche teil den ich eig mit autoit lösen wollteaber dann jetzt doch mit autoreader: wenn eine datei gedruckt wurde sollte eine email versendet werden mit dem inhalt wann welche datei gedruckt wurde;)
da dies ja leider nciht geklappt hat habich einfach mit autoreader(das gegenstück zum autoreader^^(zum automatischem versenden von txt oder andern dateien)) autoit in einenm ordenr eine txt datei erstellt die der reader dann verschickt und der autoit beim nächstem durchgang direkt löscht:P
naja hoffe ist jetzt nicht zu kompliziert beschrieben^^
Hallo,
einen ganz besonderen Dank für den "Hinweis" auf die $s_first....
Damit klappt es auch bei einem Notes-Server, wir werden uns jetzt mit scriptgenerierten Mails beglücken können...
Zuhause, Nachts, an Feiertagen, im Urlaub, einfach immer. Toll.
Danke für diese Information.
michael
Hallöchen!
Ich habe ebenfalls die Fehlermeldung Error 51... Script, Inet.au3 von Bernd verwendet mit web.de leider kein Erfolg...
was kann ich machen??? Ping ist möglich, antwortet auch, wenn ich jedoch mit telnet mal probiere bekomme ich die Meldung 220 smtp.passthru
Wer kann helfen??? Wie gesagt, script von Bernd genommen und durch eigene Daten ersetzt
Hallo,
kann es sein das Du $s_UName oder $s_PWD falsch angegeben hast!
#include <INet.au3>
$s_SmtpServer = "smtp.web.de"
$s_FromName = "bernd670"
$s_FromAddress = "bernd670@web.de"
$s_ToAddress = "bernd670@gmx.de"
$s_Subject = "My Test UDF"
$s_UName = "bernd670" ; Benutzername ohne @web.de
$s_PWD = "<passwort>"
Dim $as_Body[2]
$as_Body[0] = "Testing the new email udf"
$as_Body[1] = "Second Line"
$Response = _INetSmtpMailAuth ($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_UName, $s_PWD, $s_Subject, $as_Body, "EHLO ")
;~ $Response = _INetSmtpMail ($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body)
$err = @error
If $Response = 1 Then
MsgBox(0, "Success!", "Mail sent")
Else
MsgBox(0, "Error!", "Mail failed with error code " & $err)
EndIf
;===============================================================================
;
; 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] = "HELO " & $s_helo & @CRLF
If StringLeft($s_helo,5) = "EHLO " Then $s_Send[0] = "EHLO " & $s_helo & @CRLF
$s_ReplyCode[0] = "250"
$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"
; open stmp session
If _SmtpSend($v_Socket, $s_Send[0], $s_ReplyCode[0], $b_trace, "220", $s_first) Then
SetError(50)
Return 0
EndIf
; 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
;===============================================================================
;
; 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)
$strUmsetzung = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
$strRetValue = ""
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
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 & "="
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 & "=="
EndSwitch
Next
Return $strRetValue
EndFunc
Hallo Bernd!
Schön dass du mir antwortest! Find ich richtig Klasse... habe alles korrekt eingeben (also so wie in deinem letzten Beitrag, natürlich mit meinen Daten ist ja klar
Was ich wie gesagt komisch finde ist auch, dass ich wenn ich per Telnet probiere, folgenden Fehlermeldung bei open smtp.web.de 25 bekomme:
220 smtp.passthru
Ja doch, da hängt noch ein IPcop dazwischen... (Ipcop.org)
Hallo Zusammen,
wie kann ich eine Email an mehrere Empfänger schicken? Geht das irgendwie?
Bernd
Ist Deine Version von _INetSmtpMail eigentlich ins AutoIt eingeflossen? Ich hab mal auf die Schnelle mein Script mit der in AutoIt enthaltenen _INetSmtpMail enthaltenen compiliert und mein Script hat nicht mehr funktioniert. Hab ich was falsch gemacht oder ist darin deine Fehlerkorrektur "Correction Param $s_first" nicht enthalten?
Happy computing!
R@iner
Hallo,
die Funktion _INetSmtpMail in der aktuellen Stable hat immer noch den Fehler!
Hallo Bernd,
die Funktion _INetSmtpMail in der aktuellen Stable hat immer noch den Fehler!
ich hab es heute Mittag auch nochmal ausprobiert und es geht definitiv nicht mit der 3.2.12.0.
Magste nicht nen bug/feature request im Trac melden? Schließlich hast Du das ja auch gefixt
Hast Du ne Idee, wie ich ne Email an 2 Empfänger in einem Rutsch schicken kann? Von mir aus auch einen Empfänger im "to:"- und einen mit "cc:"-Feld
Happy computing!
R@iner
Hast Du ne Idee, wie ich ne Email an 2 Empfänger in einem Rutsch schicken kann? Von mir aus auch einen Empfänger im "to:"- und einen mit "cc:"-Feld
Hi,
hat keiner ne Idee, wie man ne Mail an 2 (oder mehr) Empfänger schicken kann?
Würde mich nämlich auch interessieren.
Danke und Gruß
Herra