skip to Main Content

I received an odd error message from a website named Unspan stating that my HTML Tags in my test email were not properly closed and nested.

I am seeking a second pair of eyes to review the code written below as I do not visually see where my error lies.

Attached is a screen shot of the error message as well as the code written itself. If someone could kindly review my work and point out what I did incorrect and what I need to change, that would be much appreciated thank you.

HTML error message

enter image description here

Error message received

The HTML body is not composed of properly closed and nested tags

The HTML body is not composed of standard and supported HTML elements

Outlook email message printed

Dim OutApp As Object
Dim OutMail As Object
Dim Ws As Worksheet
Dim strbody As String
Dim row_count As Integer


Greeting = Ws.Range("I24")
EMD = Ws.Range("B7")
DPeriod = Ws.Range("B8")
CashEscrow = Ws.Range("A9")
CashDays = Ws.Range("B9")
CreativeEscrow = Ws.Range("A10")
CreativeDays = Ws.Range("B10")
Body = Ws.Range("B19")
CC = Ws.Range("F2")
BCC = Ws.Range("H2")

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)


strbody = "<BODY style = font-size:14pt;font-family:Tahoma>" & _
Greeting & " " & Ws.Cells(i, 1).Text & "," & "<br>" & Body & " " & Ws.Cells(i, 4).Text & "." & _
"<br>" & "<br>" & "Non-Refundable EMD" & " " & "$" & EMD & "<br>" & "DD Period" & " " & DPeriod & "<br>" & CashEscrow & " " & _
CashDays & "<br>" & CreativeEscrow & " " & CreativeDays & "<br>" & "<br>" & "Thank You" & "<br>" & "Regards," & "<br>" & Ws.Range("K2") & "<br>" & Ws.Range("L2") & "<br>" & Ws.Range("K3") & "<br>" & Ws.Range("L3") & "<br>"


FileName = Ws.Cells(i, 6).Text
 
On Error Resume Next
    With OutMail
        .To = Ws.Cells(i, 2).Text
        .CC = CC
        .BCC = BCC
        .Subject = "Interested In Purchasing" & " " & Ws.Cells(i, 4).Text & ":" & " " & "Please Review"
        .HTMLBody = strbody & _
        "<img src='C:UsersdavidOneDriveDesktopReal EstateWhoop&DiscordCredibility Evergreen ServicingWhyRealtorsshouldUseCreativeFinance.jpg' width='90%' height='90%'>" & _
        .HTMLBody
      

Checked the other forums, Youtube and google. Tried to find the error in my code manually

Below is the Print Statement from the Immediate VBA Window

<BODY style = font-size:16pt;font-family:Tahoma>
Good Afternoon Keianna,<br>Hope all is well on this Thursday. Quickly following up on our offer sent last week. My partner Laura and I are interested in purchasing one of your listed properties. We have constructed 2 main offers for sellers consideration. Attached is our Letter of Intent to purchase along with our credibility. Both proposals are subject to final underwriting. The necessary paperwork will be written up on our end, and attached as an addendum to your state approved PSA when the seller chooses options 2 or 3. Should yourself, or the seller have any questions my contact info is below. We look forward to acquiring, 828 Royal Red Ct.<br><br>Non-Refundable EMD $4000<br>DD Period 7 days Excluding Sundays<br>Offer One: Close In 30 Days<br>Offer Two: Close On or Before 21 Days<br><br>Thank You<br>Regards,<br>David Elliot<br>Cell 914-426-2428<br>Office Contact<br>  470-339-6093<br>
</body>
<img src='C:UsersdavidOneDriveDesktopReal EstateWhoop&Discord
    Credibility Evergreen ServicingWhyRealtorsshouldUseCreativeFinance.jpg' width='90%' height='90%'>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
    <HTML>
    <HEAD>
    <META NAME="Generator" CONTENT="MS Exchange Server version 16.0.17928.20114">
    <TITLE></TITLE>
    </HEAD>
    <BODY>
    <!-- Converted from text/plain format -->
    
    </BODY>
    </HTML>

2

Answers


  1. Although you declared WS but you never initialize it you have to do it like

    Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets("Sheet1") ' or whatever the sheet name
    

    you have to give the i initial value of something like 1

    Dim i As Long: i = 1
    

    At the end of strbody you have to add a tag to close the tags something like

    strbody = <BODY style = font-size:14pt;font-family......
    
    strbody = strbody & "</body>"
    

    Hopefully this will do the trick

    Login or Signup to reply.
  2. I’m not familiar with "unspam email website".

    The only official place to validate html is https://validator.w3.org/#validate_by_input

    according to the print statements your HTML is wrong,
    HTML structure is all about opening tags and closing tag.
    but the answer is out of the scope in this vba excel tag.
    So if you want to learn how to write an HTML there is a lot of places to lern on the net

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search