Enabling SpamFoo
Question asked by echoDreamz - 6/26/2026 at 1:45 PM
Unanswered
@Tim - tbf, Sniffer and Cyren were garbage IMO. So being better than those 2 should not be hard :) We tested both over the years and neither were any good, blatant spam got thru, messages that were clearly not spam were flagged, both were not worth it.

Glad to see a new solution, we activated it last night on a test gateway and it did not seem to be doing anything, though, this could be because it's a free license?
Matt Petty Replied
Employee Post
Thanks for giving it a shot!

Try checking out the SpamFoo Dashboard from the system admin settings. This should give you a good scope into specifically what that client has done.

For logging, theres logs in this dashboard and there are logs (just like cyren/ms) in the Delivery log that should have some brief mentions of "[Spamfoo client]" you can try searching for that as well.

Please any one post how this works out, we'll be tracking this diligently throughout the weekend and into next week, ready to make any changes (as seen) we need.

P.S. Also don't forget to try enabling the classifications on one (or all) of your domains via the features to see the other half of SpamFoo, which has certainly done a good job of cleaning up my inbox with a lot of "junk" going into transactions/updates and keeping an extra close eye on my Primary.
Matt Petty
Senior Software Developer
SmarterTools Inc.
David Fisher Replied
I am thinking SpamFoo WILL NOT work on a gateway, it has to run on the same server your domains and users are on. From everything I read it points to this.

I sure hope this is not true, because, like others, I believe you should have a couple gateway servers it from of SmarterMail's mail Mail Server for various reasons.  Most large providers do this, Microsoft and GMail do not have their main customer server the incoming email server.

  That is why also there needs to be a way for Port 25 to be SMTP Auth Only!
echoDreamz Replied
David, yeah, after reading how it works, it makes more sense that it is on the actual end-user SM host. As for SMTP auth, yes... wish we could tell SM which (in our case all) SMTP ports are auth only (unless IP is whitelisted).
Michael Replied
How will the Spamfoo categories work with users connected over Outlook MAPI?
Matt Petty Replied
Employee Post
They wont with outlook, however we've had some preliminary talks with other clients to sync the user's classifications utilizing other protocols.

Next week we can look into the SM gateway scenario. Also btw, SpamFoo will be able to operate seperately on its own acting similar to Rspamd, queryable with an API and such (https://help.spamfoo.com). The biggest challenge as @echoDreamz may be finding out that there are user-specific files that get created for improving per-user performance (this is the 'learning') and this will be hard to push "upward" to a gateway but this will be brainstormed. 
Matt Petty
Senior Software Developer
SmarterTools Inc.
Sagar Replied
They said there is separate dashboard for spamfoo but after upgrading to 9673 only see the same like previous one under reports:
Zach Sylvester Replied
Employee Post
Hey @Sagar

Please ensure that SpamFoo is enabled for spam classification in SmarterMail. You can do this by navigating to Settings → AntiSpam → Spam Checks, then enabling SpamFoo.

Once enabled, you should see the SpamFoo dashboard at the bottom of the settings list. This will open in a new window. It may take a moment to load the first time, as SpamFoo needs to complete its initial setup.

Kind regards,

Zach Sylvester

Software Developer
SmarterTools Inc.
Who is Spamfoo, who hosts the LLM used to detect the spam and what data is transferred to spamfoo??

Nothing about ownership, address or anything else is on their website.

Its all our communication that we havent got a clue who looks into the messages...
So we deliver all our messages to be scanned via their LLM which is probably not running locally.

How do we protect our privacy?

Sébastien Riccio Replied
I've read a bit stuff on spamfoo website, it is supposed to use 4 small local models.

Dunno how efficient this is though. Running models on CPU instead of GPUs.... :)

Maybe the models are small enough to run on CPUs without 100% CPU usage for a few minutes per message... but big enough to be able to do it's job.

Seems a bit magical to me though
Sébastien Riccio
System & Network Admin

Thanks :) Reassuring.
Zach Sylvester Replied
Employee Post
Hey Guys, 

Spamfoo doesn't use large llm models everything runs on your server using under 1 gb of memory. Only anonymous corrections get sent to SpamFoos servers and that data is just text vectors and different signals used for training their Machine Learning models. Unless you specifically opt in to send more.

I hope this clears that up. 

Kind Regards 


Zach Sylvester

Software Developer
SmarterTools Inc.
Tim Uzzanti Replied
Employee Post

We have incubated a few different tech companies over the years, including an MSP, and we are currently working to bring some incredible technologies from an anti-spam and email classification standpoint to the masses.  More info will be released in the near future.

Tim Uzzanti
CEO
SmarterTools Inc.
Sébastien Riccio Replied
Hello,

Before upgrading to the latest build, I have a quick question.

We need to deploy this version fairly soon because it contains several bug fixes that are important for us. However, we're a bit concerned about the introduction of SpamFoo.

Is SpamFoo enabled by default after the upgrade? If so, is there a way to completely and safely disable it so that it has no impact on mail processing?

Our production infrastructure hosts our customers' email, so we're understandably cautious about introducing a feature that is still considered new. At this stage, our priority is to benefit from the bug fixes while keeping our production environment as stable and predictable as possible. We'd prefer to evaluate SpamFoo separately once we've had time to properly test it in a non-production environment.

Could you please confirm how SpamFoo behaves after the upgrade and whether it can be fully disabled if needed?

Thank you in advance for your clarification.

Kind regards,
Sébastien Riccio
System & Network Admin

Tim Uzzanti Replied
Employee Post
SpamFoo Classification and Antispam is not enabled by default. 
Tim Uzzanti
CEO
SmarterTools Inc.
Sébastien Riccio Replied
Good, thank you Tim.
Sébastien Riccio
System & Network Admin

Tim Uzzanti Replied
Employee Post
Just checked my SpamFoo Dashboard. 94.2% of my emails are SPAM. I've had no false positives over the last week. Curious to hear about each of your results.  
Tim Uzzanti
CEO
SmarterTools Inc.
Thats crazy...

This is the last 24hrs... hardly anything going in the wrong folder or ending up in the users inbox.

Sébastien Riccio Replied
I did the upgrade right now, but the service is not coming back. It's 5 minutes mailservice.exe started and is running but still nothing responding. Ughh
Sébastien Riccio
System & Network Admin

Sébastien Riccio Replied
I have no idea what it's doing...

Sébastien Riccio
System & Network Admin

Sébastien Riccio Replied
Haaaaa I think I shot myself a bullet in the foot

Sébastien Riccio
System & Network Admin

Normally it takes forever to stop.... only when stopped, the uninstall. Reboot and install the new version.
Then you are sure nothing is fucked up.
Sébastien Riccio Replied
It was stopped gracefully before i started the upgrade...
I hate this I see no activity in logs, even in in StartAndStop.log, no activity except the shutdown before the upgrade:


[21:34:17.239] [117184] MailServer.Shutdown: EAS Ping: Closing Active Ping Session Id: 808786143
[21:34:17.240] [117184] MailServer.Shutdown: EAS Ping: Closing Active Ping Session Id: 808786178
[21:34:17.241] [117184] MailServer.Shutdown: EAS Ping: Closing Active Ping Session Id: 808786161
[21:34:17.242] [117184] MailServer.Shutdown: EAS Ping: Closing Active Ping Session Id: 808760699
[21:34:17.243] [117184] MailServer.Shutdown: EAS Ping: Closing Active Ping Session Id: 808786192
[21:34:17.244] [117184] MailServer.Shutdown: EAS Ping: Closing Active Ping Session Id: 808786171
[21:34:17.245] [117184] MailServer.Shutdown: EAS Ping: Closed
[21:34:17.254] [117184] EWS_MAPI Closing
[21:34:18.256] [117184] MailServer.Shutdown: EAS: Closed
[21:34:18.321] [117184] MailServer.Shutdown: PidCollection: Closed
Sébastien Riccio
System & Network Admin

Sébastien Riccio Replied
... I have the feeling I have to downgrade. It doesn't want to respond anymore

I hope downgrade is possible !
Sébastien Riccio
System & Network Admin

Sébastien Riccio Replied
No go... Process memory is raising very slowly and keeps at 6% CPU usage but nothing comes up.... Damn I'm doomed
Sébastien Riccio
System & Network Admin

Sébastien Riccio Replied

Half an hour of downtime yet. Stopped the service, uninstalled, reinstalled previous build... Services not coming back again...
Sébastien Riccio
System & Network Admin

Sébastien Riccio Replied

ARE YOU KIDDING ME OR WHAT ??
Sébastien Riccio
System & Network Admin

Sébastien Riccio Replied
Damn, so I had to downgrade, but after downgrade it refused to start because of a intentional blocker "Version downgrade is not possible" (see my previous post screenshot)

To work around this I restored a settings.json file from this morning backup and started again the downgraded build and now it's up and running.

I hope the new build did not alter/migrate files and that there will be problems...

I'm TIRED to be a beta tester on productions servers. Please provide Stable and Edge branches of your products!!
Sébastien Riccio
System & Network Admin

Sébastien Riccio Replied
Tim,

Can you please explain me why we have no way to know what's going on when the service starts but nothing happens, nothing is responding and no way to find in logs what it is doing while not answering any service ?

Is it updating user/domains files, or just stuck in a loop doing nothing ?

I waited around 20 minutes refreshing the webmail page but browser was waiting for a reply from the server that never came.
At the same time, timeouts on IMAP/SMTP/etc service, nothing is  answering.

I also would like to know why when unstalling this build and re-installing previous version it's doesn't either start anymore and throwing an "Version downgrade is not possible" in the Event Viewer application logs ?

Absolutely no warning in the changelog that downgrade will block you at startup stuck at an apparent voluntary blocker that emits a system log event saying download is not possible and just doing nothing.

Sorry but I'm really upset here.........

I'm glad you blocked 94.2% of your incoming mails with your new SpamFoo product but here your new build update blocked 100% of our customers incoming mail and mailbox access during almost 1 hour while I was fighting to bring the thing back alive (I hope it's 100%)
 
Sébastien Riccio
System & Network Admin

Sébastien Riccio Replied
I have found some other interresting MailService.exe blabbering in the Event logger that might be related to the latest build startup issue.

- System 
  - Provider 
   [ Name]  MailService 
  - EventID 0 
   [ Qualifiers]  0 
   Level 2 
   Task 0 
   Keywords 0x80000000000000 
  - TimeCreated 
   [ SystemTime]  2026-06-28T20:02:35.657157600Z 
   EventRecordID 2114717 
   Channel Application 
   Computer mail01-2019 
   Security 

- EventData 
Mailman.Get Exception: System.Exception: MailServer must be properly started first.
at SmarterMail.MailService.Core.丅严..ctor() at SmarterMail.MailService.Core.丅严.Get() 
Start Services/Servers Exception
System.ObjectDisposedException: The CancellationTokenSource has been disposed.
   at System.Threading.CancellationTokenSource.get_Token()
   at SmarterMail.MailService.Core.丅並.StartEwsAndMapi()
   at SmarterMail.MailService.Core.丅並.MailServerFullStart()

What are these garbage symbols...

It seems they were emitted when I started the latest BUILD and were gone when I went back to previous build....
I highly suspect there are somehow related to the latest build half starting but never bringing the services online.... 

If there are exception at    at SmarterMail.MailService.Core.丅並.MailServerFullStart()

Sébastien Riccio
System & Network Admin

Sébastien Riccio Replied
You hired chinese developpers or using Deepseek for vibe coding ? Using Chinese symbols for class / object names is maybe not the best idea...


How funny, yes I can confirm the server passed away after the upgrade:

In Mandarin Chinese, "Yi yan" most commonly refers to the character combination yí yȧn (遺言), which means "last words" or "words of the deceased" (similar to a verbal will). [1]
However, "Yiyan" (written with different characters) is also a popular given name or a component in famous Chinese idioms. [1]
1. As a Noun: yí yȧn (遺言)
  • Meaning: Last words, words of the dying, or a verbal will.
  • Context: Used to describe the final wishes spoken by someone before they pass away. [1, 23]
Sébastien Riccio
System & Network Admin

echoDreamz Replied
The odd symbols are most likely from code obfuscation. Whatever SmarterTools use using to protect their code. This was done after the major security events happened a bit back, this helps deter people from more easily reading the code. Something like SmartAssembly or .Net Reactor.

EDIT: Was added back in build 9540
  • Added: SmarterMail codebase is now obfuscated.
Matt Petty Replied
Employee Post
Brother, you're overcooking this, that's just the obfuscation layer used in both SpamFoo and also SmarterMail. I'm sorry you had issues with the smartermail install, there have been some pre-existing windows issues around this, and ripping files and bypassing things aint gonna help you in the quest in getting a functional server. 
Matt Petty
Senior Software Developer
SmarterTools Inc.
Sébastien Riccio Replied
Matt,

I understand the obfuscation Idea but well it doesn't help system admins that are paying for your proudcts to troubleshoot what is going on when the server is not starting after an upgrade.

I'm sorry you had issues with the smartermail install, there have been some pre-existing windows issues around this, and ripping files and bypassing things aint gonna help you in the quest in getting a functional server. 
What kind of pre-existing windows issues, if these are known, why isn't there a note about it somewhere, and what do you mean ripping files and bypassing things aint gonna help. What I was suppose to do here ? Let the server be dead and lose my job ?
If by bypassing things you mean restoring the post-upgrade-attempt system.json to be able to get the server running again, please tell me what I shoud have done. 

Starting a paying emergency ticket to resolve the issue brought by a kinda BETA version of the product ? -> NO

Restore the whole server from backup ? -> Would have taken ages... 10To to restore, only in complete disaster recovery like dead storage.

And if you willingly block downgrades, why is that not announced in the changelog ?? Why not indicating recovery procedure in case of an upgrade fail ?

Btw for the Chinese it was more like a joke. I thought it could be some obfuscation but first I asked myself if it could not be some corruption in the server components (exe/dll's), that why I checked if these symbols had a real meaning or if it was just non-sense.

I'm not overcooking anything, your last build update broke our production server, the previous build that was retired, broke other people servers...

Again, please tell me what I should have done ??? Or what would you have done in the situation I am (I was i hope if downgrade did not break more things).

Sébastien Riccio
System & Network Admin

Sébastien Riccio Replied
A flag or a settings to enable debug log for startup sequence would really be handy though, to be able to locate exactly at which point it goes bozo...
Sébastien Riccio
System & Network Admin

Matt Petty Replied
Employee Post
My comment earlier was refering to the windows installer* having issues, which a lot of people have been experience issues with slow SM installs. I made comment that after assuming something went wrong with the upgrade which you pointed out having issues with at the very top.

As far as why SM wasn't booting not too sure what to say, could try looking in the error logs, or the resource monitor to see what files SM is hitting during boot. From your message earlier it sounded like SM was starting to boot then you cut it off. 

By default on upgrade nothing related SpamFoo happens, the only thing that occurs is your server pulls a "BETA" license for spamfoo, this is simply a file the client uses IF its turned on (by turning on any of the other settings mentioned above)
Matt Petty
Senior Software Developer
SmarterTools Inc.
Tim Uzzanti Replied
Employee Post
Sebastian, we have talked about hijacking’s threads and spamming the community.  It completely derails the initial topic and conversation. There are no known installer issues and Matt’s reference to the installer is just the length of time the installer takes on some servers which is related to a Microsoft change that Advanced Installer has been trying to work around. 
Tim Uzzanti
CEO
SmarterTools Inc.
Sébastien Riccio Replied
My comment earlier was refering to the windows installer* having issues, which a lot of people have been experience issues with slow SM installs. I made comment that after assuming something went wrong with the upgrade which you pointed out having issues with at the very top.
Nope, the issue is not the installation process, this server is on Win 2019 and no issue with this. We have the issue with SmarterTrack on Windows 2025, where it takes age to disable? (why) and enable windows features, that were already enabled.. The installer on Windows 2025 spend around 20 minutes on this.
Here the problem is that the service starts, mailservice.exe appears in task manager, but nothing more is happening except the event logs messages that shows an issue while trying to boot services:

Start Services/Servers Exception
System.ObjectDisposedException: The CancellationTokenSource has been disposed.
   at System.Threading.CancellationTokenSource.get_Token()
   at SmarterMail.MailService.Core.丅並.StartEwsAndMapi()
   at SmarterMail.MailService.Core.丅並.MailServerFullStart()
You're probably right though, they were maybe emitted whem after 20 minutes waiting the services to come up, I finally gave up waiting and stopped the service so I could reinstall the previous build.
We can't afford our mail service to be unreachable for too long.

As far as why SM wasn't booting not too sure what to say, could try looking in the error logs, or the resource monitor to see what files SM is hitting during boot. From your message earlier it sounded like SM was starting to boot then you cut it off. 
I checked StartAndStop log but nothing made it there. While it was trying to bring up the services I monitored the log directory and none of the logfile was getting updated with content.

Afterward, when I was able to bring the service back to life, I checked the Error log, but there was nothing relevant for the time period post-upgrade when it was trying to boot.

The only fact is that the latest build doesn't want to start or at least no after 20 minutes of trying to boot up.
After being able to start the previous build (settings.json restore trick), services were all up in 2 minutes..

When this happen on a production server, I'm still curious what I should've done or what you would've  done except doing everything to be able to bring back the server on the previous build.

If i knew that the downgrade was intentionally blocked, I maybe would've waited for some more weeks to do the upgrade and wait for other users experiences.
But on the other side I was waiting for fixes that are in this build so I went ahead and now regret it :/


Sébastien Riccio
System & Network Admin

Sébastien Riccio Replied
Sebastian, we have talked about hijacking’s threads and spamming the community.  It completely derails the initial topic and conversation. There are no known installer issues and Matt’s reference to the installer is just the length of time the installer takes on some servers which is related to a Microsoft change that Advanced Installer has been trying to work around.
Oh I thought I was in the "SmarterMail Build 9672 (2026-Jun-25) Notes/Comments/Problems" thread, my mistake.
You can move my posts in the correct thread please ?

BTW I never talked about installer issue here, that I am aware of but is not an issue on our Windows 2019 server running SM.

But I understand the... misunderstanding:

When I said:

"I did the upgrade right now, but the service is not coming back. It's 5 minutes it started and still no responding. Ughh"

I should have said "but the service is not coming back after the installation was finished"
Sébastien Riccio
System & Network Admin

Derek Curtis Replied
Employee Post
To address the issues Sébastien is/was having, there was a bit of confusion internally regarding the IDS changes requiring upgrade changes and downgrade notes. Without that, things would have been released differently.

As you all know, we tend to keep issues that affect downgrades separate from other, larger-scale changes and, when necessary, we notify you of any additional steps necessary to downgrade, or even if downgrades are possible. As a result, we've fixed the Release Notes to reflect that downgrades from Build 9673 require an extra step. 

Also, it IS possible to downgrade, but you'll need to restore the settings.json file from the previous installation (e.g., Build 9652 or earlier) after you downgrade. You can get this file from any backup you have, or simply grab it from the Archived Data folder within SmarterMail. You'll want to stop the Mailservice prior to replacing the file, then restart it once completed.
Derek Curtis
CCO
SmarterTools Inc.
Sébastien Riccio Replied
Hello Curtis,

Thank you for your update on this matter and the actions you took about it..
That's exactly what I had to do and did to be able to run previous build after the failed upgrade attempt.
Please accept my apologizes for the flood of posts in this thread, I was in full panic as I wasn't able to bring our server back to life and really thought I was in the thread talking about the new build.

Kind regards.
Sébastien Riccio
System & Network Admin

Sébastien Riccio Replied
Hi, 

I don't want to hijack (again) the thread, but I wanted to give an update after my panic posts about the failed upgrade.

I tried the upgrade again last night, and this time everything went smoothly. I honestly have no idea what the issue was, as I followed exactly the same upgrade procedure as before.

Just wanted to let you all know in case anyone was wondering.

Kind regards
Sébastien Riccio
System & Network Admin

Manuel Martins Replied
Hi,
My Spamfoo does not Run. Anyone knows why ?
Thanks


Zach Sylvester Replied
Employee Post
Hey @Manuel Martins

Thanks for letting us know about this issue. This most likely has something todo with your env that you're running SpamFoo in. I just went ahead and opened a support ticket for you. 

Kind Regards, 

Zach Sylvester

Software Developer
SmarterTools Inc.
Manuel Martins Replied
Hi Zach, 
here is:


Application: spamfoo-client.exe
CoreCLR Version: 10.0.926.27113
.NET Version: 10.0.9
Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidOperationException: FooQuant precomputed artifact 'fooquant_384_5,0_2500000_42.msgpack' was not found in the assembly-relative Data/ directory. This artifact must be generated once and committed as a build asset (see src/lib-core/Data/fooquant_384_5.0_2500000_42.msgpack and lib-core.csproj). Runtime regeneration is disabled in Release builds; generate the artifact for this config in a DEBUG build and embed it. Config: Dim=384, AvgBitsPerDim=5,0, CodebookSampleCount=2500000, Seed=42.
   at SpamFoo_Core.Quantization.FooQuant..ctor(FooQuantConfig config, ILogger`1 logger)
   at SpamFoo_Ninja.Extensions.ServiceCollectionExtensions.<>c.<AddSpamPersonalizationServices>b__6_2(IServiceProvider sp)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier serviceIdentifier)
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider)
   at SpamFoo_Ninja.Extensions.ServiceCollectionExtensions.<>c.<AddSpamPersonalizationServices>b__6_3(IServiceProvider sp)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier serviceIdentifier)
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider)
   at SpamFoo_Ninja.Extensions.ServiceCollectionExtensions.<>c.<AddAdminServices>b__15_12(IServiceProvider sp)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier serviceIdentifier)
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
   at SpamFoo_Ninja.Extensions.ServiceCollectionExtensions.<>c.<AddAdminServices>b__15_13(IServiceProvider sp)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitIEnumerable(IEnumerableCallSite enumerableCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier serviceIdentifier)
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
   at SpamFoo_Ninja.SpamFooNinjaServer.Run(String[] args, String baseDirectory, String modelsDirectory, String configDirectory, Boolean hostManaged)
   at Program.<Main>$(String[] args)

Manuel Martins Replied
But the refered file is there.
Zach Sylvester Replied
Employee Post
Hey Manuel, 

Thanks for the follow up. Can you delete the SpamFoo folder from that service directory then try and start SpamFoo again from the services menu in troubleshooting under SmarterMail? 

Let me know if this helps. 

Kind Regards, 

Zach Sylvester

Software Developer
SmarterTools Inc.
Manuel Martins Replied
Hi Zach,
You suggestion did not work.

The solution was to copy the file "fooquant_384_5.0_2500000_42.msgpack" from "C:\Program Files (x86)\SmarterTools\SmarterMail\Service\SpamFoo\bin\Data" to "C:\Program Files (x86)\SmarterTools\SmarterMail\Service\SpamFoo\data" and then the Service started OK. It's working now.

Thanks.
Andrew Barker Replied
Employee Post
@David Fisher, @echoDreamz -

Regarding your comments about requiring authentication for specific SMTP ports, you can do this now. You just need to modify the type of the port binding from SMTP to Submission. Submission ports still use SMTP, but they have the added requirement the session be authenticated or whitelisted for auth bypass before it can accept messages. I've submitted a task to update our documentation to clarify this distinction, and we are discussing ways we can make this clearer in the interface.

Andrew Barker
Lead Software Developer
SmarterTools Inc.
www.smartertools.com 

echoDreamz Replied
@Andrew Barker I was actually just testing this setup this morning. You are correct! Frankly, I never really noticed this option, but it works perfectly!

Reply to Thread

Enter the verification text