E-mail auslese
Enter 27.05.2005 - 16:16 541 5
Enter
Bloody Newbie
|
Hi, also folgendes....
Ich hab nen Auftrag von meinem Onkel bekommen. Er musste 12000 newsletter verschicken. In etwa 3300 sind davon fehlgeschlagen.
Nun zu meinem Teil der Arbeit.
Ich sollte die Gründe für die fehlgeschlagenen e-mails rausfinden und die neben der e-mail addy auflisten.
Dazu musste ich jede Rückmeldung (fehlgeschlagen usw.) im Editor öffnen, e-mail addy des ursprünglichen Empfängers + den Grund raussuchen, leider alles manuell.
Jetzt ist mir vor paar Tagen der Computer, besser gesagt die Festplatte über den Jordan gesprungen und ich müsste jetzt alles neu starten.
Meine spezielle frage wär nun, ob jemand ein, bzw. nen programm/tool kennt, dass mir die arbeit abnimmt und die e-mail addys rausfiltert an die der versand des newsletters nicht möglich war.
Hoffe mir kann geholfen werden.
gruß enter
Bearbeitet von Enter am 27.05.2005, 16:38
|
rettich
Legendwaffle, waffle!
|
wie hast die mails vorliegen? in einer outlook-mailbox? schreib dir ein kleines script (VBA), dass dir die mails durchparst und die errors rausfiltert. sollte eine sache von maximal 10 zeilen sein. add: ca so 'Creates a file "c:\mails.xls"
'+ braucht als Reference "Microsoft Excel"
'sucht nach allen mails, die im betreff "Error: Returned Mail" stehen haben
Public Sub ExtractMails()
Dim objSyncFolder As Object, spObj As Object, mSyncItem As Object
Dim mySyncFolder As MAPIFolder
Dim iCount As Integer, iUpdated As Integer
Dim ea As New Excel.Application
Dim objMailItem As Outlook.MailItem
Dim strArray() As String
Dim i As Integer, iPos As Integer
Set mySyncFolder = GetNamespace("MAPI").
'entsprechenden (unter)folder einsetzen:
GetDefaultFolder(olFolderInbox)
If Not mySyncFolder Is Nothing Then
Set objSyncFolder = mySyncFolder.Items
End If
ea.Workbooks.Add
iCount = 2
For Each mSyncItem In objSyncFolder
If mSyncItem.Subject = "Error: Returned Mail" Then
'zeilenweise aufsplitten
strArray = Split(mSyncItem.Body, vbCrLf)
For i = LBound(strArray) To UBound(strArray)
'falls die zeile nicht leer ist
If Trim(strArray(i)) <> "" Then
'do your thing (zB parse nach "error:") 'und schreibe in neue excel zelle mit iCount
End If
End If
Next
iCount = iCount + 1
End If
Next
ea.ActiveWorkbook.Close True, "c:\mails.xls"
Set ea = Nothing
End Sub
Bearbeitet von rettich am 27.05.2005, 16:32
|
Enter
Bloody Newbie
|
in der outlook-mail box hatte/hat sie mein onkel liegen.
er hats mir auf nen webspace gepackt und ich habs gesaugt.
naja des mim scripten is halt son ding, ich hab da echt null dunst von.
edit: ich hab auf dem computer nur openoffice zur verfügung.
und vorliegen hab ich dann nur die fehlgeschlagenen mails, nur mit halt mit unterschiedlichen gründen
Bearbeitet von Enter am 27.05.2005, 16:35
|
Enter
Bloody Newbie
|
Hmm sonst niemand lösungsvorschläge?
für microsoft excel bringt es mir wenig. hab openoffice. Oder dürft das mit open auch gehn? Kenn mich mit scripten leider garnet aus.
gruß enter
|
derelict
LegendLegend
|
Wennst keinen Dunst hast dann nimm den Auftrag nicht an. alles andere wär verantworungslos.
|
Enter
Bloody Newbie
|
naja ;D so arg isses ja net.
wies manuell geht weiß ich, is zwar ne heiden arbeit, aber für des geld mach ichs allemal.
hab ja oben schon geschrieben, dass ich die hälfte schon hatte, die mir aber leider durch festplattencrash verlorn gegangen is.
keinen dunst hab ich was scripts usw. bzw. automatische auslese geht. darum schildere ich hier auch mein prob.
naja und direkt nen auftrag isses ja net. Ich mach meinem Onkel einen gefalln. Onkel --> Neffe ;D da versteht sich das.
Bearbeitet von Enter am 27.05.2005, 21:02
|