|
You last visited: Today at 09:58
Advertisement
Über Autoit Email senden
Discussion on Über Autoit Email senden within the AutoIt forum part of the Coders Den category.
08/08/2015, 12:06
|
#1
|
elite*gold: 100
Join Date: Oct 2009
Posts: 348
Received Thanks: 20
|
Über Autoit Email senden
Guten Morgen liebe Comunity,
Ich suche nach einem Weg um eine Email über Autoit zu versenden aber bekomme es einfach nicht hin. Ich habe die _INetSmtpMailCom Funktion gefunden aber leider geht es damit auch nicht. Wenn ich erhlich bin weiß ich auch nicht so recht wie man die benutzt. Wäre jmd von euch so nett und könnte mir in der Richtung weiter helfen mit einem Beispiel oder ähnlichen? Vllt gibt es auch noch andere Wege.
Bei erfolgreicher Hilfe würde ich das auch mit etwas Egold entschädigen.
Gruß Benny
|
|
|
08/08/2015, 13:42
|
#2
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
deine funktion kenne ich nicht. warum benutzt du nicht einfach eine aus den standard udf's?
_INetSmtpMail
die parameter sind alle selbst erklärend aber auch in der hilfe sehr gut beschrieben.
Für den ersten parameter siehe hier:
|
|
|
08/10/2015, 10:35
|
#3
|
elite*gold: 100
Join Date: Oct 2009
Posts: 348
Received Thanks: 20
|
Danke FlutterShy
Ich werde das nachher mal ausprobieren.
Eine andere Frage:
Ich habe es geschafft mit Winhttp eine Mail zu versenden über den Anbieter Web.de. Nach gewisser Zeit wird jetzt das senden von emails blockiert. Würde das über die Funktion _INetSmtpMail auch passieren? Wenn ja, kennt jemand ein Anbieter bei dem es nie gesperrt wird?
|
|
|
08/10/2015, 12:27
|
#4
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Das hängt vom Anbieter ab wie er die SMTP-Einstellungen setzt. Yahoo z.B. blockiert den SMTP Ausgang nicht und von dort aus kannst du spammen wie du willst. Bei Web.de bin ich mir nicht sicher.
|
|
|
08/10/2015, 12:49
|
#5
|
elite*gold: 100
Join Date: Oct 2009
Posts: 348
Received Thanks: 20
|
Mit der _INetSmtpMail funktion hat es leider nicht geklappt und bin im Netz auch nicht auf eine Lösung gestoßen.
Ah danke dir!
Werde es nachher mal mit yahoo versuchen.
|
|
|
08/10/2015, 13:39
|
#6
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Vielleicht benutzt du ja die falschen Daten. Isolier dein Problem doch mal auf einen neuen blanken Account und poste dein Script hier.
|
|
|
08/10/2015, 22:30
|
#7
|
elite*gold: 100
Join Date: Oct 2009
Posts: 348
Received Thanks: 20
|
Ich hab jetzt mal versucht mit Winhttp eine Email bei Yahoo zu schicken aber bekomme es nicht hin. Wenn ich mich in den Account einloggen will sagt mir die Webseite, dass meine Einlogdaten falsch wären. Ich hoffe ihr könnt mir da helfen.
Hier ist der Code:
Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <WinHttp.au3>
#include <string.au3>
#include <array.au3>
Send_Email()
Func Send_Email()
;$benutzername = " "
;$passwort = "94634435Bb"
$hseassion = _winhttpOpen("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0")
$hconnect = _WinHttpConnect($hseassion, "de.yahoo.com", $INTERNET_DEFAULT_HTTPS_PORT)
$sHTML = _WinHttpSimpleSSLRequest($hconnect, "GET", "") ;startseite
FileWrite("Startseite.html",$sHTML)
$hconnect = _WinHttpConnect($hseassion, "login.yahoo.com", $INTERNET_DEFAULT_HTTPS_PORT)
$sHTML = _WinHttpSimpleSSLRequest($hconnect, 'GET','/config/login?.src=fpctx&.intl=de&.lang=de-DE&.done=https://de.yahoo.com/','https://de.yahoo.com/'); Login Seite
FileWrite("Loginseite.html",$sHTML)
$id1 = _StringBetween($sHTML,'<input name="_ts" type="hidden" value="','"')
$id2 = _StringBetween($sHTML,'<input name="_uuid" type="hidden" value="','"')
$id3 = _StringBetween($sHTML,'<input name="_seqid" type="hidden" value="','"')
$sHTML = _WinHttpSimpleSSLRequest($hconnect,'POST',"/config/login?.src=fpctx&.intl=de&.lang=de-DE&.done=https%3A%2F%2Fde.yahoo.com%2F","countrycode=49&username=Testos123456%40yahoo.de&passwd=94634435Bb&.persistent=y&signin=&_crumb=o7rdUmcM2xo&_ts="&$id1[0]&"&_format=json&_uuid="&$id2[0]&"&_seqid="&$id3[0]&"&otp_channel=&_loadtpl=1"); Eingelogt
FileWrite("Eingeloggt.html",$sHTML)
_WinHttpCloseHandle($hConnect)
_WinHttpCloseHandle($hseassion)
EndFunc
|
|
|
08/10/2015, 22:36
|
#8
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Warum versuchst du es überhaupt über WinHttp? Nimm dafür doch einfach _InetSmtpMailCom.
|
|
|
08/10/2015, 22:38
|
#9
|
elite*gold: 100
Join Date: Oct 2009
Posts: 348
Received Thanks: 20
|
Ja ok, ich versuche es mal damit.
So, ich hab es jetzt mal probiert aber leider bekomme ich das auch nicht hin. :-/ Die Funktion habe ich von autoitscript von einem Post von Jos.
Autoit gibt mir die Fehlermeldung:
(37,15) : error: missing separator character before keyword.
Code:
#Include<file.au3>
;##################################
; Variables
;##################################
$SmtpServer = "smtp.mail.yahoo.com" ; address for the smtp-server to use - REQUIRED
$FromName = "Benny" ; name from who the email was sent
$FromAddress = " " ; address from where the mail should come
$ToAddress = " " ; destination address of the email - REQUIRED
$Subject = "Betreff" ; subject from the email - can be anything you want it to be
$Body = "Inhalt" ; the messagebody from the mail - can be left blank but then you get a blank mail
$AttachFiles = "" ; the file(s) you want to attach seperated with a ; (Semicolon) - leave blank if not needed
$CcAddress = "" ; address for cc - leave blank if not needed
$BccAddress = "" ; address for bcc - leave blank if not needed
$Importance = "High" ; Send message priority: "High", "Normal", "Low"
$Username = " " ; username for the account used from where the mail gets sent - REQUIRED
$Password = "94634435Bb" ; password for the account used from where the mail gets sent - REQUIRED
$IPPort = 465 ; port used for sending the mail - Yahoo Port: 465 oder 587
$ssl = 1 ; enables/disables secure socket layer sending - put to 1 if using httpS - GMAILenables/disables secure socket layer sending - put to 1 if using httpS
;
;##################################
; Script
;##################################
Global $oMyRet[2]
Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
$rc = _INetSmtpMailCom($SmtpServer, $FromName, $FromAddress, $ToAddress, $Subject, $Body, $AttachFiles, $CcAddress, $BccAddress, $Importance, $Username, $Password, $IPPort, $ssl)
If @error Then
MsgBox(0, "Error sending message", "Error code:" & @error & " Description:" & $rc)
EndIf
;
; The UDF
Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Importance="Normal", $s_Username = "", $s_Password = "", $IPPort = 25, $ssl = 0)
Local $objEmail = ObjCreate("CDO.Message")
$objEmail.From = '"' & $s_FromName & '" <' & $s_FromAddress & '>'
$objEmail.To = $s_ToAddress ; <----- Zeile 37
Local $i_Error = 0
Local $i_Error_desciption = ""
If $s_CcAddress <> "" Then $objEmail.Cc = $s_CcAddress
If $s_BccAddress <> "" Then $objEmail.Bcc = $s_BccAddress
$objEmail.Subject = $s_Subject
If StringInStr($as_Body, "<") And StringInStr($as_Body, ">") Then
$objEmail.HTMLBody = $as_Body
Else
$objEmail.Textbody = $as_Body & @CRLF
EndIf
If $s_AttachFiles <> "" Then
Local $S_Files2Attach = StringSplit($s_AttachFiles, ";")
For $x = 1 To $S_Files2Attach[0]
$S_Files2Attach[$x] = _PathFull($S_Files2Attach[$x])
;~ ConsoleWrite('@@ Debug : $S_Files2Attach[$x] = ' & $S_Files2Attach[$x] & @LF & '>Error code: ' & @error & @LF) ;### Debug Console
If FileExists($S_Files2Attach[$x]) Then
ConsoleWrite('+> File attachment added: ' & $S_Files2Attach[$x] & @LF)
$objEmail.AddAttachment($S_Files2Attach[$x])
Else
ConsoleWrite('!> File not found to attach: ' & $S_Files2Attach[$x] & @LF)
SetError(1)
Return 0
EndIf
Next
EndIf
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_SmtpServer
If Number($IPPort) = 0 then $IPPort = 25
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $IPPort
;Authenticated SMTP
If $s_Username <> "" Then
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = $s_Username
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $s_Password
EndIf
If $ssl Then
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
EndIf
;Update settings
$objEmail.Configuration.Fields.Update
; Set Email Importance
Switch $s_Importance
Case "High"
$objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "High"
Case "Normal"
$objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "Normal"
Case "Low"
$objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "Low"
EndSwitch
$objEmail.Fields.Update
; Sent the Message
$objEmail.Send
If @error Then
SetError(2)
Return $oMyRet[1]
EndIf
$objEmail=""
EndFunc ;==>_INetSmtpMailCom
;
;
; Com Error Handler
Func MyErrFunc()
$HexNumber = Hex($oMyError.number, 8)
$oMyRet[0] = $HexNumber
$oMyRet[1] = StringStripWS($oMyError.description, 3)
ConsoleWrite("### COM Error ! Number: " & $HexNumber & " ScriptLine: " & $oMyError.scriptline & " Description:" & $oMyRet[1] & @LF)
SetError(1); something to check for when this function returns
Return
EndFunc ;==>MyErrFunc
|
|
|
08/11/2015, 11:53
|
#10
|
elite*gold: 1860
Join Date: Jan 2012
Posts: 2,209
Received Thanks: 1,630
|
SMTP Yahoo sowie die anderen meisten Server haben eine neue Funktion, mit der AutoIt nicht klar kommt. Ich kenne nur Arcor, wo E-Mail senden noch geht. Dadurch, dass z.B Yahoo etc. einen guten Schutz hat, wird deine E-Mail aufgrund der connections nach wenigen Stunden gesperrt, also lass es lieber sein.
|
|
|
08/11/2015, 16:48
|
#11
|
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
|
Ich gehe mal stark davon aus dass das einfach nur eine Einstellung bei Yahoo ist, dass man externe SMTP und POP zugriffe erst gestatten muss, dann sollte das wieder gehen. An dem SMTP protokoll hat sich soweit ja nichts geändert (und selbst wenn sollte es abwärtskompatibel sein).
Ich denke nicht dass Yahoo verhindert dass man externe Mail Programme nutzen kann
|
|
|
08/11/2015, 17:02
|
#12
|
elite*gold: 1860
Join Date: Jan 2012
Posts: 2,209
Received Thanks: 1,630
|
Quote:
Originally Posted by warfley
Ich gehe mal stark davon aus dass das einfach nur eine Einstellung bei Yahoo ist, dass man externe SMTP und POP zugriffe erst gestatten muss, dann sollte das wieder gehen. An dem SMTP protokoll hat sich soweit ja nichts geändert (und selbst wenn sollte es abwärtskompatibel sein).
Ich denke nicht dass Yahoo verhindert dass man externe Mail Programme nutzen kann
|
Hat nichts mit Yahoo selbst zu tun sondern mit AutoIt. AutoIt unterstützt das geänderte Verfahren nicht.
|
|
|
08/11/2015, 18:08
|
#13
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by MaxChri
Hat nichts mit Yahoo selbst zu tun sondern mit AutoIt. AutoIt unterstützt das geänderte Verfahren nicht. 
|
laber keine scheiße. Die autoit build in funktion reicht aus und funktioniert
|
|
|
08/11/2015, 20:58
|
#14
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Quote:
Originally Posted by »FlutterShy™
laber keine scheiße. Die autoit build in funktion reicht aus und funktioniert
|
Als ich das letztens mit Yahoo probiert hab funktionierte es sogar noch.
|
|
|
08/11/2015, 21:09
|
#15
|
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
|
Was sollte auch nicht funktionieren, das ist eine stink normale TCP verbindung über ein Offenes Protokoll, was schon seit Jahren gleich ist, und woran sich nichts so leicht ändern wird, egal ob AutoIT oder C, letztlich ist dass dem SMTP server egal
|
|
|
 |
|
Similar Threads
|
AutoIT JPG machen und über TCP senden...
03/25/2012 - AutoIt - 6 Replies
Moin moin...
Wisst ihr, wie ich mit AutoIT eine JPG vom Desktop mache und via TCP an meinen PC sende? Geht darum, ich will einen eigenes Chat-System für hier zuhause und inner Schule machen.
Das wird dann über Internet (PHP) und über .exe (AutoIT) funktionieren.
Der Server läuft auf einem HP Homeserver...
Daher müsste ich irgendwie ein abbild vom Desktop bekommen, da dort Windows XP läuft und die richtigen "Connectors" dafür mega lhm sind :mad:
Alsoooo... wie kann ich nun ein Bild vom...
|
[s]autoit packete senden über offenen socket
07/17/2011 - AutoIt - 0 Replies
Hallo
Ich suche ein Programm oder ein Script fur autoit, um Packete zu senden.
Ich mochte von einem schon existierten Socket ein packet empfangen und diesen packet danach auf anderem rechner senden.
Ich habe schon mal angefangen mit Winpcap.au3,
Klappt super, kann zwar super packete empfangen,
doch leider mit senden gibt es Probleme.
Ganze zeit TCP Out of Order.
Fall jemand von euch mit DLLCall auskennt, ist es zu schaffen, dass man mit Ws2_32.dll dies ermoglicht?
|
Autoit textdokument automatisch über tcp senden
03/07/2011 - AutoIt - 6 Replies
Hallo ich wollte fragen ob man bei autoit über tcp ein textdokument automatisch an einen anderen pc senden lassen kann?? wenn ja wie
|
Vb 8 Email Senden
03/31/2010 - .NET Languages - 5 Replies
Hallo Com
Ich hab gestern mit Visual Basic 2008 angefangen. Doch leider hab ich ein Problem.
Man muss etwas in 4 Textboxen eingeben ( Textbox 1, Textbox 2, Textbox 3, Textbox 4). Dann klickt man auf OK und die Sachen die dort rein geschrieben sind sollen an meine googlemail adresse geschickt werden.
Doch alle meine Scripts die ich aus Youtube und google habe klappen nicht.
Kann mir wer einen vollständigen Script hier rein schreiben?
Wäre sehr nett
Ach ja wer helfen kann kriegt mind. 15...
|
All times are GMT +1. The time now is 10:00.
|
|