Avatar billede lasse_32 Nybegynder
05. maj 2004 - 16:21 Der er 25 kommentarer og
4 løsninger

HTML Mail

Hej folkens, jeg ligger inde med et problem, som det tilsyneladende er svært at finde en løsning på.

Jeg skal kunne sende en email med HTML indhold via VB 6.0.
Jeg arbejder i et alm. XP professional miljø... bare en enkeltsteående pc, ikke noget med servere eller i den retning.

Så vidt jeg ved kan MAPI kun sende alm. tekst. Eller er der nogen der ved mere end jeg der?

Jeg har også prøvet noget CDO... men det virker ikke. Er bange for det kun virker med NT server, Microsoft Server 2000, på et netværk med servere osv. Eller er det noget jeg ikke har hørt om?

Nogen gode forslag??

Vh
Avatar billede kedde65 Praktikant
05. maj 2004 - 16:32 #1
Brug Outlook til at sende med. Følgende kode eksempel kan det.

Sub SendMail()
    Dim oApplication As Outlook.Application
    Dim oMail As MailItem
    Set oApplication = New Outlook.Application
    Set oMail = oApplication.CreateItem(olMailItem)
   
    With oMail
        .To = "ck@targetgruppen.dk"
        .Subject = "Test mail"
        .HTMLBody = "<b>Dette er en overskrift i fed</b>"
        .Send
    End With
   
    Set oMail = Nothing
    Set oApplication = Nothing
End Sub

Iøvrigt alle maskiner der har CDONTS.dll registreret på masinen kan sende via CDO. Men som tidligere nævnt fatter jeg ikke, hvorfor dit kode ikke virker.

VH CK
Avatar billede lasse_32 Nybegynder
05. maj 2004 - 17:16 #2
Nej, det forstår jeg heller ikke.
Har nu indsat den kode du nævner og får følgende fejl:
User defined type not defined.
Det er iøvrigt en compilerings fejl og ikke en runtime.
Mangler der en erklæring af noget?
Avatar billede lasse_32 Nybegynder
05. maj 2004 - 17:33 #3
Fandt ud af at jeg mangler at tilføje referencen med outlook express 10.0.
Så får jeg ingen fejl. Nu er problemet bare, at der ikke kommer nogen mail frem!?

Jeg skriver følgende kode:

Sub SendEMailHTML()
    Dim oApplication As Outlook.Application
    Dim oMail As MailItem
   
    Set oApplication = New Outlook.Application
    Set oMail = oApplication.CreateItem(olMailItem)
   
    With oMail
        .To = "tv@regnskabshjaelpen.dk"
        .Subject = "Test mail"
        .HTMLBody = "<img src='C5LIGHT_145.gif' align='left' width='145' height='183'>"
        .Send
    End With
   
    Set oMail = Nothing
    Set oApplication = Nothing
End Sub

Private Sub Command1_Click()
    'MAPISession1.SignOn
'    Data1.Recordset.MoveFirst
'    Do While Data1.Recordset.EOF = False
        SendEMailHTML
'        Data1.Recordset.MoveNext
'  Loop
    'MAPISession1.SignOff
End Sub

Private Sub Command2_Click()
    Unload Me
End Sub
Avatar billede lasse_32 Nybegynder
05. maj 2004 - 17:35 #4
I øvrigt beder den om bekræftelse på at sende mailen.
Det er et problem, når man nu skal sende 1000 via et gennemløb af en Access database.
Kender du noget til om man kan slå det fra? Eller skulle jeg så have valgt noget helt andet kode :-)?
Avatar billede kedde65 Praktikant
06. maj 2004 - 09:40 #5
Nej der kommer ingen mail frem, den bliver sendt direkte.

Hvis du vil undgå at den spørger efter bekræftelse, så ska du ud og bruge redemption istedet. Redemption finder du på http://www.dimastr.com/redemption/

VH CK
Avatar billede lasse_32 Nybegynder
06. maj 2004 - 16:22 #6
Hvis du har et eksempel inden for det, som kan fungere som ovenstående eksempel, så lad mig høre og du skal få point.
Avatar billede kedde65 Praktikant
07. maj 2004 - 14:18 #7
Sub sendMailWithRedemption()
    Dim SafeItem As Redemption.SafeMailItem
    Dim oItem As Outlook.MailItem
    Set SafeItem = CreateObject("Redemption.SafeMailItem")
    Set oItem = Application.CreateItem(olMailItem)
    oItem.HTMLBody = "<b>En lille tekst</b>"
    SafeItem.item = oItem
    SafeItem.Recipients.Add "ck@targetgruppen.dk"
    SafeItem.Recipients.ResolveAll
    SafeItem.Subject = "En mail automatisk sendt fra Outlook"
    SafeItem.Send
End Sub


VH CK
Avatar billede lasse_32 Nybegynder
07. maj 2004 - 15:04 #8
Har lagt det ind, men user defined type not defined.
Er der en reference som skal slåes til??
Avatar billede kedde65 Praktikant
07. maj 2004 - 15:11 #9
Ja der skal selvfølgelig være en reference til den redemption fil du har installeret (SafeOutlook Library) på maskinen, og desuden også til Outlook, hvis du kører det udenfor Outlook.

VH CK
Avatar billede lasse_32 Nybegynder
07. maj 2004 - 15:21 #10
SafeOutlook bibrary??
Avatar billede kedde65 Praktikant
07. maj 2004 - 15:22 #11
Ja det hedder den reference til redemption du skal sætte.
Avatar billede lasse_32 Nybegynder
07. maj 2004 - 15:24 #12
Hvis den hedder det ordret du skriver der, så findes den ikke i mine referencer!?
Avatar billede kedde65 Praktikant
07. maj 2004 - 15:26 #13
Så har du ikke installeret redemption som jeg skrev ovenfor.
Avatar billede lasse_32 Nybegynder
07. maj 2004 - 15:41 #14
Det har jeg nu og jeg kan finde den pågældende reference.
Der er ikke flere compileringsfejl. Desværre virker min outlook jo ikke som du ved.
Men jeg compilerer lige en .exe og prøver på en anden pc.
Avatar billede kedde65 Praktikant
07. maj 2004 - 15:47 #15
ok
Avatar billede lasse_32 Nybegynder
07. maj 2004 - 15:50 #16
jeg har nu prøvet fra en anden pc, hvor outlook virker.
Jeg har får den gamle kende fejl med activex cant create object.... error 429.
??????????
Avatar billede lasse_32 Nybegynder
07. maj 2004 - 15:53 #17
Jeg har iøvrigt fået følgende link vedr. det:
http://support.microsoft.com/?id=828550
.... måske fra dig :-).

Måske du bliver klogere af det?
Avatar billede kedde65 Praktikant
07. maj 2004 - 15:54 #18
Redemption skal også være installeret på den anden PC, ellers vil det ikke virke.

VH CK
Avatar billede lasse_32 Nybegynder
07. maj 2004 - 15:55 #19
F.eks. kan jeg se at du har et recipient.add et sted.
Tror du det kan være et problem?
Avatar billede kedde65 Praktikant
07. maj 2004 - 15:56 #20
Nej det er ikke noget problem, hvis redemption er installeret på alle de maskiner der skal køre projektet, så virker det.

VH CK
Avatar billede lasse_32 Nybegynder
07. maj 2004 - 16:00 #21
Nå ok, jeg har ikke installeret det på den anden maskine.
Det gør jeg nu.
Avatar billede lasse_32 Nybegynder
07. maj 2004 - 16:08 #22
Du har ret, nu forsvinder alle fejl.
Men jeg modtager ingen mail på den emailadresse jeg har sat ind?
Avatar billede kedde65 Praktikant
07. maj 2004 - 16:11 #23
Så start Outlook og tryk send og modtag, redemption bruger Outlook til at sende med!

P.S. Jeg har lige kigget på dine spørgsmål, du bør nok se at får mange af dem der er svaret på lukket!
Avatar billede lasse_32 Nybegynder
07. maj 2004 - 16:17 #24
Du har ret de ligger som kladder. Og jeg kan åbne outlook og sende dem.
Men hvorfor bliver de ikke sendt automatisk uden, at jeg behøver at åbne outlook?

Hvordan skal jeg lukke spørgsmål?
Avatar billede kedde65 Praktikant
07. maj 2004 - 16:19 #25
Det er fordi de bruger Outlook til at sende med, så Outlook skal blot være åben og sættes op til at afsende automatisk engang imellem.

Du lukker et spørgsmål ved at klikke på det navn der har svaret, og så vælge accepter. Så tildeler du point, og spørgsmålet er lukket.

VH CK
Avatar billede lasse_32 Nybegynder
07. maj 2004 - 16:24 #26
Hvad betyder dig safeitem.send så??

Du siger du har set en oversigt over spørgsmål på mig?
Er det et sted her på siden jeg kan få overblik over mine egne spgsm?
Og hvad jeg mangler at lukke?
Avatar billede kedde65 Praktikant
07. maj 2004 - 16:26 #27
safeitem.send betyder at mailen gøres klar til at blive sendt via Outlook, men at den blot lægger sig der indtil Outlook sender afsted.

Du kan se dine brugerInfo ved at klkke på dit brugernavn øverst oppe til venstre.
Avatar billede lasse_32 Nybegynder
07. maj 2004 - 16:31 #28
Takker... og nu skal jeg så acceptere.
Avatar billede tma Juniormester
24. april 2007 - 15:40 #29
Jeg har lige et opfølgende spørgsmål. Er der en måde at undgå at det er outlook der styrer afsendelsen? Jeg har lavet et program som afsender mails en gang imellem. Programmet virker fint hvis man kører det almindeligt, men selve afsendelsen af mails fungerer ikke når programmet kører som service, hvilket det skal. Kan jeg gøre noget for at få afsendelsen til at fungere også ved kørsel som service?

Hilsen Torben
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