{"id":815,"date":"2021-07-09T06:45:45","date_gmt":"2021-07-09T11:45:45","guid":{"rendered":"https:\/\/www.knownhost.com\/kb\/?p=815"},"modified":"2021-11-16T06:49:04","modified_gmt":"2021-11-16T12:49:04","slug":"training-spamassassins-accuracy-with-sa-learn","status":"publish","type":"post","link":"https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/","title":{"rendered":"Training SpamAssassins accuracy with sa-learn"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 ez-toc-wrap-right counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #212121;color:#212121\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #212121;color:#212121\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/#what_is_%e2%80%98sa-learn\" >What is &#8216;sa-learn&#8217;?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/#getting_started\" >Getting started<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/#create_the_spamham_folders\" >Create the spam\/ham folders<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/#being_diligent_and_pro-active\" >Being diligent and pro-active<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/#running_the_sa-learn_command_with_spamassassins\" >Running the sa-learn command with SpamAssassins<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n<p>This is a guide to effectively use SpamAssassins\u00a0<code>sa-learn<\/code>\u00a0to help train tokens for spam flagging accuracy.<\/p>\n\n\n<div class=\"kb-shortcode kb-shortcode_tip\">\n                    <div class=\"kb-shortcode-icon\">\n                        <i class=\"fa fa-lightbulb-o fa-2x\"><\/i>\n                    <\/div>\n                    <div class=\"kb-shortcode-content_tip\">When using sa-learn, you must be very diligent and persistent in classifying both the &#8220;HAM&#8221; and &#8220;SPAM&#8221; emails for any accounts with sa-learn enabled!<\/div>\n                <\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"what_is_%e2%80%98sa-learn\"><\/span>What is &#8216;sa-learn&#8217;?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Given a typical selection of your incoming mail classified as spam or ham (non-spam), this tool will feed each mail to SpamAssassins, allowing it to &#8216;learn&#8217; what signs are likely to mean spam, and which are likely to mean ham. Simply run this command once for each of your mail folders, and it will\u00a0<code>learn<\/code>\u00a0from the mail therein. Note that csh-style globbing in the mail folder names is supported; in other words, listing a folder name as\u00a0<code>*<\/code>\u00a0will scan every folder that matches. See\u00a0<code>Mail::SpamAssassin::ArchiveIterator<\/code>\u00a0for more details. SpamAssassins remembers which mail messages it has learnt already, and will not re-learn those messages again, unless you use the\u00a0<strong>&#8211;forget<\/strong>\u00a0option. Messages learnt as spam will have SpamAssassins markup removed, on the fly. If you make a mistake and scan a mail as ham when it is spam, or vice versa, simply rerun this command with the correct classification, and the mistake will be corrected. SpamAssassins will automatically &#8216;forget&#8217; the previous indications. Users of\u00a0<code>spamd<\/code>\u00a0who wish to perform training remotely, over a network, should investigate the\u00a0<code>spamc -L<\/code>\u00a0switch.<\/p>\n\n\n\n<p><em>Official sa-learn documentation can be found here:&nbsp;<a href=\"http:\/\/spamassassin.apache.org\/full\/3.2.x\/doc\/sa-learn.html\">sa-learn doc<\/a><\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"getting_started\"><\/span>Getting started<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n<div class=\"kb-shortcode kb-shortcode_warning\">\n                    <div class=\"kb-shortcode-icon\">\n                        <i class=\"fa fa-exclamation-triangle fa-2x\"><\/i>\n                    <\/div>\n                    <div class=\"kb-shortcode-content_warning\">This will only work for email accounts using IMAP.<\/div>\n                <\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"create_the_spamham_folders\"><\/span>Create the spam\/ham folders<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>In your preferred mail client, open the email account you are configuring this for.<\/li><li>Inside of your Inbox create at least two new folders\/directories. One for the untrained spam, and one (or more) for your ham (not spam). For this article, we&#8217;ll be using &#8220;Junk&#8221; as our untrained spam folder, and &#8220;Seen&#8221; as our ham folder.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"being_diligent_and_pro-active\"><span class=\"ez-toc-section\" id=\"being_diligent_and_pro-active\"><\/span>Being diligent and pro-active<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Create your new ritual of how you regularly check email. When you receive new email (and read it), start moving the email to one of the two folders. If the email is good mail, move it to &#8220;Seen&#8221;. If it&#8217;s bad\/spam that SpamAssassins didn&#8217;t already catch, move it to &#8220;Junk&#8221;.<\/li><li>This is the most difficult part of training properly, however will provide the best results. It will take some time, however the more tokens SpamAssassins is able to collect, the more accurate it will become!<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"running_the_sa-learn_command_with_spamassassins\"><\/span>Running the sa-learn command with SpamAssassins<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n<div class=\"kb-shortcode kb-shortcode_warning\">\n                    <div class=\"kb-shortcode-icon\">\n                        <i class=\"fa fa-exclamation-triangle fa-2x\"><\/i>\n                    <\/div>\n                    <div class=\"kb-shortcode-content_warning\">Executing sa-learn commands must be performed by the &#8216;mail account owner&#8217; to function properly. When attempting to run these commands as the &#8216;root&#8217; user, use the following syntax to run them as the user:<\/p>\n<p>sudo -H -u <cpaneluser> bash -c &#8216;\/usr\/local\/cpanel\/3rdparty\/bin\/sa-learn <commands>&#8216;<\/commands><\/cpaneluser><br \/>\n<\/div>\n                <\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>From the command line run sa-learn on your email account&#8217;s &#8220;Junk&#8221; folder.<ul><li><code>sa-learn -p \/home\/USER\/.spamassassin\/user_prefs --spam \/home\/USER\/mail\/DOMAIN.TLD\/ACCOUNT\/.Junk\/{cur,new}<\/code><ul><li>Be sure of the path to&nbsp;<code>sa-learn<\/code>&nbsp;\u2013 on WHM v76 servers, it is&nbsp;<code>\/usr\/local\/cpanel\/3rdparty\/bin\/sa-learn<\/code><\/li><\/ul><\/li><li>Depending on how many messages you have (and if you&#8217;ve run it before or not) you&#8217;ll see results similar to this:&nbsp;<code>Learned tokens from 214 message(s) (1009 message(s) examined)<\/code><\/li><\/ul><\/li><li>From the command line run sa-learn on your email account&#8217;s &#8220;Seen&#8221; folder.&nbsp;<em>Note the differences here, &#8220;&#8211;ham&#8221; and &#8220;.Seen&#8221;.<\/em><ul><li><code>sa-learn -p \/home\/USER\/.spamassassin\/user_prefs --ham \/home\/USER\/mail\/DOMAIN.TLD\/ACCOUNT\/.Seen\/{cur,new}<\/code><\/li><li>You&#8217;ll see similar results for this, all depending on how many messages on are in the folder.<\/li><\/ul><\/li><li>Checking learned tokens.<ul><li>Run:&nbsp;<code>sa-learn --dump magic<\/code><\/li><\/ul><\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  # sa-learn --dump magic\n  0.000 0 3 0 non-token data: bayes db version\n  0.000 0 1242 0 non-token data: nspam\n  0.000 0 3872 0 non-token data: nham\n  0.000 0 155784 0 non-token data: ntokens\n  0.000 0 1404770116 0 non-token data: oldest atime\n  0.000 0 1411483933 0 non-token data: newest atime\n  0.000 0 0 0 non-token data: last journal sync atime\n  0.000 0 1410340539 0 non-token data: last expiry atime\n  0.000 0 5529600 0 non-token data: last expire atime delta\n  0.000 0 137169 0 non-token data: last expire reduction count<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>nspam &#8211; Number of spam messages examined.<\/li><li>nham &#8211; Number of (non-spam) messages examined.<\/li><li>ntokens &#8211; Number of tokens learned.<\/li><\/ul>\n\n\n\n<p>You can run these commands manually whenever you&#8217;d like, especially if you like control, however, it can become a chore and demanding process. A lot of people prefer cron jobs for this. I&#8217;d only recommend that you only perform the cron jobs once per day, during non-peak hours.<\/p>\n\n\n\n<p>Also, remember that training works both ways, if non-spam is making it in the spam folder, move it into &#8220;Seen&#8221; so it can learn properly for false positives.<\/p>\n\n\n\n<p>If you try this, feel free to comment and let us know your <a href=\"https:\/\/www.knownhost.com\/contact\">results<\/a>!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is a guide to effectively use SpamAssassins\u00a0sa-learn\u00a0to help train tokens for spam flagging accuracy. What is &#8216;sa-learn&#8217;? Given a typical selection of your incoming mail classified as spam or ham (non-spam), this tool will feed each mail to SpamAssassins, allowing it to &#8216;learn&#8217; what signs are likely to mean spam, and which are likely [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[101],"tags":[109,178,301,300],"class_list":["post-815","post","type-post","status-publish","format-standard","hentry","category-cpanel","tag-cpanel","tag-email","tag-sa-learn","tag-spamassassin"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Training SpamAssassins accuracy with sa-learn - KnownHost<\/title>\n<meta name=\"description\" content=\"In this guide we will teach you how to train your SpamAssassins to filter spam email more accurately on your KnownHost server.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Training SpamAssassins accuracy with sa-learn - KnownHost\" \/>\n<meta property=\"og:description\" content=\"In this guide we will teach you how to train your SpamAssassins to filter spam email more accurately on your KnownHost server.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/\" \/>\n<meta property=\"og:site_name\" content=\"KnownHost\" \/>\n<meta property=\"article:published_time\" content=\"2021-07-09T11:45:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-16T12:49:04+00:00\" \/>\n<meta name=\"author\" content=\"Jonathan K. W.\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jonathan K. W.\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.knownhost.com\\\/kb\\\/training-spamassassins-accuracy-with-sa-learn\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.knownhost.com\\\/kb\\\/training-spamassassins-accuracy-with-sa-learn\\\/\"},\"author\":{\"name\":\"Jonathan K. W.\",\"@id\":\"https:\\\/\\\/www.knownhost.com\\\/kb\\\/#\\\/schema\\\/person\\\/3db6e20d1f33519cd68fe0ba1230a48b\"},\"headline\":\"Training SpamAssassins accuracy with sa-learn\",\"datePublished\":\"2021-07-09T11:45:45+00:00\",\"dateModified\":\"2021-11-16T12:49:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.knownhost.com\\\/kb\\\/training-spamassassins-accuracy-with-sa-learn\\\/\"},\"wordCount\":662,\"commentCount\":0,\"keywords\":[\"cpanel\",\"email\",\"sa-learn\",\"spamassassin\"],\"articleSection\":[\"cPanel\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.knownhost.com\\\/kb\\\/training-spamassassins-accuracy-with-sa-learn\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.knownhost.com\\\/kb\\\/training-spamassassins-accuracy-with-sa-learn\\\/\",\"url\":\"https:\\\/\\\/www.knownhost.com\\\/kb\\\/training-spamassassins-accuracy-with-sa-learn\\\/\",\"name\":\"Training SpamAssassins accuracy with sa-learn - KnownHost\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.knownhost.com\\\/kb\\\/#website\"},\"datePublished\":\"2021-07-09T11:45:45+00:00\",\"dateModified\":\"2021-11-16T12:49:04+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.knownhost.com\\\/kb\\\/#\\\/schema\\\/person\\\/3db6e20d1f33519cd68fe0ba1230a48b\"},\"description\":\"In this guide we will teach you how to train your SpamAssassins to filter spam email more accurately on your KnownHost server.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.knownhost.com\\\/kb\\\/training-spamassassins-accuracy-with-sa-learn\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.knownhost.com\\\/kb\\\/training-spamassassins-accuracy-with-sa-learn\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.knownhost.com\\\/kb\\\/training-spamassassins-accuracy-with-sa-learn\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.knownhost.com\\\/kb\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Training SpamAssassins accuracy with sa-learn\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.knownhost.com\\\/kb\\\/#website\",\"url\":\"https:\\\/\\\/www.knownhost.com\\\/kb\\\/\",\"name\":\"KnownHost\",\"description\":\"KnownHost provides a comprehensive webhosting knowledge base to help answer many of your common webhosting and linux questions.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.knownhost.com\\\/kb\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.knownhost.com\\\/kb\\\/#\\\/schema\\\/person\\\/3db6e20d1f33519cd68fe0ba1230a48b\",\"name\":\"Jonathan K. W.\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f432b99e6651fe8d1deb57a285bd84e806f1c9ae8b4c6c585d7e3a0b33789ad9?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f432b99e6651fe8d1deb57a285bd84e806f1c9ae8b4c6c585d7e3a0b33789ad9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f432b99e6651fe8d1deb57a285bd84e806f1c9ae8b4c6c585d7e3a0b33789ad9?s=96&d=mm&r=g\",\"caption\":\"Jonathan K. W.\"},\"sameAs\":[\"https:\\\/\\\/www.knownhost.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Training SpamAssassins accuracy with sa-learn - KnownHost","description":"In this guide we will teach you how to train your SpamAssassins to filter spam email more accurately on your KnownHost server.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/","og_locale":"en_US","og_type":"article","og_title":"Training SpamAssassins accuracy with sa-learn - KnownHost","og_description":"In this guide we will teach you how to train your SpamAssassins to filter spam email more accurately on your KnownHost server.","og_url":"https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/","og_site_name":"KnownHost","article_published_time":"2021-07-09T11:45:45+00:00","article_modified_time":"2021-11-16T12:49:04+00:00","author":"Jonathan K. W.","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jonathan K. W.","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/#article","isPartOf":{"@id":"https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/"},"author":{"name":"Jonathan K. W.","@id":"https:\/\/www.knownhost.com\/kb\/#\/schema\/person\/3db6e20d1f33519cd68fe0ba1230a48b"},"headline":"Training SpamAssassins accuracy with sa-learn","datePublished":"2021-07-09T11:45:45+00:00","dateModified":"2021-11-16T12:49:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/"},"wordCount":662,"commentCount":0,"keywords":["cpanel","email","sa-learn","spamassassin"],"articleSection":["cPanel"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/","url":"https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/","name":"Training SpamAssassins accuracy with sa-learn - KnownHost","isPartOf":{"@id":"https:\/\/www.knownhost.com\/kb\/#website"},"datePublished":"2021-07-09T11:45:45+00:00","dateModified":"2021-11-16T12:49:04+00:00","author":{"@id":"https:\/\/www.knownhost.com\/kb\/#\/schema\/person\/3db6e20d1f33519cd68fe0ba1230a48b"},"description":"In this guide we will teach you how to train your SpamAssassins to filter spam email more accurately on your KnownHost server.","breadcrumb":{"@id":"https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.knownhost.com\/kb\/training-spamassassins-accuracy-with-sa-learn\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.knownhost.com\/kb\/"},{"@type":"ListItem","position":2,"name":"Training SpamAssassins accuracy with sa-learn"}]},{"@type":"WebSite","@id":"https:\/\/www.knownhost.com\/kb\/#website","url":"https:\/\/www.knownhost.com\/kb\/","name":"KnownHost","description":"KnownHost provides a comprehensive webhosting knowledge base to help answer many of your common webhosting and linux questions.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.knownhost.com\/kb\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.knownhost.com\/kb\/#\/schema\/person\/3db6e20d1f33519cd68fe0ba1230a48b","name":"Jonathan K. W.","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f432b99e6651fe8d1deb57a285bd84e806f1c9ae8b4c6c585d7e3a0b33789ad9?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f432b99e6651fe8d1deb57a285bd84e806f1c9ae8b4c6c585d7e3a0b33789ad9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f432b99e6651fe8d1deb57a285bd84e806f1c9ae8b4c6c585d7e3a0b33789ad9?s=96&d=mm&r=g","caption":"Jonathan K. W."},"sameAs":["https:\/\/www.knownhost.com"]}]}},"_links":{"self":[{"href":"https:\/\/www.knownhost.com\/kb\/wp-json\/wp\/v2\/posts\/815","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.knownhost.com\/kb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.knownhost.com\/kb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.knownhost.com\/kb\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.knownhost.com\/kb\/wp-json\/wp\/v2\/comments?post=815"}],"version-history":[{"count":0,"href":"https:\/\/www.knownhost.com\/kb\/wp-json\/wp\/v2\/posts\/815\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.knownhost.com\/kb\/wp-json\/wp\/v2\/media?parent=815"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.knownhost.com\/kb\/wp-json\/wp\/v2\/categories?post=815"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.knownhost.com\/kb\/wp-json\/wp\/v2\/tags?post=815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}