Emails send

  • hallo zusammen

    Also ich habe ein Problem
    ich versuche Emails zu versenden ohne irgend welche Programme und Fenster.
    wenn ich das Programme starte kommt diese fehl Meldung.

    [autoit]

    ### COM Error ! Number: 80020009 ScriptLine: 71 Description:Der Server hat eine oder mehrere Empfängeradressen zurückgewiesen. Die Serverantwort lautet: 501 <la>: recipient address must contain a domain

    [/autoit][autoit]

    #include<file.au3>
    Global $oMyRet[2]
    Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")

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

    $SmtpServer = "smtp.web.de"
    $FromName = "test"
    $FromAddress = ""
    $ToAddress = ""
    $Subject = "test"
    $Body = "hallo"
    $AttachFiles = "" ;<------------------------------------- HIER
    $CcAddress = ""
    $BccAddress = ""
    $Importance = ""
    $Username = ""
    $Password = ""
    $IPPort = 25
    $ssl = 1
    $rc = _INetSmtpMailCom($SmtpServer, $FromName, $FromAddress, $ToAddress, $Subject, $Body, $AttachFiles, $CcAddress, $BccAddress, $Importance, $Username, $Password, $IPPort, $ssl)

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

    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
    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(62) : $S_Files2Attach = ' & $S_Files2Attach & @LF & '>Error code: ' & @error & @LF)
    If FileExists($S_Files2Attach[$x]) Then
    $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
    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
    $objEmail.Configuration.Fields.Update
    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
    $objEmail.Send
    If @error Then
    SetError(2)
    Return $oMyRet[1]
    EndIf
    $objEmail = ""
    EndFunc ;==>_INetSmtpMailCom
    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)
    Return
    EndFunc ;==>MyErrFunc

    [/autoit]

    kann mir bitte einer helfen
    mfg:schuhi

    Einmal editiert, zuletzt von schuhi88 (7. März 2009 um 23:43)

  • Hihi das ist das von mir :D
    Du musst bei Username usw schon das einfügen, womit du dich einloggst.
    Also z.b. bei web:

    Spoiler anzeigen
    [autoit]


    $SmtpServer = "smtp.web.de"
    $FromName = "test"
    $FromAddress = "bla@web.de"
    $ToAddress = "die Zieladresse"
    $Subject = "test"
    $Body = "hallo"
    $AttachFiles = "" ;<------------------------------------- HIER
    $CcAddress = ""
    $BccAddress = ""
    $Importance = ""
    $Username = "bla"
    $Password = "passwort"
    $IPPort = 25
    $ssl = 1

    [/autoit]

    Padmak

  • ja das habe ich auch alles gemacht die Daten ein tragen kann das an den port 25 liegen das der im Router aufen gemacht werden muß???

  • jo es hat zugreife im Internet

    kann man auch anders text senden über Internet???

  • hmm das ist keine gute Idee mit ftp

    wo hast du den deine Email Adresse das es bei dir geht??

  • Simpleste Lösung:

    [autoit]

    $body="Zeile1"&@crlf&"Zeile2"

    [/autoit]

    ...

    MfG. tobi_girst

    MfG. tobi_girst

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobi_girst« (Morgen, 25:63)

  • Mehrzeilig kann man auch übersichtlicher machen:

    [autoit]


    $Body = "Zeile 1" & @CRLF & _
    "Zeile 2" & @CRLF & _
    "Zeile 3" & @CRLF & _
    "Zeile 4" & @CRLF & _
    "Zeile 5" & @CRLF & _
    "usw."

    [/autoit]

    Padmak