Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Sending HTML email with MS Access

Posted on 2004-08-19
5
Medium Priority
?
777 Views
Last Modified: 2013-04-04
I am currently developping a MS Access DB under 2000 format.
I have a table containing clients information including e-mail addresses.

Now i want to be able to send email to them.
The email MUST contain images and text formatting. I was hoping to do it with HTML since it's easy and i have experience with that.

I've been trying the DoCmd.SendObject method. Unfortunately, when i send stuff (like a report) in HTML format, it is attached to the main email. I want the HTML to be displayed in the email body.

Also, with the DoCmd.SendObject method, HTML tags specified as the "[message text]" are not parsed in the email client and are simply outputted as "<html><body>..."

I know (and i can figure out) correct algorithms for mass mailing. I want a solution to EASILY send emails with HTML as body.
The mail client should be MS Outlook with very high preference. I was hoping to find a solution which wasn't relying on third party software. Also note that the security confirmation request which appeared in the later MS security patches isn't a problem, I can bear clicking on each of them.
0
Comment
Question by:Zarathushtra
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
5 Comments
 
LVL 4

Expert Comment

by:naivad
ID: 11849291
You have to specify the outputformat as acFormatRTF

docmd.sendobject(ObjectType, ObjectName, OutputFormat, To, Cc, Bcc, Subject, MessageText, EditMessage, TemplateFile)

The third parameter should be acFormatRTF to use html tags...



0
 
LVL 53

Expert Comment

by:Ryan Chong
ID: 11849791
Try using free vbsendmail component:
http://www.freevbcode.com/ShowCode.Asp?ID=109
0
 
LVL 27

Accepted Solution

by:
jjafferr earned 1500 total points
ID: 11850564
Hi Zarathushtra

I have gone throgh this before, and seemed to take the hard way, but I couldn't get through any other way,
So here is my Lengthy way (for the Images, see the End part):



Private Sub Command1_Click()

'1+++++
'You have to output your Report and save it on a disk drive.
'You can do it with HTML to maintain the Report Format.

    DoCmd.OutputTo acOutputReport, "YourReportName", acFormatHTML, "c:\YourReportOutput.HTML", False

'2+++++
'Now we will open this file and read the contenet of it in a String Variable called FullText

Dim MyString
Open "c:\YourReportOutput.HTML" For Input As #1    ' Open file for input.
Do While Not EOF(1)    ' Loop until end of file.
    Line Input #1, MyString    ' Read each Line into MyString variable.
    FullText = FullText & MyString     'Put all the Lines read into one String, FullText
Loop
Close #1    ' Close file.

'3+++++
'In Outlook, go to Tools>Option>Mail Format>HTML (use this message format)
'Why HTML, because the base of it is Text, but the output is formated HTML
'We need to have a String to put in the .HTMLBody, not a file

Dim ol As New Outlook.Application
Dim olMail As Outlook.MailItem

    Set olMail = ol.CreateItem(olMailItem)

    With olMail
        .To = "who@where.com"
        '.CC = strCC
        '.BCC = "address2@aa.com"
        '.Attachments.Add "c:\somefile.txt"
        '.Attachments.Add "c:\somefile2.txt"
        .Subject = "Testing"
        .HTMLBody = FullText '"c:\CVPrint1.HTML"
        '.Body = "This is the body..."
        '.Display
        .Send
    End With

    Set olMail = Nothing
    Set ol = Nothing
End Sub


-----------------

Although a bit long, but it will get your HTML file in the Body of your Outlook Email,
but unfortunatly, Access will not output the images in the Report, so
A way around this is, to upload your images to your server, and point the image in the email to that url, for example:

<IMG height=56 alt="Experts Exchange" src="http://www.experts-exchange.com/images/logo.gif" width=742>


jaffer
0
 

Author Comment

by:Zarathushtra
ID: 11863735
OH!
I just needed to import components =(
0
 
LVL 27

Expert Comment

by:jjafferr
ID: 11863823
Zarathushtra
Why a B grade if it worked for you?
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Access custom database properties are useful for storing miscellaneous bits of information in a format that persists through database closing and reopening.  This article shows how to create and use them.
Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question