• Earn real money by being active: Hello Guest, earn real money by simply being active on the forum — post quality content, get reactions, and help the community. Once you reach the minimum credit amount, you’ll be able to withdraw your balance directly. Learn how it works.

AutoIT SMTP mail function with multi-attachment support

Status
Not open for further replies.

Nax

Leech
User
Joined
Oct 18, 2011
Messages
275
Reputation
0
Reaction score
115
Points
43
Credits
0
‎13 Years of Service‎
92%
Code:
>    ; #FUNCTION#  ================================================================================ ​====================================
   ; Name ..........: _CompSMTPmail
   ; Description ...: Sends a mail using SMTP
   ; Syntax ........: _CompSMTPmail($Username, $Password, $From, $To, $Subject, $Body, $smtp, $port[, $attachments = Chr(0])
   ; Parameters ....: $Username            - SMTP service username
   ;                  $Password            - SMTP service password
   ;                  $From                - From email
   ;                  $To                  - To email
   ;                  $Subject             - Mail subject
   ;                  $Body                - Mail body
   ;                  $smtp                - SMTP service adress
   ;                  $port                - SMTP service port
   ;                  $attachments         - [optional] Files to attach. For multiple files use ";" without quotes as a seporator
   ; Return values .: None
   ; @error values .: 1 - Invalid username
   ;                   2 - Invalid password
   ;                   3 - Invalid from email
   ;                   4 - Invalid to email
   ;                   5 - Invalid subject
   ;                   6 - Invalid body
   ;                   7 - Invalid smtp server
   ;                   8 - Invalid port
   ;
   ; Author ........: 1234hotmaster
   Func _CompSMTPmail($Username,$Password,$From,$To,$Subject,$Body,$smtp,$port,$attachme​nts=Chr(0))
       Global $ERR
       If Not StringLen($Username) > 1 Or $Username=Chr(0) Then $ERR = 1
       If Not StringLen($Password) > 1 Or $Password=Chr(0) Then $ERR = 2
       If Not StringLen($From) > 1 Or Not StringInStr($From,Chr(64)) Or $From=Chr(0) Then $ERR = 3
       If Not StringLen($To) > 1 Or Not StringInStr($To,Chr(64)) Or $To=Chr(0) Then $ERR = 4
       If Not StringLen($Subject) > 1 Or $Subject=Chr(0) Then $ERR = 5
       If Not StringLen($Body) > 1 Or $Body=Chr(0) Then $ERR = 6
       If Not StringLen($smtp) > 1 Or $smtp=Chr(0) Then $ERR = 7
       If Not $port > 0 Then $ERR = 8

           $myMail =  ObjCreate(Chr(67)&Chr(68)&Chr(79)&Chr(46)&Chr(77)&Chr(101)&Chr(115)&Chr(115)&Chr(97)&Chr(103)&Chr(101))
           $myMail.Subject=$Subject
           $myMail.From=$From
           $myMail.To=$To
           If StringInStr($Body,Chr(60)) And StringInStr($Body,Chr(62)) Then
               $myMail.HTMLBody=$Body
           Else
               $myMail.TextBody=$Body
           EndIf
           If StringLen($attachments) > 1 Then
               Dim $attc = StringSplit($attachments,Chr(59))
                   If IsArray($attc) Then
                       For $i = 1 To $attc[0]
                           If FileExists($attc[$i]) Then $myMail.AddAttachment($attc[$i])
                       Next
                   EndIf
           EndIf

           $myMail.Configuration.Fields.Item(Chr(104)&Chr(116)&Chr(116)&Chr(112)&Chr(58)&Chr(47)&Chr(47)&Chr(115)&Chr(99)&Chr(104)&Chr(101)&Chr(109)&Chr(97)&Chr(115)&  _
   Chr(46)&Chr(109)&Chr(105)&Chr(99)&Chr(114)&Chr(111)&Chr(115)&Chr(111)&Chr(102)&Chr(116)&Chr(46)&Chr(99)&Chr(111)&Chr(109)&Chr(47)&  _
   Chr(99)&Chr(100)&Chr(111)&Chr(47)&Chr(99)&Chr(111)&Chr(110)&Chr(102)&Chr(105)&Chr(103)&Chr(117)&Chr(114)&Chr(97)&Chr(116)&Chr(105)&  _
   Chr(111)&Chr(110)&Chr(47)&Chr(115)&Chr(101)&Chr(110)&Chr(100)&Chr(117)&Chr(115)&Chr(105)&Chr(110)&Chr(103))=2
           $myMail.Configuration.Fields.Item(Chr(104)&Chr(116)&Chr(116)&Chr(112)&Chr(58)&Chr(47)&Chr(47)&Chr(115)&Chr(99)&Chr(104)&Chr(101)&Chr(109)&Chr(97)&Chr(115)&  _
   Chr(46)&Chr(109)&Chr(105)&Chr(99)&Chr(114)&Chr(111)&Chr(115)&Chr(111)&Chr(102)&Chr(116)&Chr(46)&Chr(99)&Chr(111)&Chr(109)&Chr(47)&  _
   Chr(99)&Chr(100)&Chr(111)&Chr(47)&Chr(99)&Chr(111)&Chr(110)&Chr(102)&Chr(105)&Chr(103)&Chr(117)&Chr(114)&Chr(97)&Chr(116)&Chr(105)&  _
   Chr(111)&Chr(110)&Chr(47)&Chr(115)&Chr(109)&Chr(116)&Chr(112)&Chr(115)&Chr(101)&Chr(114)&Chr(118)&Chr(101)&Chr(114))=$smtp
           $myMail.Configuration.Fields.Item(Chr(104)&Chr(116)&Chr(116)&Chr(112)&Chr(58)&Chr(47)&Chr(47)&Chr(115)&Chr(99)&Chr(104)&Chr(101)&Chr(109)&Chr(97)&Chr(115)&  _
   Chr(46)&Chr(109)&Chr(105)&Chr(99)&Chr(114)&Chr(111)&Chr(115)&Chr(111)&Chr(102)&Chr(116)&Chr(46)&Chr(99)&Chr(111)&Chr(109)&Chr(47)&  _
   Chr(99)&Chr(100)&Chr(111)&Chr(47)&Chr(99)&Chr(111)&Chr(110)&Chr(102)&Chr(105)&Chr(103)&Chr(117)&Chr(114)&Chr(97)&Chr(116)&Chr(105)&  _
   Chr(111)&Chr(110)&Chr(47)&Chr(115)&Chr(109)&Chr(116)&Chr(112)&Chr(115)&Chr(101)&Chr(114)&Chr(118)&Chr(101)&Chr(114)&Chr(112)&Chr(111)&  _
   Chr(114)&Chr(116))=$port
           $myMail.Configuration.Fields.Item(Chr(104)&Chr(116)&Chr(116)&Chr(112)&Chr(58)&Chr(47)&Chr(47)&Chr(115)&Chr(99)&Chr(104)&Chr(101)&Chr(109)&Chr(97)&Chr(115)&  _
   Chr(46)&Chr(109)&Chr(105)&Chr(99)&Chr(114)&Chr(111)&Chr(115)&Chr(111)&Chr(102)&Chr(116)&Chr(46)&Chr(99)&Chr(111)&Chr(109)&Chr(47)&  _
   Chr(99)&Chr(100)&Chr(111)&Chr(47)&Chr(99)&Chr(111)&Chr(110)&Chr(102)&Chr(105)&Chr(103)&Chr(117)&Chr(114)&Chr(97)&Chr(116)&Chr(105)&  _
   Chr(111)&Chr(110)&Chr(47)&Chr(115)&Chr(109)&Chr(116)&Chr(112)&Chr(117)&Chr(115)&Chr(101)&Chr(115)&Chr(115)&Chr(108))  = True
           $myMail.Configuration.Fields.Item(Chr(104)&Chr(116)&Chr(116)&Chr(112)&Chr(58)&Chr(47)&Chr(47)&Chr(115)&Chr(99)&Chr(104)&Chr(101)&Chr(109)&Chr(97)&Chr(115)&  _
   Chr(46)&Chr(109)&Chr(105)&Chr(99)&Chr(114)&Chr(111)&Chr(115)&Chr(111)&Chr(102)&Chr(116)&Chr(46)&Chr(99)&Chr(111)&Chr(109)&Chr(47)&  _
   Chr(99)&Chr(100)&Chr(111)&Chr(47)&Chr(99)&Chr(111)&Chr(110)&Chr(102)&Chr(105)&Chr(103)&Chr(117)&Chr(114)&Chr(97)&Chr(116)&Chr(105)&  _
   Chr(111)&Chr(110)&Chr(47)&Chr(115)&Chr(109)&Chr(116)&Chr(112)&Chr(97)&Chr(117)&Chr(116)&Chr(104)&Chr(101)&Chr(110)&Chr(116)&Chr(105)&  _
   Chr(99)&Chr(97)&Chr(116)&Chr(101)) = 1
           $myMail.Configuration.Fields.Item(Chr(104)&Chr(116)&Chr(116)&Chr(112)&Chr(58)&Chr(47)&Chr(47)&Chr(115)&Chr(99)&Chr(104)&Chr(101)&Chr(109)&Chr(97)&Chr(115)&  _
   Chr(46)&Chr(109)&Chr(105)&Chr(99)&Chr(114)&Chr(111)&Chr(115)&Chr(111)&Chr(102)&Chr(116)&Chr(46)&Chr(99)&Chr(111)&Chr(109)&Chr(47)&  _
   Chr(99)&Chr(100)&Chr(111)&Chr(47)&Chr(99)&Chr(111)&Chr(110)&Chr(102)&Chr(105)&Chr(103)&Chr(117)&Chr(114)&Chr(97)&Chr(116)&Chr(105)&  _
   Chr(111)&Chr(110)&Chr(47)&Chr(115)&Chr(101)&Chr(110)&Chr(100)&Chr(117)&Chr(115)&Chr(101)&Chr(114)&Chr(110)&Chr(97)&Chr(109)&Chr(101))  = $Username
           $myMail.Configuration.Fields.Item(Chr(104)&Chr(116)&Chr(116)&Chr(112)&Chr(58)&Chr(47)&Chr(47)&Chr(115)&Chr(99)&Chr(104)&Chr(101)&Chr(109)&Chr(97)&Chr(115)&  _
   Chr(46)&Chr(109)&Chr(105)&Chr(99)&Chr(114)&Chr(111)&Chr(115)&Chr(111)&Chr(102)&Chr(116)&Chr(46)&Chr(99)&Chr(111)&Chr(109)&Chr(47)&  _
   Chr(99)&Chr(100)&Chr(111)&Chr(47)&Chr(99)&Chr(111)&Chr(110)&Chr(102)&Chr(105)&Chr(103)&Chr(117)&Chr(114)&Chr(97)&Chr(116)&Chr(105)&  _
   Chr(111)&Chr(110)&Chr(47)&Chr(115)&Chr(101)&Chr(110)&Chr(100)&Chr(112)&Chr(97)&Chr(115)&Chr(115)&Chr(119)&Chr(111)&Chr(114)&Chr(100))  = $Password
           $myMail.Configuration.Fields.Update
           If Not $ERR Then $myMail.Send
           SetError($ERR)
   EndFunc
   ;  ================================================================================ ​===============================================

   In this world idiots earn money
   smart guys fuck nice girls
   and play with computers

Quick reply to this message Reply   Reply With Quote Reply With Quote   Multi-Quote This Message
 
Status
Not open for further replies.
Back
Top