MailCat/MailKit/SpamBlocker Support Page
This web site explains common features among between MailCat, MailKit, SpamBlocker.
To avoid duplication, this site explains meticulously about spam filtering.
other basic features are explained in the built-in help in each app.
First of all,
each app has general features as a mailer except mail sending facility.
Besides,SpamBlocker or MailCat support the spam filtering by machine learning,
MailKit supports only rule based mail filtering.
As for language locale, only English and Japanese are supported. European languages will be OK as long as it's based on alphabets.
In this version, the synchronization of iCloud will be done among the apps(SpamBlocker, MailKit, MailCat) in a device, but may fail among multiple devices.
The setting of iCloud swich at the app's setting will not be recommended for the time being.
In early 2019, Google decided that only permitted application types could use restricted scopes such as OAuth2.0.
Permitted application types do not include any type of spam filtering apps.
So, MailCat/MailKit/SpamBlocker cannot do any kinds of filtering including spam filtering, mail filering(mail re-routing, blacklist filtering) anymore against Gmail account.
Acutally the app doesn't have any filering switch at Gmail account setting page.
Further more you cannot set emails in Gmail as learning data and its email address as a blacklist or mail routing destination.
The app is different from a conventional type of spam filtering software where user specified spam data are uploaded to its own App server, analyzed. the machine learning is performed to generate a spam filter. The spam filter resides on the App server. And the App server does the spam filtering. This is a big problem in terms of data privacy.
But this app is completely a client side app.
The spam data are inside iOS devices. Those data never go outside of devices except iCloud option is enabled(this option is not currently recommended).
Machine learning algorithm is embedded in the app, so the machine learning is done in a device and a generated spam filter is also in the device.
The spam filtering is done in the device.
Starting from specifying learning data to generatring a spam filter is done in the device, and it's done without using any 3rd party software parts.
In terms of data privacy, it completely keeps privacy.
In addition to spam filtering, the app supports rule based mail filtering. In this case, also user specified rules are stored in the device.
The data never go outside except iCloud option is enabled(this option is not currently recommended).
To make you sure how data privacy are kept, we'll explain how email specified as learning data are anaylzed and transformed to a spam filter through machine learning.
At first, Ngrams(specifically unigram, bigram, trigram) are generated from email specified as learning data. Ngrams are character based.
Secondly, features which are effective in spam judgement are selected among generated Ngrams.
Thirdly, each feature weight is calculated based on how effectively it judges spam through machine learning.
Finally, pairs of {selected feature, weight} are generated to become a spam filter.
During this process, the app doesn't access any external software modules, and doesn't use any 3rd party software modules.
Ngrams are generated in memory, which will be deleted after feature selection.
A generated spam filter are stored in the device's storage.
Thus the user data thoroughly stay private.
There are server side spam filtering and local spam filtering.
Server side spam filter uses blacklist/whitelist,rule based algorithm, or some kind of machine learning algorithm.
But it cannot detect all spams because spam or ham judgement depends on each one's tastes.
Local spam filtering is essential if you want to filter out annoying messages that are particular to you.
The app can do a local spam filtering.
The app has a built-in machine learning categorization engine and generate an effective spam filter.
The app generates a spam filter by learning from spam and ham messages in INBOX specified by you.
After learning a certain amount of data, set the spam filter active at "account setting", incoming messages will be categorized into spam and legitimate ones.
The spam filter represents your tastes since you specified which messages are spam or legitimate.
The spam filtering gets the most powerful when the local spam filter gets along with the server side filter.
Server side Spam filtering's strength
The setting of the server side spam filtering's strength should be low or middle.
If you set it high, some legitimate messages might be treated like spams.
General spams should be filtered out at the server side filtering. personal spams should be filtered out at the client side.
But a mail service provider sometimes does not offer the spam filtering's strength adjustment option.
"New Account" screen appears after SpamBlocker's first start up.
Enter your mail address, password and tap "connect" button,
the activity indicator will appear on the navigation bar.
After a while, the monitor screen will show up.
If the login name is not your mail address, you have to enter a login name in "account setting" screen.
To go to the account setting, tap manual button which appears on the navigation bar.
If you don't know the login name/password, contact an organization or personnel in charge of the mail server to get a hostname, login name(user id), password.
You don't have to specify port no.
Port no is to be alerted according to SSL setting.
The account information set to the app is exactly the same as one in other mailers. If you want to use the same IMAP mail server, set its account information to the app. The connection will never fail.
Login name(User name) or password is not correct. After checking its validity, re-enter them.
Check network status(3G,Wi-Fi).
If the network connectivity is poor, timeout will come out.
After the network connectivity recovers, try to re-connect.
After once the connection is successfully established, 'Network error' might occur due to an 'IMAP server' network condition.
If you choose 'Offline', long-press on the table cell of 'Account' list to go back to online.
If only one account is registered, stop running MailCat and re-invoke it.
To generate your spam filter, take the following steps.
Phase one: Generate a Spam Filter
Repeat the steps until the number of spams and hams reaches 16.
Select mails, tap "SPAM" button on the command bar. | Red circle appears at the left of each selected mails. Green one appears in case of ham. |
Do "Pull to Refresh" or "Long Press on Navigation Bar". Learning starts.Red and green circles turned gray ones. "HAM" or "SPAM" icon is added at the left of a sender name. |
Phase two: Train Your Spam Filter
Learning error correction can be done by tapping "Edit" button, repeating the same process. The spam filter is set off by the default setting. After learning more than 16 spams and 16 hams, the app is able to judge which mail is spam or not. To start spamfiltering, the spam filter switch should be set on at account setting.
Repeat the steps until no errors are found.
Check spam filtering results. | If filtering results are against your taste, tap "Edit" button, correct them. |
Do "Pull to Refresh" or "Long Press on Navigation Bar" after the correction. | Check to see if the results are satisfying, again. |
A Green mark or red mark turn a gray one to indicate learning is done on each message.
If the learning is done, the icon such as a happy icon or a spam icon appears,
otherwise either of the following icon appears.
The first example shows that a legitimate mail is mistakenly categorized into a spam mail.
The second one shows the app cannot decide whether a mail is legitimate or not.
The second case is commonly observed during the initial learning phase, this phenomenon will gradually vanish as the learning process continues.
The first example is frequently observed if one of the similar mail messages is specified as a SPAM and another one is specified as a HAM. the app dislikes the inconsistency.
The app supports incremental learning, so learning mail messages can be added or removed anytime as long as the messages can be seen on Monitor screen.
Even if a mail message is specified as a HAM, it can be re-specified as a SPAM.
Thus, if you met the above two example, you could re-specify the mail message then can do re-learning.
For instance, each time you tap the selection mark, it turns the status of the mark into HAM, selection, no selection ,... in "Editing" mode.
You can choose any status. Thus you can modify "Learning Data" status.
Numbers of HAM and SPAM messages should be balanced.
It's OK if it's not extremely unbalanced.
If it's balanced, you can get the better results.
If you learn more than 200 learning messages which are spam&ham combined figure, a generated spam filter can work practically.
A spam filter generated from 10 learning messages may work, but its predictability is not trustworthy.
The Spamfilter stays inactive unless 'Spamfilter' switch is on.
Each account has 'Spamfilter' switch.
Visit "Account Setting" at "Setting".
There are 4 conditional fields for mail rules --- sender, subject, message, compound.
Mail rules are only applied for 'INBOX'.
To edit or create a mail rule, tap 'Edit' button on a Mailbox list.
The selection menu appears, choose 'Rule'.
Mail rules for ‘Sender’ will appear.
To switch a view, tap a Tab bar.
To add a rule for 'Sender', 'Subject', ‘Message’, pull down the table view, then an empty cell will be added with saying ‘Tap to Edit’.
To delete a rule, swipe the cell to the left. Tap the delete button to be appeared.
To create a spam rule, go to Setting and tap "SPAM Rules", the rest is the same.
Rules moved from 'From', 'Subject', ‘Message’ are combined by 'AND', ‘OR’, 'NOT' operator into a compound rule.
To move a rule, swipe right a table cell and tap "Comp." button. The moved rules are invalidated until they are combined by 'AND', ‘OR’, 'NOT' operator.
To make a compound rule, tap the edit button on the Navigation bar, 'AND', ‘OR’, 'NOT' on the command bar will appear.
The following symbols are used for Compound rules.
Logical operator
Field mark
Compound Rules can be nested infinitely.
But the acceptable level is 3 or 4 from a standpoint of human's cognitive capability.
Here are two practical examples of compound rules.
First example is 3 level nested compound rule, but it is relatively simple.
Second one is to absorb ambiguity. It searches mails with the subject like "ten patients" or "flu patient"
When you cannot express a search condition by a simple rule , use a compound rule.
The Mail rules filter the incoming messages, then the spamfilter will filter the mail rule filtered messages.
Thus mail rule filtering comes first before the spamfiltering.
The mail rules don’t work unless 'Mail Filter' switch is on.
Each account has 'Mail Filter’ switch.
Visit "Account Setting" at "Setting".
There are two kinds of the mail rules.
One is globally effective which means effective in all accounts, the other is locally effective which means effective in a particular account.
The globally effective mail rules can be specified in system mailboxes at the unified mailbox list.
In Mailbox editing mode, the following operations are allowed.
The facitility is only provided for MailCat, MailKit.
As for "Attribute setting",
a mailbox is changed into a system mailbox by setting it an system mailbox attribute.
A system mailbox is a candidate to the "Quick View".
"Quick View" is one of views which can be seen through the rotation by tapping the navigtion bar on Inbox/Monitor.
""Attribute setting" is to be used for "Mailbox mapping".
If the iOS device is signed in iCloud, iCloud option can be selectable at Advanced Setting.
The Machine learning data and rule data are uploaded to iCloud when the App goes under background status by hitting Home button of the iOS device or it starts filtering.
The iCloud synchronization sometimes delays.
When the iCloud synchronization doesn't seem to occur, tap Rebuild iCloud Store at Advanced Setting.
It may take a few minutes.
During rebuiding iCloud Store, there is no machine learning data and rule data available in the App.
If iCloud is selected, the alert message may be displayed, saying,
Overwrite deletes old iCloud data, copy local data to iCloud.
Merge copies only different part of data to iCloud.
Skip is just a mode change.
If the iOS device is signed out from iCloud, iClould is not available for the App.
If the iCloud option is selected, the machine learning data and rule data are synchronized over iCloud and shared between MailCat, MailKit, SpamBlocker.
To exit from iCloud, tap iCloud whose background cell color is red at Advanced Setting.
Data backup to local can be done by selecting Overwrite or Merge.
For some reason, iCloud store is corrupted, and cannot be auto-recovered,
Take the following steps to restore iCloud store from the local store.
A "Network Error" alert may occur when the app starts.
In that case, tap the retry button to try to connect to a mail server again, or tap the cancel button to let an account offline.
The offline account can be changed to the online state if you long-press the account on the account list or
setting the account switch off to on at the app's setting.
The reason is one of the followings.
Confirm the setting or set the option properly.
The reason is that the number of learning data is too few.
The problem is solved by adding more learning data.
SpamBlocker searches mails that match with registered mail addresses in the Address Book among the received mails in Inbox, marks them as HAM(a legitimate mail) if there are no legitimate mails specified.
But it will ends up specifying similar mail messages as legitimate mails and decrease the machine learning performance.
Specifying learning data in the monitor mode will improve the situation.
The situation is recoverable.
SpamBlocker allows a user to re-specify the learning data’s category(HAM or SPAM).
If message rules are specified, the rule filtering speed goes down.
Look at iCloud.
Look at iCloud.
The reason is that memory for the app is running short or the network environment is being poor.
To solve memory shortage, terminate SpamBlocker and restart it.
If the situation remains same, terminate other apps which are not in use.
If it doesn’t improve the memory shortage, power off the iOS device(iPhone/iPad) and power on the device.
If SpamBlocker still runs slow after these efforts, it is the network issue.
Use Spamblocker under the Wi-Fi environment.
If you have any questions or requests or find bugs, please send email to:
sseimitsusakufu@gmail.com
There are two leading “s”.