[AutoIT] Mail Bommer Max Speed With SMTP

KuBi [mrkubii]
11 years ago | edited 11 years ago

0

[b]I bommer success with smtp . Here is the source smtp you can rebuild as you like

Sorry ! my english is bad xD

[b]If you have question ? plz replay my topic :D
[/b]
Demo bommer[/b]
Image

#Include<file.au3>  
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](/profile/error) Then  
    MsgBox(0, "Error sending message", "Error code:" & [@error](/profile/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  
    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](/profile/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](/profile/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  
0replies
1voice
278views
1image
You must be logged in to reply to this discussion. Login
1 of 1

This site only uses cookies that are essential for the functionality of this website. Cookies are not used for tracking or marketing purposes.

By using our site, you acknowledge that you have read and understand our Privacy Policy, and Terms of Service.

Dismiss