[VB6] Referentie bij versturen e-mail via outlook

Pagina: 1
Acties:

  • dip
  • Registratie: September 2003
  • Laatst online: 16-01-2023

dip

shut up ulé

Topicstarter
Bij het verzenden van een email bericht via outlook wordt een kopie opgeslagen in PionUs,
een eigen databasesysteem waarin klantgegevens e.d. staan.

De inhoud van het mailtje is bekend en word opgeslagen,
De bedoeling is dat wanneer het mailtje daadwerkelijk verstuurd is, de extra gegevens zoals tijdstip waarop het mailtje daadwerkelijk VERZONDEN is bekend zijn.

Echter wanneer de mail verstuurd wordt is de referentie naar het mailtje weg.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim Store As Boolean
    Dim prop As UserProperty
    
    For Each prop In Item.UserProperties
        If prop.Name = "Store" Then
            Store = prop.Value
        End If
    Next
    
    If Store Then
        SendMailToPionUs Item
    End If
End Sub

De methode SendMailToPionUs valideert nog het een en het ander
De volgende code stuurt het mailtje.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub InspectorMailAndSendToPionUs()
    Dim lvMail As MailItem
    Dim lvSentMessageFolder As MAPIFolder

    
    Set lvMail = ActiveInspector.CurrentItem
    If Not (lvMail Is Nothing) Then
        lvMail.UserProperties.Add("Store", olNumber, False) = 1
        If Not (lvMail.Sent) Then
            If lvMail.Recipients.Count = 0 Then
                MsgBox "Geef een adres op waar het mailtje naartoe moet."
                Exit Sub
            End If
            ' STUREN MAIL
            lvMail.send
            
        End If
    End If
End Sub

Wanneer lvMail verstuurd word, valt de referentie weg.
Heeft iemand enig hoe ik ervoor kan zorgen dat ik mijn referentie terug krijg en gegevens op kan halen??

Gegroet, Ron

[ Voor 4% gewijzigd door dip op 15-11-2004 13:02 ]

It's scientifically known, that base improves the tase of cheezes!


  • dip
  • Registratie: September 2003
  • Laatst online: 16-01-2023

dip

shut up ulé

Topicstarter
:/
Modbreak:Kicken binnen 24 is niet toegestaan :/ Zie de faq

[ Voor 98% gewijzigd door gorgi_19 op 16-11-2004 08:51 ]

It's scientifically known, that base improves the tase of cheezes!


  • PaulZ
  • Registratie: Augustus 2004
  • Laatst online: 21-05-2024
Geeft die 'lvMail.send' geen waarde (MailID ofzoiets) terug die je kan gebruiken?

Vlinders moet je volgen, niet vangen...


  • dip
  • Registratie: September 2003
  • Laatst online: 16-01-2023

dip

shut up ulé

Topicstarter
Ik geloof van niet, en de documentatie zegt er niets over

It's scientifically known, that base improves the tase of cheezes!


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
code:
1
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

Gezien het feit dat je hier nog kunt Cancel-len lijkt het me stug dat je mail al weg is in dit event...

Dan zie ik de volgende "optimalisatie":
code:
1
2
3
4
5
6
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim prop As UserProperty
    For Each prop In Item.UserProperties
        If prop.Name = "Store" Then SendMailToPionUs Item
    Next
End Sub


...en dan zou Item (gezien je eigen code) dus wel degelijk nog een referenctie moeten hebben, want het gaat ook het "PionUs" systeem in...Toch?

edit:

Ow, excuus, ik zie nu pas waar je probleem zit... na je .send natuurlijk :P

Enniewee, dat de referentie na .send weg is vind ik niet zo gek. Maar je kunt toch op het moment dat je het record in PionUs aanmaakt een referentie naar dat nieuwe record vasthouden (of opvragen) en dat later bijwerken met de verzonden datum? Of begrijp ik je nu weer verkeerd?

[ Voor 89% gewijzigd door RobIII op 16-11-2004 10:44 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • dip
  • Registratie: September 2003
  • Laatst online: 16-01-2023

dip

shut up ulé

Topicstarter
RobIII schreef op dinsdag 16 november 2004 @ 10:39:
Enniewee, dat de referentie na .send weg is vind ik niet zo gek. Maar je kunt toch op het moment dat je het record in PionUs aanmaakt een referentie naar dat nieuwe record vasthouden (of opvragen) en dat later bijwerken met de verzonden datum? Of begrijp ik je nu weer verkeerd?
Hmja zou kunnen, het is echter wel de bedoeling dat de gehele referentie te achterhalen is, want er moet meer mee gedaan worden.

Is het niet op een of andere mannier mogelijk om de referentie te kopieren ? zodat deze na het sturen nog te zien is?

[ Voor 9% gewijzigd door dip op 16-11-2004 12:15 ]

It's scientifically known, that base improves the tase of cheezes!


  • dip
  • Registratie: September 2003
  • Laatst online: 16-01-2023

dip

shut up ulé

Topicstarter
weet echt niemand hier een oplossing voor? :s

It's scientifically known, that base improves the tase of cheezes!


  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 14:56
Drie oplossingsrichtingen:
1: Voeg een Userproperty (PionID of zo) toe waarmee je de mail na je .send weer kan opsnorren in sent items, outbox, weet ik waar.
2: ik crossquote Woudloper uit [rml][ Word/VBA] Knop om document per mail te verzenden[/rml]
Woudloper schreef op woensdag 17 november 2004 @ 09:04:
Aangaande de nadelen kan je eens zoeken naar 'Outlook Redemption'. Dit is een COM Library die om de beveiligingen van Outlook heen werkt. Kijk maar eens op de site van de maker. Wellicht heb je daar nog wat aan?
Deze library kan vaak "de dingen die in outlook net niet lukken", dus ermee spelen is aan te raden, misschien dat Redemption net iets anders omgaat met je referentie.
3: Kijk eens of userproperties doorkomen op je Exchange server, misschien mail eerst saven op je database en dan pas versturen. Op server check op Userproperty "PionID", die eruitslopen voor verzenden en in Database wat vlaggen opzetten en een "verzonden" tijdstip toevoegen.

In het algemeen is het, bezien het type probleem een idee om meer server side te denken lijkt me zo.

[ Voor 4% gewijzigd door onkl op 17-11-2004 17:00 ]

Pagina: 1