Login Register






[AutoIt]SMTP mail function with multi-attachment support filter_list
Author
Message
[AutoIt]SMTP mail function with multi-attachment support #1
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,$attachments=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 ; ===============================================================================================================================

Wink
(This post was last modified: 10-23-2011, 08:31 PM by Skullmeat.)
Pierce the life fibers with your drill.

Reply





Messages In This Thread
[AutoIt]SMTP mail function with multi-attachment support - by 1234hotmaster - 10-23-2011, 08:24 PM