Skip to main content
Inspiring
January 13, 2025
Answered

ColdFusion 2023 Update 12 causing error Cannot find implementation class coldfusion.tagext.mail.Mail

  • January 13, 2025
  • 2 replies
  • 5169 views
 
Last week we applied Update 12 to our ColdFusion 2023 and are now getting an error when trying to send emails from ColdFusion pages.
 
Error is : ColdFusion Cannot find implementation class coldfusion.tagext.mail.MailTag for the mail tag
 
Code example : 
<cfmail from="servicedeskplus@xxxx.uk" to="developer@xxxx.uk" subject="Test" type="html" server="smtprelay.xxx.uk">
Email sent
</cfmail>
 
C:\ColdFusion2023\cfusion\Mail\Undelivr and Spool are both empty
 
We had a problems (remote_user not found) following the Update 12 and Adobe support supplied these additional steps that resolved that issue (including clearing down folders ColdFusion2023\cfusion\wwwroot\WEB-INF\cfclasses and ColdFusion2023\cfusion\bin\felix-cache) : 
 
Step 16 : update jvm.config
Take the backup of existing the jvm.config file before making changes.
Add the below java flags in the jvm.config file under path C:\ColdFusion2023\cfusion\bin 
-Dcfdocument.metahttpequivrefresh.localfile=TRUE
-Dcoldfusion.encryption.useCFMX_COMPATAsDefault=TRUE
-Dcoldfusion.searchimplicitscopes=true
Add one by one without any extra gaps in the file.
 
Step 17 : Navigate to ColdFusion2023\cfusion\wwwroot\WEB-INF\cfclasses
Remove all the files
 
Step 18 : Clear the felix cache from the below directory:
ColdFusion2023\cfusion\bin\felix-cache.
 
    Correct answer paul_durrant

    @paul_durrant , your probblem has basically been solved. From what I have seen, the key stumbling block has been your server's inability to make a connection and download packages when needed. So, if I were you I wouldn't go through all the installation complications again. 

     

    Instead, I would go for your Option 2, and do it as follows:

    1.  Unzip the file hotfix-packages-cf2023-012-330713.zip that you downloaded earlier. You will see that it contains these 4 Performance Monitoring JARs,

      perfmon-2023.0.0.330468.jar
      perfmon-2023.0.05.330608.jar
      perfmon-2023.0.11.330706.jar
      perfmon-2023.0.12.330713.jar

    2.  Copy the 4 files to the directory C:\ColdFusion2023\bundles, choosing to replace any copies that are already there. 

    3.  Open C:\ColdFusion2023\bundles\bundlesdependency.json in an editor. Ensure that it contains 4 "bundles" settings matching the 4 PMTAgent/Perfmon file versions in step 1. 
      (I have attached an excerpt of the 4 "bundles" settings that should be present in C:\ColdFusion2023\bundles\bundlesdependency.json .) Save the edited file.

    4.  Restart ColdFusion 2023.

    5.  Restart each of the other ColdFusion services, such as Add-On (if present).

    6.  Open the ColdFusion Administrator. Go to Package Manager > Packages . You should see the pmtagent package either under Installed Packages or under Available Packages
          Suppose the pmtagent package is under Available Packages and you wish to install and use the Performance Motnitoring Toolset. Then you can install it here. Just click on the pmtagent widget, then on Install.

    7.  Check the ColdFusion logs to ensure nothig went wrong.

    Thanks to both Charlie and BKBK whose work I am summrising here, which fixed the problem.

     

    After the Offline install of CF2023 update 12 did these 2 fixes.

     

    This got the emails working : 

     

    Got it working using cfpm install all with old Bundles folder.

    • When tried this with new Bundles folder it stopped working and lost the two CF ODBC services.

    Use Original Bundles folder contents.

    • Ensure original Bundles folder is the one being used (update 12 Bundle folder archived off).
    • Cd c:\ColdFusion2023\cfusion\bin
    • Cfpm
    • install all

     

    Then to get the update 12 security feature working again : 

     

    1. Unzip the file hotfix-packages-cf2023-012-330713.zip that you downloaded earlier. You will see that it contains these 4 Performance Monitoring JARs,

      perfmon-2023.0.0.330468.jar
      perfmon-2023.0.05.330608.jar
      perfmon-2023.0.11.330706.jar
      perfmon-2023.0.12.330713.jar

    2.  Copy the 4 files to the directory C:\ColdFusion2023\bundles, choosing to replace any copies that are already there. 

    3.  Open C:\ColdFusion2023\bundles\bundlesdependency.json in an editor. Ensure that it contains 4 "bundles" settings matching the 4 PMTAgent/Perfmon file versions in step 1. 
      (I have attached an excerpt of the 4 "bundles" settings that should be present in C:\ColdFusion2023\bundles\bundlesdependency.json .) Save the edited file.

    4.  Restart all ColdFusion 2023 services.

    5. Open the ColdFusion Administrator. Go to Package Manager > Packages . You should see the pmtagent package either under Installed Packages or under Available Packages.   Upgrade PMT agent to latest version.

    6.  Check the ColdFusion logs to ensure nothing went wrong.

     

     Restart all ColdFusion 2023 services.

     

    2 replies

    Known Participant
    May 29, 2025

    Hello,

     

    I wanted to add to this discussion.

     

    Like Mr. Durant, I had the same issue(s).


    I had a colleague update from ColdFusion 2023 Update 12 directly to Update 14.  This instance of ColdFusion was also installed on a server that does not have internet access and so updates need to be installed manually.  The same will be the case in production.

     

    When I accessed the website to check out the update, I received the same error message:  
    Error is : ColdFusion Cannot find implementation class coldfusion.tagext.mail.MailTag for the mail tag


    Following the thread, I downloaded the package repository from Adobe because there were some questions about access to the bundlesdependency.json file.  I created a subdirectory under CFHOME called bundles_01.  

    I updated packageUrl and defaultPackageUrl entries in neo_updates.xml after making a backup of the file.  I used the format provided f:///<fully qualified path to the JSON file>. However, like Mr. Durant, I received the same notification that the file was not accessible even though it did exist and could provide it by using the test provided by @BKBK .

     

    I wondered if it was the directory name so I renamed the old bundles directory to bundles_02 and renamed bundles_01 to bundles.  This also failed.

     

    I decided that it most likely was the path and not a permissions issue because System, the ColdFusion service account, and the Administrators group all had full control to the directory, subfolders, and files.  It was confusing from the discusion as to what path to actually use.  After some experimentation, I arrived at:

    <packagesurl>E:/myCfHome/bundles/bundlesdependency.json</packagesurl>
    <defaultpackagesurl>E:/myCfHome/bundles/bundlesdependency.json</defaultpackagesurl>

    I entered CFPM and used Install All and, like Mr. Durant, everything started working again.
    One question I have is, I'm making the assumption that this new folder is now the new repository containing all requisite files for ColdFusion. 

     

    Can I safely delete the backed up folder?


    Up until recently, I have safely gotten away with just running the the update installer and everything worked.
    Am I correct in assuming that this is not a proper course of action and that I should follow the following installation path:

    1.   Download the hotfix installer.
    2.   Download the package repository
    3.   Backup the bundles folder to a folder of a different name
    4.   Create a new bundles folder under the CFHOME and extract the repository contents to that folder
    5.   Run the hotfix installer

     

    I believe that this is the same installation path that this article encourages.

    I appreciate any advice that anyone can offer.  Thanks in advance.  I also apologize if any of the above is confusing.

    BKBK
    Community Expert
    Community Expert
    June 1, 2025

    @TheNephalim ,

    I think the list of things to do is getting too long.  I would suggest returning to basics and starting with something simple.

     

    Do the following and see if it solves your problem:

     

    1. In Update 14, undo all the changes you've described, and revert each setting to its original value or state. Don't delete anything, with the exception of felix-cache. That is the subject of Step 2.

    2. Empty - that is, delete everything from - the directory {CF_INSTANCE_HOME}/bin/felix-cache.

    3. Restart ColdFusion.

     

    Recently, developers have discovered that emptying felix-cache resolves a wide variety of issues. 

    Known Participant
    June 4, 2025

    Thanks for the update.  I might have to try that, although I'm not sure how to go about reverting all of the packages that were updated using "INSTALL ALL" in CFPM.  

     

    One item of confusion though, the update path I stated above seems to be the guidance from Adobe on how to perform a manual update.  Yet, most people seem to be reticient with having anything to do with updating the packages repository.  Is there a reason for this?

    Inspiring
    January 13, 2025

    also checked packages installed.


    cfpm>list
    The packages repository https://www.adobe.com/go/cf2023_packages is not accessible. You can only load the packages that are available locally in the C:\ColdFusion2023\bundles directory.
    adminapi, version : 2023.0.07.330663
    administrator, version : 2023.0.11.330706
    ajax, version : 2023.0.07.330663
    awsdynamodb, version : 2023.0.05.330608
    awslambda, version : 2023.0.11.330706
    awss3, version : 2023.0.11.330706
    awss3legacy, version : 2023.0.05.330608
    awssns, version : 2023.0.05.330608
    awssqs, version : 2023.0.05.330608
    axis, version : 2023.0.11.330706
    azureblob, version : 2023.0.11.330706
    azureservicebus, version : 2023.0.11.330706
    caching, version : 2023.0.11.330706
    ccs, version : 2023.0.11.330706
    cfmongodb, version : 2023.0.05.330608
    chart, version : 2023.0.11.330706
    com, version : 2023.0.05.330608
    db2, version : 2023.0.07.330663
    debugger, version : 2023.0.11.330706
    derby, version : 2023.0.05.330608
    document, version : 2023.0.08.330668
    dotnet, version : 2023.0.05.330608
    eventgateways, version : 2023.0.05.330608
    exchange, version : 2023.0.11.330706
    feed, version : 2023.0.05.330608
    ftp, version : 2023.0.11.330706
    gcpfirestore, version : 2023.0.05.330608
    gcppubsub, version : 2023.0.05.330608
    gcpstorage, version : 2023.0.05.330608
    graphqlclient, version : 2023.0.05.330608
    htmltopdf, version : 2023.0.11.330706
    image, version : 2023.0.11.330706
    mail, version : 2023.0.11.330706
    mysql, version : 2023.0.07.330663
    odbc, version : 2023.0.11.330706
    oracle, version : 2023.0.11.330706
    orm, version : 2023.0.11.330706
    ormsearch, version : 2023.0.11.330706
    pdf, version : 2023.0.11.330706
    pmtagent, version : 2023.0.12.330713
    postgresql, version : 2023.0.11.330706
    presentation, version : 2023.0.08.330668
    print, version : 2023.0.11.330706
    redissessionstorage, version : 2023.0.11.330706
    report, version : 2023.0.11.330706
    saml, version : 2023.0.11.330706
    scheduler, version : 2023.0.05.330608
    search, version : 2023.0.11.330706
    sharepoint, version : 2023.0.11.330706
    spreadsheet, version : 2023.0.05.330608
    sqlserver, version : 2023.0.05.330608
    sybase, version : 2023.0.07.330663
    websocket, version : 2023.0.11.330706
    zip, version : 2023.0.11.330706

    BKBK
    Community Expert
    Community Expert
    January 13, 2025

     Possibly an issue with packages? If so, tthere is one way to correct it. It involves downloading all the current ColdFusion 2023 packages yourself.

     

    To do so, proceed as follows:

     

    1.  Stop ColdFusion.
    2.  Delete the Felix cache. In other words, open the directory C:\ColdFusion2023\cfusion\bin\felix-cache and delete all its contents.
    3.  Check to make sure the directory C:/ColdFusion2023/bundles/ exists. If it does, then back it up by moving it, together with all its contents, to a location outside ColdFusion.
      Then ensure that C:/ColdFusion2023/bundles/ is empty.

      If the directory doesn't exist to start with, then that is already an issue. In that case, create the directory.
    4.  Check the firewall rules and ensure that ColdFusion has full access to C:/ColdFusion2023/bundles/.
    5.  Open the Command Prompt (cmd) as Administrator;
    6.  Use the DOS cd command to navigate to  {CF2023_HOME_DIR}/cfusion/bin;
    7.  Type cfpm and press ENTER. You should get ColdFusion's package manager prompt cfpm;
    8.  Now use the downloadrepo command to download the packages repository. To do so, type 

      downloadrepo C:\ColdFusion2023\bundles
       

      and press ENTER. It may take up to half an hour for the download to complete. So be patient. The cfpm cursor will reappear when the download is complete.
    9.  Verify that the directory C:/ColdFusion2023/bundles indeed contains the downloaded packages.
    10.  Edit /lib/neo-updates.xml and make sure it contains the following:

     

    <packagesurl>file:///C:/ColdFusion2023/bundles/bundlesdependency.json</packagesurl>
    <defaultpackagesurl>file:///C:/ColdFusion2023/bundles/bundlesdependency.json</defaultpackagesurl>

     

    11.  Restart ColdFusion 2023.
    12.  Check whether you can now send mail in ColdFusion 2023.

    BKBK
    Community Expert
    Community Expert
    January 15, 2025

    Hi BKBK, 

    Getting internet access to for these servers will take some time (need to go through IT Security, Networks and Infrastruture teams).   

    Adobe support have suggested an uninstall of Update 12 followed by a reinstall - assume they want the 

    neo_updates.xml value to now be :

    <packagesurl>file:///C:/ColdFusion2023/bundles/bundlesdependency.json</packagesurl>

    <defaultpackagesurl>file:///C:/ColdFusion2023/bundles/bundlesdependency.json</defaultpackagesurl>

     

    note - wondered if the path name slashes are correct for WINDOWS?? eg : 

    <packagesurl>file:C:\\ColdFusion2023\\bundles\\bundlesdependency.json</packagesurl>
    <defaultpackagesurl>file:C:\\ColdFusion2023\\bundles\\bundlesdependency.json</defaultpackagesurl>

     

    And that the BUNDLES folder is first replaced by the content of 

    https://cfdownload.adobe.com/pub/adobe/coldfusion/2023/packages/hotfix-packages-cf2023-012-330713.zip

     

    Adobe help pages state 

    If the core server hotfix installation is successful and if there are errors or issues with packages, packages can be installed/updated from the package manager client(cfusion\bin\cfpm.bat).

    But I cannot see how to do that.  Tried : cfpm>downloadrepo C:\ColdFusion2023\bundles, and got

    The packages repository file:///C:/ColdFusion2023/bundles/bundlesdependency.json is not accessible. You can only load the packages that are available locally in the C:\ColdFusion2023\bundles directory.

    followed by errors.

     
     
     

     

     

     


    @paul_durrant , Thanks for your answer. Manually replacing the BUNDLES folder in the way you describe is actually equivalent to the 12-step process I suggested. So I think something else is blocking the package process.

     

    To answer your question on URL:  no, file:C:\\ColdFusion2023\\bundles\\bundlesdependency.json is not a URL

     

    The correct URL is

     

    file:///C:/ColdFusion2023/bundles/bundlesdependency.json

     

     You can confirm this by opening the URL in File Explorer.

     

    I can think of one likely reason why you get the error message, "The packages repository file:///C:/ColdFusion2023/bundles/bundlesdependency.json is not accessible. You can only load the packages that are available locally in the C:\ColdFusion2023\bundles directory.". It probably is because the Package Manager (cfpm) process does not have access to the C:\ColdFusion2023\bundles directory.

     

    So, grant cfpm access to the directory. Then restart ColdFusion, and see whether the issue is resolved.