The 300+ emails were sent successfully. It just took some time for the email to exit Outlook's Outbox. To avoid cramming a lot of emails on the Outbox a 10 sec delay was added which ensured that not more than one email was in the Outbox at the same time.
The code for sending the emails looks something like this
Private Sub SendEmail4(strTo As String, strAttachment As String)
Dim olApp As Object
Dim olMail As Object
On Error GoTo ErrorH
'Creates the memory for email objects
Set olApp = CreateObject("Outlook.Application")
Set olMail = olApp.CreateItem(olMailItem)
'Generates email information
With olMail
'olFormatPlain is easier to type in an email with, my opinion only, this line is not needed
.BodyFormat = olFormatPlain
'Who the email is going to, using the strList created during loop above
.To = strTo
.cc = ""
.BCC = ""
.Subject = "Pay Slp"
.Body = "This is the body"
'Attaches the exported file using the variable created at beginning
.Attachments.Add strAttachment, olByValue, 1, Mid(strAttachment, 16, Len(strAttachment) - 15)
'.display 'Use for testing purposes only
.Send
End With
'Frees email objects stored in memory
Set olMail = Nothing
Set olApp = Nothing
EndCode:
Exit Sub
'Error handler to display error infor in message box, resumes end code
'Change is you want/need this to handle specific error numbers
ErrorH:
MsgBox Err.Number & " - " & Err.Description
Resume EndCode
End Sub