Avatar billede peter.erikse Nybegynder
23. maj 2001 - 09:38 Der er 8 kommentarer og
1 løsning

e-mail til flere modtagere

Jeg har lavet et program til afsendelse af e-mails. Det virker dog kun når der er én modtager. Hvordan får jeg lavet rutinen, så den kan klare flere modtagere.
Jeg vil stadig anvende MAPI-kontrol.

Public Sub SendPost()
    On Error GoTo fejl
    Const MESSAGE_COMPOSE As Integer = 6

    ModtagerAfPost = \"Test1@udbyder.dk,Test1@udbyder.dk\"

    frmpost.MAPISession1.LogonUI = True
    frmpost.MAPISession1.NewSession = False
    frmpost.MAPISession1.SignOn
    If Not Err = 0 Then
        MsgBox \"Logon til e-post systemet fejlede\"
        Screen.MousePointer = 0
    Exit Sub
    End If
    frmpost.MAPIMessages1.SessionID = frmpost.MAPISession1.SessionID
    frmpost.MAPIMessages1.Action = MESSAGE_COMPOSE
    frmpost.MAPIMessages1.MsgIndex = -1
    frmpost.MAPIMessages1.RecipDisplayName = Trim(ModtagerAfPost)
    frmpost.MAPIMessages1.Send True
    frmpost.MAPISession1.SignOff
    Exit Sub
fejl:
    If Err = 32003 Then Exit Sub
    Msg = \"Der er sket en fejl. Fejl nr. \"
    MsgBox Msg & Err & \". \", vbInformation, Err.Description
    frmpost.MAPISession1.SignOff
End Sub
Avatar billede torbenmelander Nybegynder
23. maj 2001 - 09:44 #1
ModtagerAfPost = \"Test1@udbyder.dk;Test1@udbyder.dk\"

måske?
Avatar billede torbenmelander Nybegynder
23. maj 2001 - 09:46 #2
bemærk ;
Avatar billede peter.erikse Nybegynder
23. maj 2001 - 09:56 #3
\";\" hjalp ikke ;-)
Avatar billede jper Nybegynder
23. maj 2001 - 15:23 #4
Jeg går ud fra at du har en liste ove de modtagere som du skal sende til.

Hvis du giver den metode en parameter så kan du kalde den lige så mange gange som der er modtagere, så undgår du også at alle kan se hvem der har fået din mail da der bliver genereret en pr. modtager.

F.eks.:
Public Sub SendPost(byval sModtager as String)
    On Error GoTo fejl
    Const MESSAGE_COMPOSE As Integer = 6

    ModtagerAfPost = sModtager \'Bemærk parameter!

    frmpost.MAPISession1.LogonUI = True
    frmpost.MAPISession1.NewSession = False
    frmpost.MAPISession1.SignOn
    If Not Err = 0 Then
        MsgBox \"Logon til e-post systemet fejlede\"
        Screen.MousePointer = 0
    Exit Sub
    End If
    frmpost.MAPIMessages1.SessionID = frmpost.MAPISession1.SessionID
    frmpost.MAPIMessages1.Action = MESSAGE_COMPOSE
    frmpost.MAPIMessages1.MsgIndex = -1
    frmpost.MAPIMessages1.RecipDisplayName = Trim(ModtagerAfPost)
    frmpost.MAPIMessages1.Send True
    frmpost.MAPISession1.SignOff
    Exit Sub
fejl:
    If Err = 32003 Then Exit Sub
    Msg = \"Der er sket en fejl. Fejl nr. \"
    MsgBox Msg & Err & \". \", vbInformation, Err.Description
    frmpost.MAPISession1.SignOff
End Sub

Hvis dine modtagere ligger i et array er det bare at kalde metoden:

F.eks.:
for i=0 to ubound(modtagere)
  call SendPost(modtagere(i))
next i
Avatar billede peter.erikse Nybegynder
23. maj 2001 - 20:21 #5
Det dit program gør, er at sende lige så mange e-mails afsted som der er personer.
Det jeg ønsker er at alle personerne skal stå som modtagere af den samme e-mail.
Avatar billede peter.erikse Nybegynder
01. juni 2001 - 07:51 #6
Jeg lukker spørgsmålet. Løste det med API-kald i stedet
Avatar billede picard Nybegynder
27. juni 2001 - 12:48 #7
Kan vi så ikke få lov til at se din kode ?

mvh.

Christian
Avatar billede peter.erikse Nybegynder
27. juni 2001 - 13:38 #8
Jo da her er den. Jeg kan desværre kun få den til at sende til omkring 20 adresser.

Declare Function ShellExecute Lib \"shell32.dll\" Alias \"ShellExecuteA\" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
...   
\'Grpst indeholder postadresser.
For I = 1 To GrpTæl
  If I = GrpTæl Then
      postSaml = postSaml & Grpst(I)
  Else
      postSaml = postSaml & Grpst(I) & \",\"
  End If
Next

Dim stropen: Dim lRet
stropen = \"mailto:\" + postSaml
lRet = ShellExecute(hwnd, \"open\", stropen, vbNull, vbNull, 1)
Avatar billede picard Nybegynder
27. juni 2001 - 21:37 #9
Takker :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester