Skip to content
Program for sending SMS over the Internet
Branch: master
Clone or download
tomaskovacik and kparal gateways: add [INT]SMSdoor
This will soon probably obsolete [INT]GoSMS gateway.

Merges #526
Latest commit af0ba7a Mar 9, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
gateways gateways: add [INT]SMSdoor Mar 9, 2019
include re-write Mac integration handlers and add Mac packaging scripts Jan 22, 2012
installjammer move project to top-level directory Feb 6, 2011
lib update project to NetBeans 7.4 Mar 7, 2014
nbproject update project files to NetBeans 8.0 Apr 23, 2014
packaging add packaging/ dir containing Linux packaging related files May 16, 2015
po translation update Oct 29, 2014
resources translation update Oct 29, 2014
scripts update packaging scripts Dec 1, 2012
.gitignore convert .hgignore to .gitignore Apr 27, 2011 README: fix typo Sep 27, 2017
build-mac.xml Mac packaging: migration to Oracle Java 7 packager Jul 28, 2013
build.xml remove webstart support Mar 7, 2014 move project to top-level directory Feb 6, 2011


Esmska is a program for sending SMS over the Internet using one of many supported gateways.

No Maintenance Intended

Esmska is not maintained anymore!

I do no longer have time to developer nor maintain this project. The only patches I accept are gateway updates. Apart from that, please fork my repository and develop the patches in your space. If your version becomes significantly improved over this original version, please contact me and I'll happily forward visitors to your program.

Program links

Program files       - This file.
gateways/       - Script files for using operator gateways.
include/        - Files included in the binary distribution.
installjammer/  - Configuration files for InstallJammer.
launch4j/       - Configuration files for Launch4J.
lib/            - Program compilation and runtime libraries.
nbproject/      - Project files for the NetBeans IDE.
po/             - Localization files.
resources/      - Various resource files.
scripts/        - Various scripts for managing building process.
src/            - Program sources.
packaging/      - Files related to Linux packaging and OpenSUSE Build Service.

Program license is GNU AGPL v3+, see include/license/ for more details.

Project root directory can be opened by NetBeans IDE as its project.

Getting program

Check out Esmska repository:

$ git clone git://

By default you'll see the main development branch ('master'). You can switch to any other branch or tagged version by using:

$ git branch               # lists all branches
$ git tag                  # lists all tags
$ git checkout BRANCH|TAG

Compilation requirements

  • Java 6 JDK (Sun tested)
  • Ant
    • in Ubuntu packaged as ant

Provided by lib/ directory:

  • CopyLibs
    • included in NetBeans IDE 7.0
  • Mac UI
    • included in Apple Java
    • optional: see compiling section for information how to build without Mac OS support
  • AppBundler
  • all runtime requirements

Runtime requirements

  • Java 6 JRE (Sun and OpenJDK tested)

Provided by lib/ directory:

If you wish to use other libraries than the ones provided in lib/ directory (e.g. package maintainers may want this) you can specify classpaths to individual libraries in file lib/ Variables ending with .classpath will be of interest to you.

Compiling program

In sources root directory (where build.xml is located) run this command:

$ ant clean jar

If you want to build the program without Mac OS support (for example Linux package maintainers not willing to use Apple library), use command:

$ ant -DnoMac=true clean jar

All the sources should be compiled in the build/ directory. In the dist/ directory the resulting esmska.jar should be created, together with all needed libraries, available gateways and some additional files copied from include/ directory.

Running program

After compiling you can run Esmska by command:

$ ./dist/


$ ant run

from the sources root directory.

Packaging program

You can run command:

$ ./scripts/create-package VERSION

to obtain binary program packages (multiplatform and Windows) inside the program root directory.

Mac packages can be created only on Mac OS by running this command:

$ ant -f build-mac.xml

When creating custom packages it may be good to note that the only important files for the program are esmska.jar, esmska.conf, lib/ and gateways/ directory. All other files are intended only for the end-user and the program does not use them.

Package maintainer should be interested in resources/ directory. It contains many files useful for making packages. Especially an always up-to-date esmska.desktop file should be used, because it contains localized menu item translations.

You should also see the esmska.conf file, which is a system-wide configuration file. You can set some default configuration there (like turning off update notification for example, when you are distributing program through linux repositories).

Working with translations

Program uses src/esmska/resources/l10n*.properties files for localization. There are gettext files in the po/ directory for simplifying user contributions. By running command:

$ ./scripts/update-translations

a new po/esmska.pot template is generated, all PO message catalogs are updated and localized properties files are generated from them.

You can’t perform that action at this time.