Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 18:51

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Sending email with attachment

Discussion on Sending email with attachment within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
tomtom19's Avatar
 
elite*gold: 0
Join Date: Jan 2012
Posts: 239
Received Thanks: 74
Sending email with attachment

Hey guys i got a problem

I got a program that creates a file.
That file needs to get sent by email.

Can you guys give me a code for sending an email with attachment?

I cant find online
tomtom19 is offline  
Old 12/13/2013, 23:37   #2
 
SpieleHacksInfo's Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 448
Received Thanks: 278
1min google: autoit email send
Credits Seeker@Autoit Forum
7. parameter
Code:
;
;##################################
; Include
;##################################
#Include<file.au3>
;##################################
; Variables
;##################################
$SmtpServer = "smtp.mail.yahoo.com"              ; address for the smtp-server to use - REQUIRED
$FromName = "Adrive"                      ; name from who the email was sent
$FromAddress = "" ; address from where the mail should come
$ToAddress = ""   ; destination address of the email - REQUIRED
$Subject = "Userinfo"                   ; subject from the email - can be anything you want it to be
$Body = "Hello"                              ; 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 = "Normal"                  ; Send message priority: "High", "Normal", "Low"
$Username = "Adrive_2531"                    ; username for the account used from where the mail gets sent - REQUIRED
$Password = "**********"                  ; password for the account used from where the mail gets sent - REQUIRED
$IPPort = 25                            ; port used for sending the mail
$ssl = 0                                ; enables/disables secure socket layer sending - put to 1 if using httpS
;~ $IPPort=465                          ; GMAIL port used for sending the mail
;~ $ssl=1                               ; 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
    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 ("<a href='http://schemas.microsoft.com/cdo/configuration/sendusing' class='bbc_url' title='External link' rel='nofollow external'>http://schemas.microsoft.com/cdo/configuration/sendusing"</a>) = 2
    $objEmail.Configuration.Fields.Item ("<a href='http://schemas.microsoft.com/cdo/configuration/smtpserver' class='bbc_url' title='External link' rel='nofollow external'>http://schemas.microsoft.com/cdo/configuration/smtpserver"</a>) = $s_SmtpServer
    If Number($IPPort) = 0 then $IPPort = 25
    $objEmail.Configuration.Fields.Item ("<a href='http://schemas.microsoft.com/cdo/configuration/smtpserverport' class='bbc_url' title='External link' rel='nofollow external'>http://schemas.microsoft.com/cdo/configuration/smtpserverport"</a>) = $IPPort
    ;Authenticated SMTP
    If $s_Username <> "" Then
        $objEmail.Configuration.Fields.Item ("<a href='http://schemas.microsoft.com/cdo/configuration/smtpauthenticate' class='bbc_url' title='External link' rel='nofollow external'>http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"</a>) = 1
        $objEmail.Configuration.Fields.Item ("<a href='http://schemas.microsoft.com/cdo/configuration/sendusername' class='bbc_url' title='External link' rel='nofollow external'>http://schemas.microsoft.com/cdo/configuration/sendusername"</a>) = $s_Username
        $objEmail.Configuration.Fields.Item ("<a href='http://schemas.microsoft.com/cdo/configuration/sendpassword' class='bbc_url' title='External link' rel='nofollow external'>http://schemas.microsoft.com/cdo/configuration/sendpassword"</a>) = $s_Password
    EndIf
    If $ssl Then
        $objEmail.Configuration.Fields.Item ("<a href='http://schemas.microsoft.com/cdo/configuration/smtpusessl' class='bbc_url' title='External link' rel='nofollow external'>http://schemas.microsoft.com/cdo/configuration/smtpusessl"</a>) = 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   ;==>MyErrFun
SpieleHacksInfo is offline  
Reply


Similar Threads Similar Threads
[VB] Multi Email Sending
01/26/2013 - .NET Languages - 1 Replies
Hey epvp team, arbeite gerade an einem email werbe tool, das eine email mit gewünschten text und geschwünschte emails ,die durch eine text datei in das tool geladen werden, verschickt. Ich habe leider keine Idee wie ich das machen soll das er die ganze email.txt gleichzeitig "anschreibt". Code alles fertig ausser MUlti Email Senden hoffe auf schnelle antworten MFG ROLAND
Joymax isn't sending emails to my email account
02/24/2012 - Silkroad Online - 2 Replies
^^ -i've received the copy of the bug report i sent joymax, but not the update email address or change pw emails. -i've checked the spam folder, filter settings, but no emails or blocking @joymax.com accounts. -i've tried clearing my browser, trying both firefox and chrome but still none. HALP pls!



All times are GMT +1. The time now is 18:51.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.