Email Reporting Widget for Adobe Captivate (AS3)


Important information: This version of the widget is no longer available. Please go here Email Reporting Widget v2.0 for the latest version.


Widget updated 03/31/11: Support for ASP added, support for up to 14 custom variables added, support for sending a copy of the email to the student added, fix to allow scaling of Captivate projects with widgets implemented, reformatted the time completed variable to comply with the HH:MM:SS standard, added rounding to two decimals for the score percentage variable.

AS3 Email Reporting Widget for Adobe Captivate 4 and 5

What does it do?:

The Email Reporting Widget for Adobe Captivate 4 and Adobe Captivate 5 will automatically send an email with quizzing, access and other information to an admin email-address that the developer specifies in the widget parameters. It is also possible to have the widget send a copy of the email to the student. The Widget uses a PHP / ASP script to send the email in the background and the user will not notice or need to take any action in order to send the email.

In addition to sending the variables concerning quiz data from Captivate you also have the possibility to send up to 14 user defined variables / custom variables from Captivate.

How does it work?:

The developer inserts the Email Reporting Widget either on the quiz summary slide or on any slide after the quiz summmary slide. You could also use this widget to record access data and time spent in a project without quizzes. In that case simply insert the widget on your last Captivate slide.

The widget parameters tab contains three required fields:

AS3 Email Reporting Widget Properties

The Admin email field defines the email address where you want the Widget to send the email.

The Email subject field defines the subject of the email.

The Sender email field defines the from email address that will appear in the email you receive.

The Send copy to student is disabled by default. If this boxed is ticked then the widget will send a copy of the email to the student as well. The student email is retrieved from the custom Captivate variable v_email, so in order for this to work you (the developer) will need to populate this variable. Follow the instruction for setting up a Text Entry Box below.

Once you have set up these parameters and inserted the widget then the final thing you need to do is to add a Text Entry Box in your Captivate project where the user can enter his name / employee number or other type of ID so you can identify the user. The Text Entry Box needs to be associated with a variable called v_userid. If you want to have the student receive a copy of the email then you should also set up a Text Entry Box so the student can enter their email address and associate that with the variable v_email.

This concludes the work you need to do in Adobe Captivate. The next step is to publish your project and then manually copy the sendmail.php or sendmail.asp file to the directory where you published your files to. Upload all files to your webserver / LMS that runs PHP / ASP and you are all set.


I have added a live demonstration so you can test what the widget outputs. Click below to open the live demonstration.

Demonstration of the Email Reporting Widget

A screenshot of the output recieved by email can be seen below.

Example of the output recieved from the Email Reporting Widget for Adobe Captivate


Adobe Captivate 4 or Adobe Captivate 5, minimum Flash Player 9 and PHP or ASP installed on your server. Your Adobe Captivate 4 project needs to be published to AS3.

Specifically about the ASP version: I do not have any means to test the ASP version myself. The ASP Script have been converted from PHP to ASP by Christopher Haigood. The ASP script uses the “System.Web.Mail” namespace so this would need to be enabled and functional on your ASP server. If you have ASP skills yourself then you can easily modify or create a new ASPX script to handle the sending of the email using your preferred method. All the variable names are available in the current sendmail.asp script.

Test package to verify the widget will work for you:

In order to make sure that this widget will work on your system / setup you can download a special test package here. This package contains a Captivate project, some Flash coding and a PHP file. All you need to do is to edit the PHP file and insert your own email address and then upload all the files to the server / LMS where you intend to run your Captivate project from.

Currently there is no test package available for the ASP version. I’m working on figuring out how to provide a test package for the ASP version.

Download the test package (2715 downloads)


As far as I am aware of there are no know limitations of this widget other than the fact that you server needs to run PHP. Most webhosts already have PHP running on the server.

Requires “System.Web.Mail” namespace.

In addition – prior to buying the widget you should have (hopefully) used the test package to see if your server would send you an email.

Package contents:

Two widgets for Adobe Captivate 4 and Adobe Captivate 5(One PHP version and one ASP version), two PHP files, one ASP file and a help document.

Buy the Widget:

This version of the widget is no longer available. Please go here Email Reporting Widget v2.0 for the latest version.

Frequently asked questions:

Question: When I insert the component in Adobe Captivate all I see is a blank box. Is that normal?
Answer: Yes that is perfectly normal. In Edit view in Adobe Captivate all you get is a blank box. It will also be blank when the user runs your project since the widget only affects things in the background.

Question: Can I capture the individual answers to each question in Captivate with this widget?
Answer: No. The widget will capture the overall quiz scores and properties but not the individual answers to each questions.

Question: What’s all this license stuff? I just want to use it in my projects?
Answer: The license stuff is actually pretty simple. If you want to use this component in your projects (personal or professionally) then in 90% of the cases you just need to buy the Single User License. This license can be used by you in any number of projects for any number of users. The projects can be personal or for the company where you work. However, the projects need to be used internally in the company where you work. You cannot add this component to a course / project that you intend to resale to an external client. In that case you would need to re-purchase the Single User License again per external project.

The Multiple User License is just like above, but here all your developers in your company can use it. What if you are only 3 developers? Well then just buy 3 x Single User Licenses. If you are more than 5 people that needs to use it then the Multiple User License is cheaper for you.

The Enterprise License gives you the right to use the component in all your courses – internal or external, resale or giveaways you name it.

Question: Can I use this component together with the TOC in Adobe Captivate 4 and Adobe Captivate 5?
Answer: Yes that is no problem

Question: Can I use this widget in projects that are using the Aggregator.
Answer: Yes that is no problem but the widget will not be able to aggregate scores from multiple quizzes if they are published in separate SWF files.

Question: Can I use this component in a course delivered through an LMS?
Answer: Yes provided that your LMS runs from a PHP enabled server.

Question: I cannot see the Widget Parameters tab when I have inserted the widget in Captivate.
Answer: Chances are that you imported it as an “Animation” by mistake. Try and import the widget again as a widget.

Question: What if I buy it and it doesn’t work. Can I get a refund?
Answer: No if you purchase the product you can’t get a refund since it’s a digital delivery. The component has been tested extensively on all types of systems, browsers etc. without any issues. If you are unsure if the component will work for you or not then use the Test Package provided for download further up in this post to make sure first.

Question: Can you help me install PHP on my server?
Answer: No unfortunately not. There are people way cleverer than me that can do this for you.

Question: I would like to have some modifications done to the widget – is that possible?
Answer: Sure thing – just send me an email through my sites contact form and we can work out the details.



  1. Hello,

    Is there any way to use this widget on EXE captivate files??
    Because I publish my captivate files only as EXE in order to save them on cd-roms (protected with licence codes).


  2. Unfortunately I could not get the test file to work. Does the version of PHP matter? I am running PHP5.

    I have other PHP files running on my server that work fine.


  3. @ Magda,

    The widget and PHP script supports PHP5 so that shouldn’t matter. However, some webhosts might have the “send mail” functionality blocked until specifically requested to open it – that might be worth checking out.


  4. Pingback: Back in business | CP Guru - Adobe Captivate E-learning Blog

  5. Hi,

    Is there any way to put this function in a Button inside an exe captivate file?
    Ex: On last slide, the student click on the button and it will report the data by an email.


    • Not out of the box no. However, you could “fake” it by putting the widget on a blank slide and then have a button in Captivate jump to that slide when pressed.

      Alternatively contact me through the Contact section on my site if you want me to modify the widget with a button of your choice.


  6. Pingback: AS3 Email Reporting Widget updated | CP Guru - Adobe Captivate E-learning Blog

  7. Pingback: Can Symphony event accept variables from SWF | PHP World

    • @Curtis. No they don’t have to do that, but it is a good way to ensure that all variables are ready to be sent. However, you could simply add the widget to the result page and set it to start at 1 seconds in the slide timeline and that should work just fine.


  8. Is there a way to format the email differently or at least put a label on the custom variables? I am afraid that my users will get confused by custom variable 1, custom variable 2, etc. The widget looks great and with the added ASP support my boss said get it. Thanks for putting this together.


    • @Scott. The names of the custom variables (or actually the entire format of the email sent) can be edited in the PHP or ASP file. Therefore you can change the names of the custom variables to whatever you like.


  9. Michael, another question for you. What version of ASP does this work with. I have been trying to get the test package to work with my server which has ASP 2.0.50727.0 on it and I can not get a message to go through. After some research it appears that System.Web.Mail is replaced with System.Net.Mail in 2.0. Is it accurate to say that this plugin is supported on ASP 1.x only?

  10. @Scott,

    In all honesty I don’t know. I have no ASP skills what-so-ever so the ASP script is created by an ASP developer.

    I can send your the full ASP script so you can take a look yourself. Please send me an email through the Contact section on the site and I’ll reply to that Scott.


  11. marcel mombeek on

    hi there, my host says I need ” smtp auth”, I do not know what he means, but I tried your test files and it does not work. My host has PHP and ASP and ASP.NET

  12. marcel mombeek on


    hi, you have to contact your provider if he uses “smtp auth”, my provide wrote me a script so the widget can send mails. Maybe you can help me: I do not succeed to let the custom variables work… do you have an example?

  13. I plan to use the ASP functionality. Can I set it so that the users login name is captured, so tehre is no need for the user to enter anything?

    • @ Roy,

      No the widget cannot auto capture this information unless it is present in Captivate already. Therefore if you have another way of “injecting” the info into Captivate it would be possible. Otherwise not.


  14. Pingback: Adobe Captivate 5.5 and Widgets | CP Guru - Adobe Captivate Widgets

  15. Hi I posted my question here this morning but I don’t see it here, so I am posting it here again: I was able to make the test files work on my own server. However, our course design needs to upload the SCORM package to the LMS that we have been using. We have been having problems with this LMS with many issues because this is a locally developed LMS which may not support many functions. Therefore I wonder if you could provide a SCORM package for me to test with the LMS to make sure it works with the LMS?
    Thanks you!

    • Sure I can provide you with a SCORM package but I just need a couple of details from you. Which SCORM version are you using? 1.2 or 2004?
      Should the email be sent to the email address that you specified in this comment?

      Do you know if your LMS is running on an Apache / PHP enabled server by any chance?


      • Hi Michael, Thank you for getting back to me so quickly.
        The LMS support both SCORM 1.2 and 2004. However I just knew from the ppl who developed it that it runs on the Microsoft platform of Windows 2008. Do you think there is still a way to make this work? Thanks.

        • Hi Rui,

          I do have a version that uses ASP but that is a lot more restrictive. If you can ask the developers if the Windows server runs ASP and if they allow access to “System.Web.Mail” then we can find out if the widget will work for you. If you can confirm this then I can send you the ASP version of the widget so you can test it.


          • Hi Michael, here is the answer that I just got from the LMS developers:

            1>Yes Windows server runs ASP, but we are using ASP.NET now ASP pages.
            2> LMS allows to access “System.Web.Mail”

            Do you think this widget can still be functioning if they are using ASP. NET? I never touched any ASP.NET thing before.

    • Hi Evan,

      Yes – you could modify the PHP file that sends the email so it would be your own custom certificate. You can easily edit the PHP file to add more static information and / or delete information that you do not want to include in the email.


  16. Hi Michael, I posted a set of questions this morning, but it looks like they did not go thru. Anyway, I have a question on the custom variables for this widget. Do I have to actually set up those custom variables with the name v_custom1 v_custom2 etc…or can I have my own naming standards while keeping the prefix, such as v_quality or v_network etc…? I already set up my own variables with the v_ prefix but they show up blank in the email.

    • To answer my own question…It is NOT possible to change the variables names. I was trying to use this widget inside an existing project where the variables had already been set up. Unfortunately, unless I use the “v_custom1” the content won’t show up. Maybe a suggestion for the next update?!!!!

      • Hi Bmeite,

        No the first post you made didn’t come through for some reason.

        As you already found out you cannot change the variable names. This is because the widget needs to know which variables it should get data from and this can only be achieved if the variable names are pre-defined.

        What you can do however is to use your own variables in the project and then on the slide before where you placed the widget you could run an Advanced Action where you assign the v_custom variables with the values from your variables. Basically you could say v_custom1 = v_quality and that would also work.

        In the PHP file you can change the label for each of the custom variables so even though the variable that the PHP script receives is called v_custom1 you can have it read “Quality: ” and the the value of v_custom1.

        Hope this makes sense ;o)


  17. Hi Michael,
    Thanks for the response to my previous posts. I am running thru a new challenge. I am using a CMS (Joomla) to test the widget and a captivate SWF. When accessing the SWF via the web directly, it runs smooth and I receive the feedback email. But when I try to access it from inside joomla, the swf plays but i do not get the email. Would you know what wd block the PHP script from executing inside the CMS? I tried to change the mail settings inside joomla from PHP Mail Function to SendMail. But still no go.

    • Hmm not really sure why it should be blocked. The only thing I can think of is that Joomla might load the SWF in some form of container and that causes the “path” of the SWF to change. This would result in the SWF not finding the required PHP file in the expected location.

      Send me an email through the Support menu at the top of the site and include a direct link to the location where you know the PHP file worked. Then I’ll edit the path in the widget and send you a new version.


      • Hi Michael,

        Would you be able to give us an upload on how this was fixed? I have the same issue atm, I have just loaded a course into joomla and its now not sending any emails 🙁

        • I didn’t get any email from Bmeite yet so we haven’t fixed it so far.

          However, it is 99.9% due to the path to the PHP file changes when loading it through Joomla that way. The solution is to make a modified version of the widget with a new hardcoded path to the PHP file.

          Contact me through the Contact section and we can work it out.


  18. I purchased the email reporting widget for Captivate and would like to add more reported variables. Is it possible to obtain the FLA file so that I can add these additional variables?
    Also, the emailed quiz results are not including scored interactions and text entries. The quiz results displayed in my captivate file include these in the quiz results, but the email from your widget does not. Is there a fix for this?

    • Hi Tina,

      Sorry no I don’t give out the FLA file. I can however add more variables for you so contact me through the “Contact” section here on the site.

      As for the things not included in the email. That’s a first for me. Could you send me a screenshot of your Quiz Results Slide and a screenshot of the Email that you recieve?


  19. I just bought widget and using it on Captivate 5. I tested everything, it is working fine and i am getting emails. I want to add two variables which i did (v_email and v_userid) by following the steps, i added them as add them as Insert Text box on the same page where widget is. When publish it i see two submit boxes. when i tested it send all test score informaion without name and email address. can you guide me to add this two variables so that i can collect test score with name and email address.

    • Hi,

      You should add the variables on a slide before the slide where the widget is placed. This is because that Captivate needs to store the information from the Text Entry Boxes into the Captivate Variables first before they are made available to the widget. Alternatively you can do it on the same slide but then you should move the widget on the timeline so it doesn’t execute until after the pause from the Text Entry Boxes. That way you can be sure that Captivate has stored the values before the widget tries to grab them.

      If you still have problems contact me through the Contact section here on the site.


  20. I followed your direction and made it work. Thanks for explanation. I am using WordPress. send email function does not work when I place published SWF file and sendmail.php in the “downloadable” folder in wpsc. It does not work when they are in other folders. This training files are automatically send by WP e-commerce, after purchase. Is there anyway to make it work? When this files are in “downloadables” folders it works. Something to do with digital files saved in “downloadables” folder. Any suggestion to make sendmail function work in this folder?

    • Sorry for confusion. File works when they are in other folders. They do not work in “downloadables” folder in wpsc. I am using WordPress e-commerce plugin to sell this digital training files. Files are send automatically upon purchase. Anyway to make it work when they are in downloables folder?

      • I don’t know that particular plugin, but I would expect that the “downloadables” folder is protected by some means so any random user cannot access it to see your files. This is probably what is causing it to not work from here as it works from your other folders.

        The only solution that I can see is to create a modified version of the widget that will execute the php script from another location on your server.

        Contact me through my site and we can figure something out.


  21. Does this use phpmail() or is it capable of SMTP mailing? The company I work for host is a miserable failure with phpmail() and we need to use SMTP to get anything out of that black hole.


    • @David,

      It uses phpmail() but there is no reason why you couldn’t adapt the PHP script to work with SMTP mailing. The PHP script contains all variables publically available from the widget so you could simply create your own script and use these variables there.


  22. Hey Michael,
    Do you know if anyone reported issues getting the widget to work under Windows Server 2008 with IIS7 installed? In the past i used the widget under linux environment and it worked like a charm. We recently moved our server to Windows platform, and I cant get anything to work. I tried the ASP file, the PHP files, nothing. Though the Cp files work with no issue. Any suggestion?

    • @Bmeite,

      No I haven’t recieved any other reports about this but it will definitely need to be the ASP file that you use on a Microsoft IIS server.

      I am currently working on a major update the the widget and this update will also get some updated ASP scripts to go with it. Perhaps these scripts will work for you, but I can’t send them to you now since they are not ready yet.

      I expect to have the update and scripts ready in the middle of next week. Hope you can wait until that.


Leave A Reply