true false {emailAddressHere} -----------------------------------------------------------------------> if( not propertyExists('emailTrace') ){ $throw("emailTrace property does not exist. Please declare it.",'','interceptors.EnvironmentSafeMailService.configFilePropertyNotDefined'); } if( not propertyExists('emailSend') ){ $throw("emailSend property does not exist. Please declare it.",'','interceptors.EnvironmentSafeMailService.configFilePropertyNotDefined'); } if( not propertyExists('emailOverrideAddress') ){ $throw("emailOverrideAddress property does not exist. Please declare it.",'','interceptors.EnvironmentSafeMailService.configFilePropertyNotDefined'); } setEmailTrace( getProperty('emailTrace') ); setEmailSend( getProperty('emailSend') ); setEmailOverrideAddress( getProperty('emailOverrideAddress') ); getPlugin("logger").tracer("interceptor envSafe loaded"); var local = StructNew(); // ONLY AFFECT mailService plugin if ( compareNoCase(arguments.interceptData.pluginPath,"mailService") EQ 0 ) { //get plugin methodInjector to make our lives easier local.methodInject = getPlugin("MethodInjector"); local.methodInject.start(arguments.interceptData.oPlugin); //make copy of original send this['MailServiceSend'] = arguments.interceptData.oPlugin['send']; local.md = getMetaData(this['mailServiceSend']); local.md.NAME = "mailServiceSend"; arguments.interceptData.oPlugin.injectMixin( this['MailServiceSend'] ); //inject new metdata (properties and methods) into MailService arguments.interceptData.oPlugin.injectPropertyMixin( "emailTrace", this.getEmailTrace(), "variables.instance" ); arguments.interceptData.oPlugin.injectPropertyMixin( "emailSend", this.getEmailSend(), "variables.instance" ); arguments.interceptData.oPlugin.injectPropertyMixin( "emailOverrideAddress", this.getEmailOverrideAddress(), "variables.instance" ); arguments.interceptData.oPlugin.injectMixin( this['getEmailTrace'] ); arguments.interceptData.oPlugin.injectMixin( this['setEmailTrace'] ); arguments.interceptData.oPlugin.injectMixin( this['getEmailSend'] ); arguments.interceptData.oPlugin.injectMixin( this['setEmailSend'] ); arguments.interceptData.oPlugin.injectMixin( this['getEmailOverrideAddress'] ); arguments.interceptData.oPlugin.injectMixin( this['setEmailOverrideAddress'] ); arguments.interceptData.oPlugin.injectMixin( variables['debugConfigured'] ); arguments.interceptData.oPlugin.injectMixin( variables['traceIt'] ); arguments.interceptData.oPlugin.injectMixin( this['send'] ); local.methodInject.stop(arguments.interceptData.oPlugin); getPlugin("logger").tracer("EnvSafe MailService Functions Loaded"); } var local = StructNew(); // The return structure local.rtnStruct.error = true; local.rtnStruct.errorArray = ArrayNew(1); //Should we traceit to coldbox dashboard if (this.getEmailTrace()) traceIt(arguments.payload); //don't send by default, if in production send it; or if EmailSend Flag is true AND EmailOverrideAddress is set to valid email then send it local.sendFlag = false; if ( CompareNoCase(getSetting("Environment"),"PRODUCTION") EQ 0 ) { local.sendFlag = true; } else if ( this.getEmailSend() ) { local.sendFlag = debugConfigured(arguments.payload); } if (local.sendFlag) local.rtnStruct = this.MailServiceSend(arguments.payload); return local.rtnStruct; if ( IsValid("email", this.getEmailOverrideAddress() ) ) { arguments.payload.setTo( this.getEmailOverrideAddress() ); arguments.payload.setCC(""); arguments.payload.setBCC(""); getPlugin("logger").tracer("EnvSafe MailService Mail Addresses Set - #this.getEmailOverrideAddress()#"); return true; } return false; #local.out#") />