About this App

SMSForwarder will automatically redistribute any incoming sms-message following the rules defined by the filters and actions. As soon as a filter complies it will perform the defined actions and if the finish flag is not set continues with the next filter in order.

System Status

At the upper right corner of this screen you can see the current status of the background service and switch the service ON or OFF.

ONSystem is operational, incoming SMS-messages are monitored.
OFF  System is paused, incoming SMS-messages are discarded.


* SMTP  * Actions  * Filters  * Test 

You start the configuration by selecting the most right tab: "SMTP" to define your mail-settings.

Mail configuration
SMTP HostYour mail host.
SMTP PortDate and time of incoming SMS.
Formatted using the locale of the current mobile device.
Mail accountYour username/email address.
PasswordYour account password.
Use AUTHChecked if your provider requires LOGIN AUTH - identification
STARTTLSChecked if your connection must be encrypted.
SSL/TLSChecked if your provider requires SMTPS protocol (port 465).

After you have entered your account-settings click the test-button to verify the entered data. The system will sent you a test-email. Check if you have received the test mail, and review the generated debug/log information which will be displayed below the TEST-button.

Select the "Done" button to accept the current settings and click on the Save-button at the bottom-right (the floppy-disk icon), to write the configuration data to the background-service.


When a message satisfies a filter the linked actions will be performed. Tap the "+" icon at the upper right corner to create a new action. By tapping on an earlier created action you can edit it or by long press you can delete the action.
An action can contain one or more of the following instructions:

  • Send an email
  • Perform a HTTP Post, or
  • Perform a XML Post
  • Send a SMS.
  • First you specify the name of the action, e.g.: "Inform Customer-Support". Later on this name is used when you bind the actions to the filters.


    Next you enter the email address of the person you want to redirect the message to, e.g.: cs@mycompany.com. Check the "Enable mail" box.

    HTTP/XML Post

    If you want to post the SMS on your webserver, you can use the URL for the post-address, e.g.: "https://mycompany.com/services/catchsms.php". Select the desired post-method, HTTP-Post or XML and check the "Enable URL" box.

    HTTP Post fields
    datetimeDate and time of incoming SMS.
    Format: yyyy-mm-dd hh:nn:ss.
    datetime2020-05-20 21:03:30
    localdtDate and time of incoming SMS.
    Formatted using the locale of the current mobile device.
    localdt20 mei 2020 21:03:30
    senderPhonenumber or name of the SMS-sender.
    messageSMS-message contents
    messageAccess validation: Your security code is 12345.

    If you selected XML-format you will receive the following:

    Because XML is transmitted with Content-Type "application/xml" your web-application should take special measures to capture this post. e.g.: in PHP you should use:


    SMSForwarder can redistribute the incoming SMS-messages to other mobile-numbers as well. Take care, this can result in additional phone-costs for the sending of the SMS-messages. The system will put the prefix "SMSForwarder: " before the original SMS so it can detect a loop (when the phone number of the receiver is the same number as the sender). When this is detected the system will ignore to send the SMS but still perform the other actions (like email) as usual.


    The moment a SMS-message is received the system will hold it against each declared filter from top to bottom. Therefore you can change the order of the filters by tab-and-hold the filter and move it more to the top or bottom of the list. To remove a filter entirely you just swipe it to the left or right and confirm to remove it. Just the filter will be removed, the actions linked to it will not be changed. After you created some actions you can link these to a filter.

    A filter consists of the following elements:

  • Filter name to identify this filter.
  • Sender to match its phonenumber.
  • Keywords to filter on.
  • Match method of given keywords
  • Finish flag to prevent executing next filter.
  • Actions to perform when matched.
  • Filter name

    First you specify the name of the filter, e.g.: "Check Customer-Support". Later on you will specify the order by moving this name to the desired position in the list.


    Here you can specify the starting part(s) of the entire phone number or sender-ID of the SMS sender. Usually the number starts with "+", followed by the country code and then the subscriber number. Sometimes you don't receive a number but just a name, like "Google". In that case you can specify this sender-ID inhere.

    You may specify multiple options seperated by a <space> like: +316 06 Google +32 (Each number starting with "+316", "06", "Google" or "+32" is valid.

    When you leave this field empty it will validated as true and continues filtering the keywords.


    Inhere you may specify one or more keywords or, if quoted, parts of whole sentences.

    Single- and double quotes, spaces and the exclamation-mark have a special meaning:

    Special chars in Keywords
    <space>Separator between keywords
    e.g.: offer bid tendercheck if the message contains the words "offer", "bid", "tender"
    "<literal>"Searches in the message case-sensitive text fragment.
    e.g.: "Literally This"Searches the text "Literally This" within the message.
    '<case-insensitive text>'Single quotes searches case-insensitive.
    e.g.: 'order "'Searches text: Order<space><double-quote>
    !<Keyword>NOT-operator, message may NOT contain <Keyword>
    e.g.: !'order number'Message may contain the words "order" and "number" but not the combination "order number" (order<space>number)

    So, if the Keywords are: order bid tender !"Test" the filter result will be(with "Match any"):

    My test-bid 30,-  validates true on keyword "bid"
    My Test-bid 30,-  validates false on keyword "Test"

    Match Any/All

    Specifies if the message must contain just any, or all of the given Keywords.

    Finish when applied

    If checked the system will be finished with this message (after performing the selected actions) when this filter satisfies, otherwise the system will go-on to the next filter after performing the given actions.

    Actions to perform

    Select inhere the actions which must performed when this filter is satisfied.


    The Test-functionality enables you to simulate any incoming SMS-message. The system will handle the message as if it was received by the phone.

    If nothing happens, please check if the upper-right corner if your system is turned on!


    If you like this app or use it commercially; what about buying me a cup of coffee?