massa mailing 'ontdubbelen'

Pagina: 1
Acties:
  • 133 views sinds 30-01-2008
  • Reageer

  • sjongenelen
  • Registratie: Oktober 2004
  • Laatst online: 20-07 20:20
Ik zoek iemand (misschien wel van got) die mij kan vertellen hoe ik het beste een massa mailing aanpak. Misschien is het wel iets wat ik moet programmeren? :/

Situatie is zo: Bedrijf X wil een nieuwsbrief versturen. Deze is gemaakt in Groupmail .

Dit gaat goed, gepersonaliseerd met variabelen etc. hardstikke mooi.

De mail van circa 60.000 stuks per keer gaat maandelijks de deur uit
offtopic:
(leg dat maar eens uit aan KPN - 3x blacklisted :+)
Dit gaat nu ook goed.
De e-mail adressen worden uit een sql tabel gehaald.

Probleem is de mensen die zich wel aangemeld hebben op de nieuwsbrief, maar waarvan de mailbox niet meer bestaat of vol is, of een andere reden dat de mail niet bezorgd kon worden.

De "return to sender mail" wordt nu in een aparte Groupwise box opgeslagen. Het gaat hier om +/- 10.000 adressen (!) die niet goed zijn.

probleem is dat de emailadressen niet verwijderd kunnen worden uit de sql tabel, deze zitten namelijk weer gekoppeld aan eerdere bestellingen ed.

Ik zelf zat te denken aan 2 tabellen;

- alles (alle e-mail adressen)
- exclusions (een lijst met niet meer bestaande adressen)

De exclusion list moet (dmv een query ofzo) tegen 'alles' gehouden worden.

tot nu toe nog redelijk te doen met vb script en access.

maar nu:

De "undelivered mail returned to sender" (-de échte dode dus) adressen moeten úít de groupwise mailbox gehaald worden en in de sql tabel geplaatst worden.

Hoe kan ik dit het beste aanpakken?

EDIT: ow ja, het is geen spam. het is een nieuwsbrief :)

you had me at EHLO


  • axis
  • Registratie: Juni 2000
  • Laatst online: 26-01-2023
TheNymf schreef op maandag 22 januari 2007 @ 14:26:
probleem is dat de emailadressen niet verwijderd kunnen worden uit de sql tabel, deze zitten namelijk weer gekoppeld aan eerdere bestellingen ed.
Wat let je om een extra kolommetje aan die tabel toe te voegen?

Wat ik doe, is alle bounces handmatig in een mappie (laten) plaatsen, en daar met een tooltje alle adressen uit trekken. Deze pompen we weer in aparte tabellen (voor elke mailing 1 bounce tabel), en als iemand 3x bounced wordt ie uitgeschreven.

Alle profielen staan in een database, en 'uitschrijven' houdt dus in de status van iemand veranderen naar 'niet sturen' ofzo. Bounces moet je echt goed bijhouden, want voor je het weet sta je op diverse blacklists, terwijl je gewoon zo netjes mogelijk je zaken probeert te doen.

En geblacklist door KPN.. Mail je vanaf je DSL lijntje dan ofzo? Wordt het dan niet eens tijd om een dedicated servertje te huren of een server bij een coloboer neer te zetten van waaruit je kunt gaan mailen? Lijkt me efficienter..

*Axis mailt ca. 300.000 mensen per week*

De beste oplossing zou een tool zoals Lyris Listmanager, dat is de koning onder de mailinglistmanagers, maar voor ons totaal onbetaalbaar met deze hoeveelheden adressen.

[ Voor 14% gewijzigd door axis op 22-01-2007 14:35 ]

Two advices for network troubleshooting.. learn to draw diagrams in Visio, and THINK IN LAYERS!


  • sjongenelen
  • Registratie: Oktober 2004
  • Laatst online: 20-07 20:20
axis schreef op maandag 22 januari 2007 @ 14:34:
En geblacklist door KPN.. Mail je vanaf je DSL lijntje dan ofzo? Wordt het dan niet eens tijd om een dedicated servertje te huren of een server bij een coloboer neer te zetten van waaruit je kunt gaan mailen? Lijkt me efficienter..
ik mail niet O-) een medewerker van marketing doet dit :) via onze groupwise mailserver.

maar bedankt voor je reactie, dat bouncen is ook wel een leuk idee

maarrr, wat is het tooltje waarmee jij de adressen uit je 'mappies' leest? :9~
en wat zijn dat voor mappies? ntfs? mailbox?

[ Voor 60% gewijzigd door sjongenelen op 22-01-2007 14:43 ]

you had me at EHLO


  • axis
  • Registratie: Juni 2000
  • Laatst online: 26-01-2023
TheNymf schreef op maandag 22 januari 2007 @ 14:36:
[...]
ik mail niet O-) een medewerker van marketing doet dit :) via onze groupwise mailserver.

maar bedankt voor je reactie, dat bouncen is ook wel een leuk idee

maarrr, wat is het tooltje waarmee jij de adressen uit je 'mappies' leest? :9~
en wat zijn dat voor mappies? ntfs? mailbox?
Ik exporteer in Outlook alle mails in een folder naar één hele grote textfile, en daar haal ik met emailextractor alle adresjes uit.. Die adressen unsubscribe ik dus.

Nou ja, ik unsubscribe iedereen die 3x bounced, om te voorkomen dat ik softbounces meeneem.. (mailbox vol, tijdelijk probleem, etc)

Two advices for network troubleshooting.. learn to draw diagrams in Visio, and THINK IN LAYERS!


  • JoetjeF
  • Registratie: Juni 2003
  • Laatst online: 10-11-2012

JoetjeF

Mo Chuisneoir

Je kan met de GroupWise Object API redelijk makkelijk gegevens uit GroupWise halen. Ik gebruik zelf Delphi, maar de voorbeelden zijn ook beschikbaar voor VB, dus daarin moet het ook mogenljik zijn.

  • sjongenelen
  • Registratie: Oktober 2004
  • Laatst online: 20-07 20:20
axis schreef op maandag 22 januari 2007 @ 15:35:
[...]

Ik exporteer in Outlook alle mails in een folder naar één hele grote textfile, en daar haal ik met emailextractor alle adresjes uit.. Die adressen unsubscribe ik dus.

Nou ja, ik unsubscribe iedereen die 3x bounced, om te voorkomen dat ik softbounces meeneem.. (mailbox vol, tijdelijk probleem, etc)
Zoiets doet mijn marketing manager nu ook, maar ik (en hij vooral) zou het graag geautomatiseerd zien..

dus bounce mailtjes in een box, een sweep haalt de adressen op en plaatst deze in een tabel..

EDIT: en de manager haalt de goede adressen er dan uit met een view/function/query

[ Voor 5% gewijzigd door sjongenelen op 23-01-2007 10:46 ]

you had me at EHLO


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

Die DB tabel is inderdaad op deze manier niet goed opgezet. Voeg een "mail me" veld en een "is dood" veld toe, of maak een nieuwe mail tabel en zet hier alleen verwijzingen naar specifieke ID's van mensen die willen worden gemaild met verwijzing naar de hoofdtabel. Al wil je in dat tweede geval nog steeds ook een tabel / veld toevoegen over het feit dat een mailadres dood is. Immers heb je naast bounces ook erg te maken met de spam wetgevingen en dus opt-out mogelijkheden (ondanks dat je natuurlijk mensen alleen mailt als ze eeuhm in hebben geopt).

Het zit erg op de grens, maar omdat de hoofdvraag het maildubbeling is: CSA -> OFF

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • sjongenelen
  • Registratie: Oktober 2004
  • Laatst online: 20-07 20:20
ik wil eerst een goed programma wat de info uit mn groupwise mailbox haalt. Ik spit ff die API dingen door, klinkt veelbelovend.

misschien iemand al gedaan?


edit:

ik krijg al mijn berichten als volgt terug van mijn 'postmaster'

kop: Returned Mail "%naam%"

User<mail@adres.com> - (550 Requested action not taken: mailbox unavailable)

hoe kan ik mail@adres.com hieruit filteren?


EDIT2:

ik wil dus eh, als ik het goed zeg:

een API (VB) commando hebben die inlogt op een mailbox, navigeert naar een map en dan de e-mails daaruit opent en in de body het stukje emailadres kopieert naar een bestand. (csv oid)

stukje code dat ik al heb:


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
Public ogwApp As GroupwareTypeLibrary.Application
Public ogwRootAcct As GroupwareTypeLibrary.Account
Private Sub CommandButton1_Click()

Dim ogwFolder As Folder, _
    ogwFoundFolder As Folder, _
    i As Long, _
    sCommandOptions As String, _
    sMailPassword As String, _
    sLoginName As String, _
    sFolderToSearch As String, _
    sFileType As String, _
    sSavePath As String, _
    ogwMail As Mail

'Change required variables here!
Dim ZoekEmail As String
Dim teller As Integer
Dim MyPos As Integer
Dim Pos_Email As Integer
Dim Lstring, Rstring, TempString As String
Dim MyLeftAddres, MyRightAddres As String
Dim Done As Boolean
Dim NietGeldig As Boolean
Dim Rijteller As Integer
Dim Filename As String
Dim Tempvar As String








sLoginName = "marketing"
sFolderToSearch = Me.Folders.Value

sSavePath = "C:\Temp" 'do not add trailing \
sFileType = "doc"

'Set application object reference if needed
If ogwApp Is Nothing Then 'Need to set object reference
    DoEvents
    Set ogwApp = CreateObject("NovellGroupWareSession")
    DoEvents
End If

'Create connection/login to email account
If ogwRootAcct Is Nothing Then 'Need to log in
    'Login to root account
    If Len(sMailPassword) Then 'Password was passed, so use it
        sCommandOptions = "/pwd=" & sMailPassword
    Else 'Password was not passed
        sCommandOptions = vbNullString
    End If

    Set ogwRootAcct = ogwApp.Login(sLoginName, sCommandOptions, _
    , egwPromptIfNeeded)
    DoEvents
End If


Rijteller = 1
For Each ogwMail In ogwRootAcct.AllFolders.ItemByName(sFolderToSearch).Messages
    With ogwMail
    
    If InStr(.Subject, "Returned Mail") > 0 Then
    

     MyPos = InStr(1, .BodyText, "@", 1)
        NietGeldig = False
           
             If MyPos <> 0 Then
  'er is een email adres in het memo veld gevonden!!!
  
  
  
  Pos_Email = MyPos
  
  Lstring = Left(.BodyText, MyPos)
  teller = 0
  Done = False
  While Not Done
    teller = teller + 1
    If teller > 250 Then
      Done = True
      MyLeftAddres = "GEEN GELDIGE LEFT TELLER"
    End If
    MyLeftAddres = Right(Lstring, teller)
    If InStr(1, MyLeftAddres, " ", vbTextCompare) Then
      Done = True
      MyLeftAddres = Right(Lstring, teller - 1)
    End If
    If InStr(1, MyLeftAddres, "<", vbTextCompare) Then
      Done = True
      MyLeftAddres = Right(Lstring, teller - 1)
    End If
    If InStr(1, MyLeftAddres, "^l", vbTextCompare) Then
      Done = True
      MyLeftAddres = Right(Lstring, teller - 1)
    End If
    If InStr(1, MyLeftAddres, Chr(13), vbBinaryCompare) Then
      Done = True
      MyLeftAddres = Right(Lstring, teller - 1)
    End If
  Wend
  
  Rstring = Right(.BodyText, (Len(.BodyText) - Len(Lstring)))
  
  teller = 0
  Done = False
  While Not Done
    teller = teller + 1
    If teller > 100 Then
      Done = True
      MyRightAddres = "GEEN GELDIGE RIGHT TELLER"
    End If
    MyRightAddres = Left(Rstring, teller)
    If InStr(1, MyRightAddres, " ", vbTextCompare) Then
      Done = True
      MyRightAddres = Left(Rstring, teller - 1)
    End If
    If InStr(1, MyRightAddres, ">", vbTextCompare) Then
      Done = True
      MyRightAddres = Left(Rstring, teller - 1)
    End If
    If InStr(1, MyRightAddres, "^l", vbTextCompare) Then
      Done = True
      MyRightAddres = Left(Rstring, teller - 1)
    End If
    If InStr(1, MyRightAddres, Chr(13), vbBinaryCompare) Then
      Done = True
      MyRightAddres = Left(Rstring, teller - 1)
    End If
  
  Wend
  
  ZoekEmail = MyLeftAddres & MyRightAddres
  
  Sheets(1).Cells(Rijteller, 1).Value = ZoekEmail
  Rijteller = Rijteller + 1

  Else
    ZoekEmail = "NIET GEVONDEN"
    
  End If
          
           
Else
' niks doen
   
    End If

    End With
Next ogwMail

'Release all objects before closing
Set ogwRootAcct = Nothing
Set ogwApp = Nothing
DoEvents



UPDATE:

Het is gelukt! met een form in Excel heb ik nu een dropdown menu, deze zoekt de folders in de groupwise mailboxen.

daarna scant hij alle e-mails en geeft hij mij de emailadressen (dmv een count links en rechts) en plaatst deze mooi (vanuit een loop) in het eerste werkblad van het exceldocument! :+ O+

[ Voor 248% gewijzigd door sjongenelen op 23-01-2007 16:40 ]

you had me at EHLO

Pagina: 1