Error sending test email: Error sending mail

I just upgraded to 2.1.0+00246, I did this to try to resolve the below error but no luck. In system settings I select mail server, supply all my mail server info and then click Test Server, I get the below. Seems to be some type of bug.

Error sending test email: Error sending mail. Attribute validation error for the mail tag. : The tag does not have an attribute called Mailparts. The valid attribute(s) are query, startrow, group, groupcasesensitive, maxrows, remove, server, port, from, subject, timeout, to, cc, bcc, replyTo, failTo, type, mimeattach, mailerid, priority, spoolenable, wrapText, username, password, useTLS, useSSL, debug, charset, sign, encrypt, encryptionAlgorithm, recipientCert, keystore, keyalias, keystorePassword, keyPassword. : coldfusion.compiler.TagAttributeNotFoundException: Attribute validation error for the mail tag. at coldfusion.tagext.GenericTag._setArguments(GenericTag.java:542) at cfCFMailProtocol2ecfc152842739$funcMAILNORMAL.runFunction(C:\inetpub\wwwroot\esposito\coldbox\system\core\mail\protocols\CFMailProtocol.cfc:66) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:487) at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:420) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:383) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:334) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:231) at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2845) at cfCFMailProtocol2ecfc152842739$funcSEND.runFunction(C:\inetpub\wwwroot\esposito\coldbox\system\core\mail\protocols\CFMailProtocol.cfc:40) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:487) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:420) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:383) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:334) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:231) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:643) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:432) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:402) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2483) at cfMailService2ecfc813179965$funcSEND.runFunction(C:\inetpub\wwwroot\esposito\coldbox\system\core\mail\MailService.cfc:122) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:487) at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:420) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:383) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:334) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:533) at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2810) at coldfusion.runtime.SuperScope.invoke(SuperScope.java:18) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2424) at cfMailService2ecfc609494350$funcSEND.runFunction(C:\inetpub\wwwroot\esposito\coldbox\system\plugins\MailService.cfc:55) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:487) at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:420) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:383) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:334) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:231) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:643) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:432) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:402) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2483) at cfsettings2ecfc1830043593$funcEMAILTEST.runFunction(C:\inetpub\wwwroot\esposito\modules\contentbox-admin\handlers\settings.cfc:60) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:487) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:383) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:334) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:533) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:648) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:457) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2424) at coldfusion.tagext.lang.InvokeTag.doEndTag(InvokeTag.java:406) at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2992) at cfController2ecfc1749032378$funcINVOKER.runFunction(C:\inetpub\wwwroot\esposito\coldbox\system\web\Controller.cfc:764) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:487) at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:420) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:383) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:334) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:231) at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2845) at cfController2ecfc1749032378$funcRUNEVENT.runFunction(C:\inetpub\wwwroot\esposito\coldbox\system\web\Controller.cfc:648) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:487) at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:420) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:383) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:334) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:533) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:648) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:457) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2424) at cfColdbox2ecfc1726824970$funcPROCESSCOLDBOXREQUEST.runFunction(C:\inetpub\wwwroot\esposito\coldbox\system\Coldbox.cfc:236) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:487) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:420) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:383) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:334) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:231) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:643) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:432) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:402) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2483) at cfApplication2ecfc1739039342$funcONREQUESTSTART.runFunction(C:\inetpub\wwwroot\esposito\Application.cfc:111) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:487) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:420) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:383) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:334) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:231) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:643) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:432) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:402) at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:108) at coldfusion.runtime.AppEventInvoker.onRequestStart(AppEventInvoker.java:279) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:455) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:42) at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at coldfusion.filter.PathFilter.invoke(PathFilter.java:142) at coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:30) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:58) at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62) at coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:151) at coldfusion.CfmServlet.service(CfmServlet.java:219) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at coldfusion.inspect.weinre.MobileDeviceDomInspectionFilter.doFilter(MobileDeviceDomInspectionFilter.java:121) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:422) at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:199) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source)

What version of ColdFusion are you on? I can see why that would error, but what I’m not sure is why only you are seeing it. The attributes to the cfmail tag are being populated dynamically from the instance struct inside the mail CFC, which includes a key called mailparts, which is not a valid attribute name.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

I am running 11,0,05,293506

Any idea how to fix the mail issue?

do you have code sample?

Yep it’s contentbox V 2.1.0+00246, running on CF 11,0,05,293506. Simply clicking the test connection button on the system settings, mail tab.

oh, sorry thought his was your own code. NVM

It’s complaining here:

that there is no attribute

Error sending test email: Error sending mail. Attribute validation error for the mail tag. : The tag does not have an attribute called Mailparts. The valid attribute(s) are query, startrow, group, groupcasesensitive, maxrows, remove, server, port, from, subject, timeout, to, cc, bcc, replyTo, failTo, type, mimeattach, mailerid, priority, spoolenable, wrapText, username, password, useTLS, useSSL, debug, charset, sign, encrypt, encryptionAlgorithm, recipientCert, keystore, keyalias, keystorePassword, keyPassword.

so ok I figure I delete the key from the struct.
figured I just do <cfset StructDelete(payload, ‘Mailparts’)>

and then I reinit, no luck, same error.

Any suggestions? How do I get it to dump out this struct?

\coldbox\system\core\mail\protocols\CFMailProtocol.cfc

#payload.getBody()#

<cfif structKeyExists(mailParam,“name”)>

<cfelseif structKeyExists(mailparam,“file”)>

Using struct delete would only delete things from the this scope. The getMemento() function is returning a struct called “instance” that is part of the variables scope. You can do this to test:

payload = mail.getMemento()
structDetele( payload, “mailparts” )

Nonetheless, do all mails error in the entirety of ContentBox, or just this one specific button?

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

So I did that and got some more of the same thing for other keys. Which I added code to remove then the getBody() function wasn’t there so I made a new var for memento.

Now its saying this.

Error sending test email: Error sending mail. Element BODY is undefined in INSTANCE. : : coldfusion.runtime.UndefinedElementException: Element BODY is undefined in INSTANCE. at coldfusion.runtime.CfJspPage.resolveCanonicalName(CfJspPage.java:1773) at coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:1726) at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:1875) at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:1854) at cfMail2ecfc254904279$funcGETBODY.runFunction(C:\inetpub\wwwroot\esposito\coldbox\system\core\mail\Mail.cfc:211) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:487) at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:420) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:383) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:334) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:231) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:643) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:432) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:402) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2483) at cfCFMailProtocol2ecfc152842739$funcMAILNORMAL.runFunction(C:\inetpub\wwwroot\esposito\coldbox\system\core\mail\protocols\CFMailProtocol.cfc:71)

<cfset structDelete( memento, “mailparts” )>

<cfset structDelete( memento, “body” )>

<cfset structDelete( memento, “Bodytokens” )>

<cfset structDelete( memento, “Mailparams” )>

#payload.getBody()#

<cfif structKeyExists(mailParam,“name”)>

<cfelseif structKeyExists(mailparam,“file”)>

I haven’t tested other parts of email sending from contentbox but I know what started me on this was using the formbuilder module and those weren’t sending so the next thing was to do a simple test. So to me it’s a bug between contenbox and this version of CF.

Anyone else see this bug trying to add a widget into page content?

Error Type: Expression : [N/A]
Error Messages: Variable P is undefined.

Tag Context:
ID: ??
LINE: 66
Template: C:\inetpub\wwwroot\esposito\modules\contentbox-admin\views\widgets\widgetList.cfm

P will can still be null in that try block, the try only catches exceptions and the method can return anything and still not throw and exception.

Previous versions didn’t have the try. It was only

p = prc.widgets.plugin;

so if I put that back I get

Error Messages: The getPluginAuthorURL method was not found.
Either there are no methods with the specified method name and argument types or the getPluginAuthorURL method is overloaded with argument types that ColdFusion cannot decipher reliably. ColdFusion found 0 methods that match the provided arguments. If this is a Java object and you verified that the method exists, use the javacast function to reduce ambiguity.

when trying to do <cfset hasProtocol = reFindNoCase( “\b(?:https?):?”, p.getPluginAuthorURL() )>

Yes, but have you thought about the fact that P is defined as NULL and that is why you’re getting that error? A cfdump will tell you everything you need to know about what P is.

First thing I tried and in my earlier email I stated that I tried dumping P. I’m just timing out.

try{

p = prc.widgetService.getWidget( name=prc.widgets.name, type=prc.widgets.widgetType );

} catch( Any e ){

log.error( ‘Error Building #prc.widgets.toString()#. #e.message# #e.detail#’, e );

writeOutput( “

Error building ‘#prc.widgets.name#’ widget: #e.message# #e.detail#
” );

continue;

}

writedump§;abort;

Logic would dictate that you put the dump and abort before

p = prc.widgetService.getWidget( name=prc.widgets.name, type=prc.widgets.widgetType );

Probably a circular reference, or just a crap done of objects. A top=2 or something might help with that dump.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

How could he dump p before it’s been defined? He would just get the previous value from the loop.

That said, you should probably dump it prior to the ‘continue’ as that skips to the next loop iteration.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

yeah I meant after it. oops.

The point is, that method undefined means it is either null or returning not what he expects and the dump and abort where the issue is, becomes key to the debugging process. Never dump it after the loop, because it may never get to the dump.

So am I the only person on the planet having widget issues in ContentBox v.2.1.0+00246 (Codename: Psalm 144:1)?