Improve company productivity with a Business Account.Sign Up

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 391
  • Last Modified:

cfmail an outlook task

Is anyone aware of a way to email someone an outlook task using CF, or for that matter, any language?
David Williamson
David Williamson
  • 7
  • 4
1 Solution
Since Outlook does not support the VTODO element of the iCal standard, you would have to use Outlook objects, which means client, not server code.  The only way I could think of is to email them a LINK that goes to a page on your server and generates some VB Script code that instantiates the Outlook object and creates a task.

I have some samples of how to do that for emails but not tasks.  But it may give you a head start.  Interested?
By the way, instantiating Outlook on the end-users machine will generate security warnings so you will want them to add your site into their trusted sites list.  

Here is some sample code.  Just do something like this:

Set objOL = CreateObject("Outlook.Application")
Set myItem = objOL.CreateItem(3)
Set myDelegate = myItem.Recipients.Add("Pat Buchanan, George Bush")
myItem.Subject = "Slap around Mr. Kerry"
myItem.DueDate = #12/31/2004#

You might have to debug the above code - have not tested it.

Also, here is some code to determine if Outlook is already running before you try to start it up.  Otherwise you MIGHT get "can't create object errors"

Function OpenOL(Optional ProfileName) As Outlook.Application
    Dim objOL As Outlook.Application
    On Error Resume Next
    Set objOL = GetObject(, "Outlook.Application")
    If objOL Is Nothing Then
        Set objOL = CreateObject("Outlook.Application")
        objOL.Session.Logon ProfileName, , False, True
    End If
    Set OpenOL = objOL
    Set objOL = Nothing
End Function
David WilliamsonIT DirectorAuthor Commented:
Most of this is unfamiliar to me, and therefore may be beyond me.  I don't have any VB experience, just CF, HTML, CSS, and JS.
Easily Design & Build Your Next Website

Squarespace’s all-in-one platform gives you everything you need to express yourself creatively online, whether it is with a domain, website, or online store. Get started with your free trial today, and when ready, take 10% off your first purchase with offer code 'EXPERTS'.

I have yet to find a way to do it using server side.  Outlook just doesn't support it.  I could send you a 100% working snippit that creates EMAILS on the client side using Outlook.  Would that help?

David WilliamsonIT DirectorAuthor Commented:
I'm at work where I don't have the code - it's at home.  Can I send it to you later?
Sorry this took so long - I forgot.....


<script language="VBScript">
      sub EmailSample()
            const olMailItem = 0
        //Create an object to interact with Microsoft Outlook
            set objOutlook = createobject("Outlook.Application")
            //Create a new mail message
            set objMail = objOutlook.createitem(olMailItem)
            //fill in who the message is to
            objMail.To = ""
            //create the subject line
            objMail.subject = "CF over ASP"
            //Create the Body in HTML format.  You can use objMail.body if you want plain text instead of HTML
            message = message + "<b>Hello</b> there Bill"

            objMail.HTMLBody = "<HTML><BODY>" + message + "</BODY></HTML>"

            //Use .display to display the message before sending
            //You could use objMail.Send to send the message without reviewing it first
            //clean up
            set objMail = nothing
            set objOutlook = nothing
      end sub
David WilliamsonIT DirectorAuthor Commented:
so how do I implement/test this?  I have never used VBScript.  Can it be used or called in a web page?
To test it, just create an basic HTML page, and paste the above code into it.

Now you need something to call the function.  You can make it "auto-run" by just calling the function right after you declare it, by adding this line:


directly below the "end sub" line, but still inside the <script> tags.

If you wanted to call it based on a button click, you could instead place this code in the <body> of your page:

<button onclick="EmailSample">Send Email</button>

There are a bunch of VBScript / JavaScript tutorials on the web that will get you up to speed in 1 day (it's pretty simple in some ways).  As you delve deeper into "outside of the box" web programming like automation (what we are doing above) learning VBScript/JavaScript is essential.


David WilliamsonIT DirectorAuthor Commented:
I use JS all the time, so if its similar to VBS, then I should be just fine.
Yep - it's pretty close.  Just a few different annoyances, like:


instead of


like in JS.

You'll like it in some ways and hate it in others.  :)  I think VBScript has much better support for date formats, for example.

Hope that helped you!

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 7
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now