Creating HTML email from form (1 Viewer)

Malcy

Registered User.
Local time
Today, 23:43
Joined
Mar 25, 2003
Messages
586
Hi. I am at the tearing hair out stage. I had set up email confirmation from a form and it was going fine. Initially used a PDF attachment but that contact person left and now the new person wants the confirmation incorporated into the body of the email (not a bad judgement) but they also want some text formatted into bold and also their logo incorporated into the body of the email.
I had moved it to using the body message as effectively a long string which laid all out quite nicely, but not nicely enough! As far as I can see to get the bold and image I need to move to HTML and struggling.

This is my current code
Code:
' If a booking then ascertain if confirmation to be sent now
        varResponse = MsgBox("Do you wish to send an appropriate confirmation now?" & vbLf & vbLf & "You are able to do it later when reviewing bookings for the course.", vbYesNo, "Confirm booking now?")
    
        If varResponse = vbYes Then
' Determine if email address available
            If Not IsNull(Me.txtEmail) Then
                bSent = True

' Identify variables
    strName = DLookup("FullName", "qryBookingConf")
    strEvent = "XXXXXXXXXXXXX - " & DLookup("Event", "qryBookingConf") & vbLf & DLookup("strEv", "tblEvents", "lngEv = " & Me.cboTrEvent & "")
    
    strBlock1 = strName & vbLf & Nz(DLookup("strOrg", "qryBookingConf")) & CR & Format(Date, "dddd"", ""d mmmm yyyy") & CR & CR & "Dear " & strName & CR & strEvent

    strVenue = "Venue:" & vbLf & DLookup("strVen", "qryBookingConf") & vbLf & Nz(DLookup("strVenAddr1", "qryBookingConf")) & vbLf & Nz(DLookup("strVenAddr2", "qryBookingConf")) & vbLf & DLookup("VenTown", "qryBookingConf") & vbLf & DLookup("strVenPc", "qryBookingConf")
    strTimes = "Times:" & vbLf & "Registration and coffee " & DLookup("dtmEvStart", "qryBookingConf") & vbLf & "Start " & DLookup("dtmEvCommence", "qryBookingConf") & vbLf & "Finish " & DLookup("dtmEvEnd", "qryBookingConf")
    strBlock3 = DLookup("strEmText", "tblEmailTexts", "lngEm = 4") & CR & DLookup("strEmText", "tblEmailTexts", "lngEm = 5") & CR & DLookup("strEmText", "tblEmailTexts", "lngEm = 6")
    strSignature = "XXXX" & vbLf & "XXXXX" & vbLf & "XXX Street" & vbLf & "EDINBURGH" & vbLf & "EH" & CR & "Tel: 0131 " & vbLf & "Fax: 0" & vbLf & "Web: www.xxxx.uk"

' Determine which confirmation is to be sent
                If Me.cboStatus = 1 Then
                    strBlock2 = DLookup("strEmText", "tblEmailTexts", "lngEm = 8") & " " & DLookup("strEvT", "qryBookingConf") & " " & DLookup("strEmText", "tblEmailTexts", "lngEm = 7")
                ElseIf Me.cboStatus = 5 Then
                    strBlock2 = DLookup("strEmText", "tblEmailTexts", "lngEm = 9") & " " & DLookup("strEvT", "qryBookingConf") & " " & DLookup("strEmText", "tblEmailTexts", "lngEm = 10")
                ElseIf Me.cboStatus = 7 Then
                    strBlock2 = DLookup("strEmText", "tblEmailTexts", "lngEm = 1") & " " & DLookup("strEvT", "qryBookingConf") & " " & DLookup("strEmText", "tblEmailTexts", "lngEm = 2")
                End If

                
' Set up the message
                strMessage = strBlock1 & CR & strBlock2 & CR & strVenue & CR & strTimes & CR & strBlock3 & CR & "Kind regards." & CR & CR & strSignature

' Create the Outlook session.
                Set objOutlook = CreateObject("Outlook.Application")

' Create the message.
                Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
   
                With objOutlookMsg
' Add the To recipient(s) to the message.
                    Set objOutlookRecip = .Recipients.Add(Me.txtEmail)
                        objOutlookRecip.Type = olTo
                        objOutlookRecip.Resolve

' Set the Subject, Body, and Importance of the message.
                        .Subject = "XXXX booking confirmation"
                        .Body = strMessage
                        .Importance = olImportanceHigh  'High importance

' Send the message
                    .Send
                End With

Can anyone advise/point me in right direction to add formatting and embed image before I have no hair left???
Thanks
 

ajetrumpet

Banned
Local time
Today, 17:43
Joined
Jun 22, 2007
Messages
5,638
instead of the .BODY property to write the message, use the .HTMLbody property. when you use that instead, you can add HTML tags and formatting to the code. for instance, instead of this:
PHP:
 .Body = strMessage
you can write this to bold the entire message:
PHP:
 .HTMLBody = "<b>" & strMessage & "</b>"
 

GaryPanic

Smoke me a Kipper,Skipper
Local time
Today, 15:43
Joined
Nov 8, 2005
Messages
3,294
Have a look at the w3school site (www.w3school.com)

as I am about to embark on this same process - this site looks pretty good -

I have currently plain text - but I know that the end users will want mor than this -

hope this helps

g
 

stopher

AWF VIP
Local time
Today, 23:43
Joined
Feb 1, 2006
Messages
2,395
instead of the .BODY property to write the message, use the .HTMLbody property. when you use that instead, you can add HTML tags and formatting to the code. for instance, instead of this:
PHP:
 .Body = strMessage
you can write this to bold the entire message:
PHP:
 .HTMLBody = "<b>" & strMessage & "</b>"


Also need to set the mail format:

Code:
.BodyFormat = olFormatHTML

Chris
 

burrelly

Registered User.
Local time
Today, 23:43
Joined
Sep 5, 2008
Messages
79
I have tried using the HTMLBody code to do something similarr but having issues with it as there is 128 lines of html.

Any ideas how to get around this:

The HTML is as follows:

Code:
<style type="text/css">
<!--
#Heading_Text {
    font-size: 18px;
}
#oraclecommcentre {
    text-align: center;
}
#smaller {
    font-size: 12px;
}
#smallertext {
    font-size: 10px;
}
body table tr td {
    font-size: 12px;
}
#copytext {
    font-size: 12px;
}
#contacttext {
    font-size: 12px;
}
#termstext {
    font-size: 12px;
}
#privacy {
    font-size: 12px;
}
#maintext {
    font-size: 14px;
}
-->
</style>
<table width="70%" border="1" align="center">
  <tr>
    <td align="center"><table width="100%" border="0" cellpadding="0" cellspacing="0" bordercolor="#000000">
      <tr>
        <td colspan="4" bgcolor="#FF0000"> </td>
      </tr>
      <tr>
        <td width="63%" height="102" align="center" valign="middle" id="Heading_Text"><p><strong>Test data</strong><strong></strong></p></td>
        <td width="2%" align="center" valign="middle" id="Heading_Text"> </td>
        <td width="29%" align="right" valign="top"> </td>
        <td width="6%" bgcolor="#FF0000"> </td>
      </tr>
    </table>
      <table width="100%" border="0">
        <tr>
          <td> </td>
        </tr>
        <tr>
          <td><p id="maintext">Dear</p>
            <p id="maintext"><strong>Confirmation of Meeting **ID**</strong></p>
            <p id="maintext">Further to our recent conversation, please find below confirmation of the meeting we arranged.
              <br>
            </p>
            <table width="100%" border="0">
              <tr>
                <td width="36%" >Date:</td>
                <td width="64%">**MEETING DATE**</td>
              </tr>
              <tr>
                <td>Time:</td>
                <td>**MEETING TIME**</td>
              </tr>
              <tr>
                <td>Venue:</td>
                <td>**VENUE**</td>
              </tr>
              <tr>
                <td>Present:</td>
                <td>**PRESENT**</td>
              </tr>
              <tr>
                <td valign="top"> Executives Present: </td>
                <td valign="top"><p>**EXEC**<br />
                  **EXEC**<br />
                  **EXEC**<br />
                    <br />
                </p></td>
              </tr>
            </table>
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed aliquam congue nisl quis vulputate. Maecenas tellus leo, dictum ultrices auctor sed, consectetur quis orci. Sed eget dui nec risus pharetra pellentesque dignissim id eros. Ut eu vestibulum arcu. Fusce euismod, massa vel cursus pharetra, dolor metus mollis eros, et tincidunt sem enim sit amet velit. Donec mattis facilisis feugiat. Cras turpis nulla, suscipit quis tincidunt non, vehicula eget dolor. Pellentesque imperdiet nisl et massa sodales pharetra. In sit amet sapien eget felis elementum tincidunt. Donec pellentesque venenatis elit ultricies rutrum. Sed non venenatis dolor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed quis nunc massa. Nullam non urna tortor, nec auctor mi. Praesent non risus non dolor lacinia ultrices. Praesent cursus, diam et blandit hendrerit, nisl nibh auctor ipsum, vitae condimentum est dui at leo. Donec consectetur ultrices sem quis egestas. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Phasellus id eros urna.</p>
            <p>Integer metus neque, tempus at elementum quis, malesuada sed purus. Mauris tempor leo velit, id ultricies augue. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Proin ut congue ante. Pellentesque eu velit purus. Donec ut elementum urna. Nam vel sem id nibh suscipit tincidunt ac at dolor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam pretium accumsan neque, nec consequat sapien tristique sit amet. Integer non magna nisl. Nam lobortis est et odio fermentum sit amet molestie ante fringilla. Praesent accumsan, mi a malesuada consectetur, sapien arcu ornare purus, quis bibendum sem leo et lectus. Cras est purus, cursus at congue vel, consequat sed metus. Pellentesque elit orci, gravida fermentum tempus eget, pellentesque sit amet turpis. Nullam a orci metus. Nam ligula elit, tristique eu viverra et, auctor eget tortor. Praesent semper eros nec purus laoreet nec fermentum massa luctus. Vestibulum eget nulla massa, feugiat vehicula augue. Ut aliquam metus massa, a porta mauris. Suspendisse elementum aliquet nibh, at malesuada orci euismod eu.</p>
            <p>In consequat tristique erat sit amet egestas. Donec elementum sapien quis erat condimentum non semper sapien iaculis. Sed quis nulla id eros condimentum semper a a augue. Sed congue, mauris sed imperdiet elementum, nunc quam malesuada massa, ac commodo tellus nisi nec nisl. Suspendisse potenti. Donec at nibh at felis suscipit volutpat sit amet ac quam. Cras eu nulla sed neque consequat dapibus at ut massa. Duis adipiscing malesuada sapien quis iaculis. Integer posuere, purus ut laoreet dignissim, ipsum massa placerat tellus, vitae sollicitudin purus dolor sit amet leo. Pellentesque fringilla feugiat sem, sed placerat arcu hendrerit id. Cras vel magna quis eros porttitor facilisis. Aliquam iaculis lacinia pharetra. Suspendisse aliquam dictum suscipit. Fusce rutrum laoreet libero. Pellentesque scelerisque rutrum faucibus.</p>
            <p>Phasellus sagittis, sapien et dapibus sagittis, lorem massa blandit ipsum, sed varius lectus sapien vel metus. Etiam varius suscipit lorem vel posuere. Duis non eros felis, at hendrerit mi. Donec sit amet imperdiet enim. In turpis ligula, faucibus id pellentesque vel, pharetra id eros. Mauris lacinia, risus non tincidunt fringilla, augue ante aliquet nulla, in consequat mi turpis eu eros. Duis ullamcorper nisl a sem eleifend a blandit lectus rutrum. Ut at ipsum magna. Sed faucibus pharetra augue, sed convallis est sodales eu. Nulla sollicitudin imperdiet nulla, sed fermentum eros consectetur ut. Curabitur neque turpis, porta vel lobortis nec, lacinia eu dui. Aenean rhoncus molestie nisi eu malesuada. Donec sit amet tempor nibh. Sed sed lacus sit amet massa fringilla porttitor. Proin in mollis nisl. Praesent et venenatis quam. Nunc sed nisi tellus. Aliquam erat volutpat. Phasellus dictum ornare arcu, at sagittis enim ultricies sed. </p>
          <table width="100%" border="0">
            <tr>
              <td width="39%" id="copytext">Copyright © 2008, . All rights reserved.</td>
              <td width="12%" align="center" id="contacttext"><a href="http://www.google.com">Contact Us</a></td>
              <td width="32%" align="center" id="termstext"><a href="http://www.google.com">Legal Notices and Terms of Use</a></td>
              <td width="17%" align="center" id="privacy"><a href="http://www.google.com">Privacy Statement</a></td>
            </tr>
          </table></td>
        </tr>
      </table></td>
  </tr>
</table>
<table width="70%" border="0" align="center">
  <tr>
    <td><p>Nulla convallis, enim tincidunt rutrum viverra, nulla libero molestie   lectus, nec interdum velit felis quis mi. Maecenas ultrices magna quis   dolor egestas pellentesque. Donec posuere placerat urna nec rhoncus.   Nullam ut porta felis. Donec rutrum gravida orci, vitae facilisis tortor   pretium eget. Quisque ut dolor et diam molestie aliquam. Praesent   rutrum magna sed nisl varius porttitor auctor purus blandit. Vivamus   sollicitudin pharetra viverra. Curabitur fermentum, lacus vitae posuere   venenatis, leo dolor sodales diam, gravida cursus nibh ante placerat   erat. Nam elementum dictum molestie. Suspendisse ultricies pulvinar   sapien, ut hendrerit leo dignissim at. Donec auctor mauris eu magna   condimentum blandit. Curabitur a ligula a felis condimentum ullamcorper   eget ut ipsum. Pellentesque habitant morbi tristique senectus et netus   et malesuada fames ac turpis egestas. Pellentesque eu nibh elit, vel   fermentum mi. Fusce odio tellus, volutpat placerat ullamcorper ac,   blandit nec risus. Morbi ac nibh id nisl accumsan gravida. Aenean cursus   magna non diam gravida eleifend. </p></td>
  </tr>
</table>

Thanks
 

ajetrumpet

Banned
Local time
Today, 17:43
Joined
Jun 22, 2007
Messages
5,638
I have tried using the HTMLBody code to do something similarr but having issues with it as there is 128 lines of html.

Any ideas how to get around this:

The HTML is as follows:

Code:
<style type="text/css">
<!--
#Heading_Text {
    font-size: 18px;
}
#oraclecommcentre {
    text-align: center;
}
#smaller {
    font-size: 12px;
}
#smallertext {
    font-size: 10px;
}
body table tr td {
    font-size: 12px;
}
#copytext {
    font-size: 12px;
}
#contacttext {
    font-size: 12px;
}
#termstext {
    font-size: 12px;
}
#privacy {
    font-size: 12px;
}
#maintext {
    font-size: 14px;
}
-->
</style>
<table width="70%" border="1" align="center">
  <tr>
    <td align="center"><table width="100%" border="0" cellpadding="0" cellspacing="0" bordercolor="#000000">
      <tr>
        <td colspan="4" bgcolor="#FF0000"> </td>
      </tr>
      <tr>
        <td width="63%" height="102" align="center" valign="middle" id="Heading_Text"><p><strong>Test data</strong><strong></strong></p></td>
        <td width="2%" align="center" valign="middle" id="Heading_Text"> </td>
        <td width="29%" align="right" valign="top"> </td>
        <td width="6%" bgcolor="#FF0000"> </td>
      </tr>
    </table>
      <table width="100%" border="0">
        <tr>
          <td> </td>
        </tr>
        <tr>
          <td><p id="maintext">Dear</p>
            <p id="maintext"><strong>Confirmation of Meeting **ID**</strong></p>
            <p id="maintext">Further to our recent conversation, please find below confirmation of the meeting we arranged.
              <br>
            </p>
            <table width="100%" border="0">
              <tr>
                <td width="36%" >Date:</td>
                <td width="64%">**MEETING DATE**</td>
              </tr>
              <tr>
                <td>Time:</td>
                <td>**MEETING TIME**</td>
              </tr>
              <tr>
                <td>Venue:</td>
                <td>**VENUE**</td>
              </tr>
              <tr>
                <td>Present:</td>
                <td>**PRESENT**</td>
              </tr>
              <tr>
                <td valign="top"> Executives Present: </td>
                <td valign="top"><p>**EXEC**<br />
                  **EXEC**<br />
                  **EXEC**<br />
                    <br />
                </p></td>
              </tr>
            </table>
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed aliquam congue nisl quis vulputate. Maecenas tellus leo, dictum ultrices auctor sed, consectetur quis orci. Sed eget dui nec risus pharetra pellentesque dignissim id eros. Ut eu vestibulum arcu. Fusce euismod, massa vel cursus pharetra, dolor metus mollis eros, et tincidunt sem enim sit amet velit. Donec mattis facilisis feugiat. Cras turpis nulla, suscipit quis tincidunt non, vehicula eget dolor. Pellentesque imperdiet nisl et massa sodales pharetra. In sit amet sapien eget felis elementum tincidunt. Donec pellentesque venenatis elit ultricies rutrum. Sed non venenatis dolor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed quis nunc massa. Nullam non urna tortor, nec auctor mi. Praesent non risus non dolor lacinia ultrices. Praesent cursus, diam et blandit hendrerit, nisl nibh auctor ipsum, vitae condimentum est dui at leo. Donec consectetur ultrices sem quis egestas. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Phasellus id eros urna.</p>
            <p>Integer metus neque, tempus at elementum quis, malesuada sed purus. Mauris tempor leo velit, id ultricies augue. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Proin ut congue ante. Pellentesque eu velit purus. Donec ut elementum urna. Nam vel sem id nibh suscipit tincidunt ac at dolor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam pretium accumsan neque, nec consequat sapien tristique sit amet. Integer non magna nisl. Nam lobortis est et odio fermentum sit amet molestie ante fringilla. Praesent accumsan, mi a malesuada consectetur, sapien arcu ornare purus, quis bibendum sem leo et lectus. Cras est purus, cursus at congue vel, consequat sed metus. Pellentesque elit orci, gravida fermentum tempus eget, pellentesque sit amet turpis. Nullam a orci metus. Nam ligula elit, tristique eu viverra et, auctor eget tortor. Praesent semper eros nec purus laoreet nec fermentum massa luctus. Vestibulum eget nulla massa, feugiat vehicula augue. Ut aliquam metus massa, a porta mauris. Suspendisse elementum aliquet nibh, at malesuada orci euismod eu.</p>
            <p>In consequat tristique erat sit amet egestas. Donec elementum sapien quis erat condimentum non semper sapien iaculis. Sed quis nulla id eros condimentum semper a a augue. Sed congue, mauris sed imperdiet elementum, nunc quam malesuada massa, ac commodo tellus nisi nec nisl. Suspendisse potenti. Donec at nibh at felis suscipit volutpat sit amet ac quam. Cras eu nulla sed neque consequat dapibus at ut massa. Duis adipiscing malesuada sapien quis iaculis. Integer posuere, purus ut laoreet dignissim, ipsum massa placerat tellus, vitae sollicitudin purus dolor sit amet leo. Pellentesque fringilla feugiat sem, sed placerat arcu hendrerit id. Cras vel magna quis eros porttitor facilisis. Aliquam iaculis lacinia pharetra. Suspendisse aliquam dictum suscipit. Fusce rutrum laoreet libero. Pellentesque scelerisque rutrum faucibus.</p>
            <p>Phasellus sagittis, sapien et dapibus sagittis, lorem massa blandit ipsum, sed varius lectus sapien vel metus. Etiam varius suscipit lorem vel posuere. Duis non eros felis, at hendrerit mi. Donec sit amet imperdiet enim. In turpis ligula, faucibus id pellentesque vel, pharetra id eros. Mauris lacinia, risus non tincidunt fringilla, augue ante aliquet nulla, in consequat mi turpis eu eros. Duis ullamcorper nisl a sem eleifend a blandit lectus rutrum. Ut at ipsum magna. Sed faucibus pharetra augue, sed convallis est sodales eu. Nulla sollicitudin imperdiet nulla, sed fermentum eros consectetur ut. Curabitur neque turpis, porta vel lobortis nec, lacinia eu dui. Aenean rhoncus molestie nisi eu malesuada. Donec sit amet tempor nibh. Sed sed lacus sit amet massa fringilla porttitor. Proin in mollis nisl. Praesent et venenatis quam. Nunc sed nisi tellus. Aliquam erat volutpat. Phasellus dictum ornare arcu, at sagittis enim ultricies sed. </p>
          <table width="100%" border="0">
            <tr>
              <td width="39%" id="copytext">Copyright © 2008, . All rights reserved.</td>
              <td width="12%" align="center" id="contacttext"><a href="http://www.google.com">Contact Us</a></td>
              <td width="32%" align="center" id="termstext"><a href="http://www.google.com">Legal Notices and Terms of Use</a></td>
              <td width="17%" align="center" id="privacy"><a href="http://www.google.com">Privacy Statement</a></td>
            </tr>
          </table></td>
        </tr>
      </table></td>
  </tr>
</table>
<table width="70%" border="0" align="center">
  <tr>
    <td><p>Nulla convallis, enim tincidunt rutrum viverra, nulla libero molestie   lectus, nec interdum velit felis quis mi. Maecenas ultrices magna quis   dolor egestas pellentesque. Donec posuere placerat urna nec rhoncus.   Nullam ut porta felis. Donec rutrum gravida orci, vitae facilisis tortor   pretium eget. Quisque ut dolor et diam molestie aliquam. Praesent   rutrum magna sed nisl varius porttitor auctor purus blandit. Vivamus   sollicitudin pharetra viverra. Curabitur fermentum, lacus vitae posuere   venenatis, leo dolor sodales diam, gravida cursus nibh ante placerat   erat. Nam elementum dictum molestie. Suspendisse ultricies pulvinar   sapien, ut hendrerit leo dignissim at. Donec auctor mauris eu magna   condimentum blandit. Curabitur a ligula a felis condimentum ullamcorper   eget ut ipsum. Pellentesque habitant morbi tristique senectus et netus   et malesuada fames ac turpis egestas. Pellentesque eu nibh elit, vel   fermentum mi. Fusce odio tellus, volutpat placerat ullamcorper ac,   blandit nec risus. Morbi ac nibh id nisl accumsan gravida. Aenean cursus   magna non diam gravida eleifend. </p></td>
  </tr>
</table>

Thanks

no offense dude, but what heck is all this? i thought all u wanted to do was to format an email!
 

LPurvis

AWF VIP
Local time
Today, 23:43
Joined
Jun 16, 2008
Messages
1,269
It's completely unused Style definition. (By virtue of it not being referred to subsequently and also being commented out :-s).

The HTML of note begins with your table tags.
Building that up in your Access code is just a question of perception.
Line by iterative line.
This kind of thing.

Cheers.
 

Malcy

Registered User.
Local time
Today, 23:43
Joined
Mar 25, 2003
Messages
586
Just to say thanks for help. I have now managed to work my way through formatting the individual parts of the email using vaguely remembered HTML.
27 or so test messages and I got it looking acceptable :)

Malcy
 

Users who are viewing this thread

Top Bottom