Sending CDO.Message with importance

You may also like...

20 Responses

  1. Bob Nelson says:

    Thank you so much for publishing this! I have been searching for over an hour for the correct way to set the importance\priority using CDO, and everybody had a different way (none of which worked!). Your sub worked perfectly for me!

  2. Lewis says:

    Thank you Bob 🙂 You are very welcome.

  3. Rav says:

    Thank you very much for this. I was also searching for a solution and all of ’em failed except for yours. !!

  4. Rich says:

    The only solution I found that worked. Kudos to you!

  5. Voilla, it works, kudos to you….

  6. peter brandt says:

    Hello – can you answer a simple one? I have a form that allows the user to enter their email address, I then want to send them a reply. How do I script the reply into the “To = “”? Thanks.

  7. Lewis says:

    Hi Peter, this posting is actually a subroutine that you can use as many times as you like. You simply call it from within your script.

    For instance, you have the subroutine as above. You then call that subroutine using the following syntax:

    sendMail '', '', 'This is the subject', 'This is the message', Null

    You can call the subroutine as many times as you like within the same script.

    Again, the subroutine is copied in to the script, you then simply call it…

    First I set the message, obviously this could be quite a long message so I find it better to break it out in to a separate variable.
    sMessage = "Hello, this is a long message with line breaks" & VbCrLf & "This is the second line."

    sendMail "", "", "This is the subject", sMessage, Null
    sendMail "", "", "This is the subject", sMessage, Null

    If you’re sending the same message to more than one person, you can even just separate the email addresses with commas, thus:

    sendMail ",", "", "This is the subject", sMessage, Null

  8. Shahid says:


    I used your code its working fine but priority thing is not working.


  9. Pete says:

    Thank you very much for this code !

    Priority level is correct.

    It works fine

  10. Marty says:

    Thank you, thank you, thank you!

  11. Jos says:

    Please for example with more attachment!

  12. Jonathan says:

    Thanks a ton! I couldn’t easily solve the priority issue.

    You didn’t, however, include how to send LOW priority mail. After more searching and playing around I got this to work on Outlook 6 and my web based mail program at least:

    ObjMail.Fields.Item(“urn:schemas:mailheader:X-MSMail-Priority”) = “Low”
    ObjMail.Fields.Item(“urn:schemas:mailheader:X-Priority”) = 5
    ObjMail.Fields.Item(“urn:schemas:httpmail:importance”) = 0

  13. rpgivpgmr says:

    Thanks Sir.

    iImportance = Cint(request.form(“importance”))

    Select Case iImportance
    Case 2
    objMessage.Configuration.Fields.Item(“urn:schemas:mailheader:X-MSMail-Priority”) = “High” ‘ For Outlook 2003
    Case 1
    objMessage.Configuration.Fields.Item(“urn:schemas:mailheader:X-MSMail-Priority”) = “Medium” ‘ For Outlook 2003
    Case 0
    objMessage.Configuration.Fields.Item(“urn:schemas:mailheader:X-MSMail-Priority”) = “Low” ‘ For Outlook 2003
    End Select

    objMessage.Configuration.Fields.Item(“urn:schemas:mailheader:X-Priority”) = iImportance ‘ For Outlook 2003 also
    objMessage.Configuration.Fields.Item(“urn:schemas:httpmail:importance”) = iImportance

  14. Server says:

    The above did not work for me (script is running on a Server 2003 with Outlook 2003 installed, receiving client is Outlook 2003). But this does:

    objMessage.Fields.Item(“urn:schemas:mailheader:importance”) = “high” ‘ or “normal” or “low”

    (found here:

  15. nitika says:

    I am new to access and i have created an employee database. In it there are fields of passport_Expiry, Labourcard_Expiry and i am struggling since last 1 month for setting up a reminder for warning me for an expiry. Like if the passport is getting Expiry on 03.08.2012 then i want it to remind me on 03.07.2012 as an email. It should automatically generate email from outlook and forward it to concern person. Please help me with it.


  16. Saiful says:

    Thanks a tonne Lewis. Your code was a godsend. Yours is the only sample that worked in a whole day !!!

  17. Wayne says:

    A decade later and it still works perfect, Thanks! I’m glad you never took this post off-line. 🙂

  18. Todd says:

    Thank you 🙂

  19. P says:

    most important to remember is the update at the end of setting the importance flag which I forgot and finally found. Thanks OP

  20. klz says:

    Lewis Roberts, this blog post still wears a cape in 2020! Thanks for the help here. Working on VERY old Classic ASP code from like. . . the turn of the century (literally), converting all references of CDONTS.NewMail to CDO.Message.

Discover more from

Subscribe now to keep reading and get access to the full archive.

Continue reading