05. maj 2004 - 16:21Der 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?
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.
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?
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
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 :-)?
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/
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
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.
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.
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?
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?
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
Synes godt om
Ny brugerNybegynder
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.