Hallo, ich habe hier eine Funktion die Emails mit Anhang und Dringlichkeiten Verschicken kann.
Sie sollte auch Authentivizierung können, nur leider scheint das keine erfolg zu haben.
Könnt Ihr mit weiter helfen warum das nicht geht?
Spoiler anzeigen
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")
Local const $sEmailSchema = "http://schemas.microsoft.com/cdo/configuration/"
With $objEmail
.From = '"' & $s_FromName & '" <' & $s_FromAddress & '>'
.To = $s_ToAddress
Local $i_Error = 0
Local $i_Error_desciption = ""
If $s_CcAddress <> "" Then .Cc = $s_CcAddress
If $s_BccAddress <> "" Then .Bcc = $s_BccAddress
.Subject = $s_Subject
If StringInStr($as_Body, "<") And StringInStr($as_Body, ">") Then
.HTMLBody = $as_Body
Else
.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)
.AddAttachment($S_Files2Attach[$x])
Else
ConsoleWrite('!> File not found to attach: ' & $S_Files2Attach[$x] & @LF)
Return SetError(1, 0, 0)
EndIf
Next
EndIf
EndWith
With $objEmail.Configuration.Fields
.Item($sEmailSchema & "sendusing") = 2
.Item($sEmailSchema & "smtpserver") = $s_SmtpServer
If Number($IPPort) = 0 Then $IPPort = 25
.Item($sEmailSchema & "smtpserverport") = $IPPort
;Authenticated SMTP
If $s_Username <> "" Then
.Item($sEmailSchema & "smtpauthenticate") = 1
.Item($sEmailSchema & "sendusername") = $s_Username
.Item($sEmailSchema & "sendpassword") = $s_Password
Else
.Item($sEmailSchema & "smtpauthenticate") = 0
EndIf
If $ssl Then
.Item($sEmailSchema & "smtpusessl") = True
Else
.Item($sEmailSchema & "smtpusessl") = False
EndIf
;Update settings
.Update
EndWith
With $objEmail.Fields
; Set Email Importance
If $s_Importance = "" Then
.Item("urn:schemas:mailheader:Importance") = "Normal"
Else
.Item("urn:schemas:mailheader:Importance") = $s_Importance
EndIf
.Update
EndWith
; Sent the Message
$objEmail.Send
If @error Then
Return SetError(2, @error, 0)
EndIf
$objEmail = ""
Return 1
EndFunc ;==>_INetSmtpMailCom
Danke