JES as windows service - failed

168 views
Skip to first unread message

Ila

unread,
Aug 26, 2009, 12:25:30 PM8/26/09
to Java Email Server
Hi ,

I have installed the JES 1.6.1 using the install.bat install command .
But the service (JavaService.exe) is getting started sucessfully when
i do in wither way ..

Service -> right click - > start

or net start JavaEmailServer from command promt. -- see below the
command resutls.
"The JavaEmailServer service is starting.
The JavaEmailServer service could not be started.

The service did not report an error.

More help is available by typing NET HELPMSG 3534. "


Any help would be appreciated.

Thanks,
=Ila.

mfg8876

unread,
Aug 26, 2009, 3:25:56 PM8/26/09
to Java Email Server
Hello ila,
the JavaService executable that ships with version 1.6.1. is
incompatible with Java 6 (I'm guessing you're most likely using
version 6). To my knowledge javaservice isn't actively developed any
more so you could try JES2. This version uses the more commonly
adopted by the community JavaServiceWrapper.

Andreas

Ila Murugu

unread,
Aug 27, 2009, 10:20:07 AM8/27/09
to java-ema...@googlegroups.com
Thanks Andreas.  I'll try with the JES2.
 
But i have used the Java 5 for the JES 1.6.1. Let me check with the JES2.
Thanks.

David Kerber

unread,
Aug 27, 2009, 10:46:32 AM8/27/09
to java-ema...@googlegroups.com
Also, if you've got a Linux machine (mine's ubuntu), JES 1.6 works fine
with Java 6. On windows, I just ran it from a command prompt when I
couldn't get it to work as a service.


Ila Murugu wrote:
> Thanks Andreas. I'll try with the JES2.
>
> But i have used the Java 5 for the JES 1.6.1. Let me check with the JES2.
> Thanks.
>
> On Wed, Aug 26, 2009 at 2:25 PM, mfg8876 <andr...@vivodinet.gr
> <mailto:andr...@vivodinet.gr>> wrote:
>
>
> Hello ila,
> the JavaService executable that ships with version 1.6.1. is
> incompatible with Java 6 (I'm guessing you're most likely using
> version 6). To my knowledge javaservice isn't actively developed any
> more so you could try JES2. This version uses the more commonly
> adopted by the community JavaServiceWrapper.
>
> Andreas
>
> On Aug 26, 7:25 pm, Ila <ilamuru...@gmail.com

Ila Murugu

unread,
Aug 28, 2009, 5:04:04 PM8/28/09
to java-ema...@googlegroups.com
I have got the JES2.0 beta version from here...
 
I have added the domains and default users in mail.conf file.. but i am not success ful running the mail.bat file...
 
E:\jes\bin>mail.bat
2009-08-28 16:02:04,261 - [main] Mail - JES Starting Up...
Exception in thread "main" java.lang.AbstractMethodError: org.xbill.DNS.spi.DNSJ
avaNameService.lookupAllHostAddr(Ljava/lang/String;)[[B
        at java.net.InetAddress.getAddressFromNameService(Unknown Source)
        at java.net.InetAddress.getLocalHost(Unknown Source)
        at javax.crypto.SunJCE_b.j(DashoA12275)
        at javax.crypto.SunJCE_b.d(DashoA12275)
        at javax.crypto.SunJCE_b.c(DashoA12275)
        at javax.crypto.SunJCE_r.run(DashoA12275)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.crypto.SunJCE_b.<clinit>(DashoA12275)
        at javax.crypto.KeyGenerator.a(DashoA12275)
        at javax.crypto.KeyGenerator.<init>(DashoA12275)
        at javax.crypto.KeyGenerator.getInstance(DashoA12275)
        at com.ericdaugherty.mail.server.configuration.ConfigurationManager.save
Passwords(ConfigurationManager.java:577)
        at com.ericdaugherty.mail.server.configuration.ConfigurationManager.init
ialize(ConfigurationManager.java:524)
        at com.ericdaugherty.mail.server.Mail.main(Mail.java:233)

Can some one help me what could be the issue?
 
Thanks,
-Ila

Ila Murugu

unread,
Aug 28, 2009, 5:05:46 PM8/28/09
to java-ema...@googlegroups.com
adding the log,
 
2009-08-28 16:02:04,277 - [main] ConfigurationManager - adding request to create directory backup
2009-08-28 16:02:04,277 - [main] ConfigurationManager - adding request to create directory failed
2009-08-28 16:02:04,292 - [main] ConfigurationManager - JES incoming SMTP spool E:\jes\smtp
2009-08-28 16:02:04,292 - [main] ConfigurationManager - Loaded 2 local domains.
2009-08-28 16:02:04,292 - [main] ConfigurationManager - JES is listening on 0.0.0.0
2009-08-28 16:02:04,292 - [main] ConfigurationManager - Amavis support not requested.
2009-08-28 16:02:04,308 - [main] ConfigurationManager - Loaded 1 servers from reverseDNS.conf
2009-08-28 16:02:04,323 - [main] ConfigurationManager - adding request to create directory
2009-08-28 16:02:04,323 - [main] ConfigurationManager - 0 forward addresses load for user:
2009-08-28 16:02:04,323 - [main] ConfigurationManager - Loaded 1 users from user.conf
2009-08-28 16:02:04,339 - [main] ConfigurationManager - Loaded 0 realms from realms.conf

mfg8876

unread,
Aug 28, 2009, 6:21:46 PM8/28/09
to Java Email Server
Could you please post a copy of your mail.conf?

The following section can be found in AdditionalNotes concerning
mail.bat.

***** Running JES using mail.bat in Windows *****
In order to properly execute JES from the command prompt using
mail.bat you must
modify the said batch file.
JAVA_EXEC need not be altered if the default installed JAVA runtime is
acceptable to
be used with JES.
JES_HOME must be set to the directory JES was installed into.
There are are two options in the final mail.bat line, that correspond
to the dnsjava
options. Please read section "dnsjava options". If you plan to use
external modules
with JES, the full file path must be appended to the classpath (-cp)
entry.

Also, you should install the JCE (ignore this if you already
have), it is a requirement.

DNSjava seems to be acting up, try using lookup.bat
to see if it's working as expected. Post the results here.
Instructions about lookup.bat can been found in
AdditionalNotes.

And one last note, please read the documentation
(if you haven't already), it will steer you away from
most issues.

Andreas

On Aug 29, 12:05 am, Ila Murugu <ilamuru...@gmail.com> wrote:
> adding the log,
>
> 2009-08-28 16:02:04,277 - [main] ConfigurationManager - adding request to
> create directory backup
> 2009-08-28 16:02:04,277 - [main] ConfigurationManager - adding request to
> create directory failed
> 2009-08-28 16:02:04,292 - [main] ConfigurationManager - JES incoming SMTP
> spool E:\jes\smtp
> 2009-08-28 16:02:04,292 - [main] ConfigurationManager - Loaded 2 local
> domains.
> 2009-08-28 16:02:04,292 - [main] ConfigurationManager - JES is listening on
> 0.0.0.0
> 2009-08-28 16:02:04,292 - [main] ConfigurationManager - Amavis support not
> requested.
> 2009-08-28 16:02:04,308 - [main] ConfigurationManager - Loaded 1 servers
> from reverseDNS.conf
> 2009-08-28 16:02:04,323 - [main] ConfigurationManager - adding request to
> create directory
> 2009-08-28 16:02:04,323 - [main] ConfigurationManager - 0 forward addresses
> load for user:
> 2009-08-28 16:02:04,323 - [main] ConfigurationManager - Loaded 1 users from
> user.conf
> 2009-08-28 16:02:04,339 - [main] ConfigurationManager - Loaded 0 realms from
> realms.conf
>
> >   On Thu, Aug 27, 2009 at 9:46 AM, David Kerber <rhodyroa...@gmail.com>wrote:
>
> >> Also, if you've got a Linux machine (mine's ubuntu), JES 1.6 works fine
> >> with Java 6.  On windows, I just ran it from a command prompt when I
> >> couldn't get it to work as a service.
>
> >> Ila Murugu wrote:
> >> > Thanks Andreas.  I'll try with the JES2.
>
> >> > But i have used the Java 5 for the JES 1.6.1. Let me check with the
> >> JES2.
> >> > Thanks.
>

Ila Murugu

unread,
Aug 31, 2009, 11:35:39 AM8/31/09
to java-ema...@googlegroups.com
Thanks, here is my mail.conf file... .
 
# Java Email Server Configuration File

# Define the directory where all incoming SMTP messages are
# to be stored. If not specified a default is used.
# Default: <JES dir in main class arguments>/smtp
#incoming.directory=

# Define the directory where the user accounts are to be
# located. If not specified a default is used.
# Default: <JES dir in main class arguments>/users
#users.directory=

# The configuration address is the local IP address (not a host name) that
# JES will listen for incoming configuration commands on.  If this value is
# not set, this ability will be disabled. Only internal network addresses
# allowed (that is the loopback and site local addresses).
# No default
#configuration.address=
# Default: 41001
#configuration.port=

# The listen address is the loopback or site local IP address (or host name)
# that JES will listen for incoming connections on. If this value is not set,
# it will listen on all addresses. Please see entry external.delegated in
# section Server Security Policy.
# Default: 0.0.0.0
#listen.address=

# The port number to listen for incoming SMTP connection on.
# This value should be set to 25 unless you really know what you are doing.
# Default: 25
#smtpport=

# The port number to listen for incoming POP3 connections on.
# This value should be set to 110 unless you really know what you are doing.
# Default: 110
#pop3port=

# Each service is configured to use a pool of threads to handle incoming
# connections.  This property defines the number of threads allocated to
# each pool.  The number of threads will be the total number of clients
# each non secure service (SMTP, POP3) can handle at one time.
# Default: 5
#threads=

# The server limits the size of incoming emails.  The default size is 5 MB.
# This settings is in MegaBytes (MB).
# Default: 5
#smtp.messagesize=

# The server stores incoming SMTP messages on disk before attempting to deliver them.  This
# setting determines how often (in seconds) the server checks the disk for new messages to deliver.  The
# smaller the number, the faster message will be processed.  However, a smaller number will cause
# the server to use more of your system's resources.
# Default: 10
#smtpdelivery.interval=

# The server picks the messages from the disk in order to deliver them.  If some message
# cannot be delivered to remote SMTP server at that moment, because of some error, then the message
# will be kept on the disk for later delivery attempt. However server can't retry delivery
# indefinitely, therefore following config entry will set maximum number of retries before the server
# gives up on the message and moves it from smtp spool directory to failed directory.
# Default: 10
#smtpdelivery.threshold=

# This property defines the domains that are considered 'local'. In order
# to receive email for local users, their domain must be defined here.
# multiple domains can be added as a comma seperated list.
# ex: domains=mydomain1.com,mydomain2.com
# No default
domains= "I have my domains here"

# If an email is received for a user at a local domain, but
# the user does not exist, JES can deliver the email to a 'default' mailbox.
# To enable this feature, uncomment this property and set it to a valid username.
# No default
defaultuser= "My email id "

# It may be neccessary to configure your SMTP server to deliver all outgoing
# mail through a gateway SMTP server.  This may be the case if your ISP blocks outgoing
# SMTP connections.  This setting allows you to define a single SMTP server that your server
# will send all remote mail to.
# Optional: add ":PortNumber" after the SMTP server to specify the port number. ex : smtp.myisp.com:25
# Optional: add "/user:password" to specify a username and password to the default SMTP server.
# More than one server can be defined in a comma seperated list.
#defaultsmtpservers=smtp.myisp.com
#defaultsmtpservers=smtp.myisp.com:587/mailuser:mailpass

# The following properties configure the rules for relaying SMTP
# mail.  If an incoming email message matches any of the rules,
# it will be accepted for relay.  If none of the rules match, it
# will be rejected.  Be default, all rules are disabled.

# POP before SMTP enables users who check their POP3 account to
# relay mail for a given period of time.  When they authenticate
# with the POP3 server, their IP address is added to a 'allow relay'
# list for a given period of time.
# Default: false
#relay.popbeforesmtp=

# If POP before SMTP is enabled, this value defines the length of time in minutes
# that the authenticated IP address stays valid.
# Default: 10
#relay.popbeforesmtp.timeout=

# Individual IP addresses can be specified to allow email to be relayed.
# This can be useful if you want to provide access to specific machines or
# sets of machines, including your localhost.  Wildcards can be used
# to specify a range of addresses.
# ex: 192.168.*.* allows all addresses that start with 192.168 to
# relay email.  Partial wildcards are not allowed. ex: 19*.168.0.1 is invalid.
# Multiple addresses can be specified as a comma separated list.
relay.ipaddresses=127.0.0.1

# Individual 'from' email addresses can be specified to allow email
# sent from that address to be relayed.
# WARNING: Anyone who knows what email addresses are allowed to relay
# may send email from those addresses, including SPAMers.  This should
# be used with caution.
# Multiple email addresses can be specified as a comma separated list.
# Email addresses are case insensitives.
# You can specify a blank username (@domain) to allow a whole domain.
relay.emailaddresses= "my domains"

# Enable/disable the 8bitmime feature
# Default: true
#8bitmime.enable=

####################### Secure Connection Settings #######################
# Activation of secure SMTP/POP3 modules
# Default: false
#secureactive=

# The port number to listen for incoming Secure SMTP connection on.
# This value should be set to 465 unless you really know what you are doing.
# Default: 465
#securesmtpport=

# The port number to listen for incoming Secure POP3 connections on.
# This value should be set to 995 unless you really know what you are doing.
# Deafult: 995
#securepop3port=

# Each service is configured to use a pool of threads to handle incoming
# connections.  This property defines the number of threads allocated to
# each pool.  The number of threads will be the total number of clients
# each secure service (secure SMTP, secure POP3) can handle at one time.
# Default: 2
#securethreads=

# To learn more about the SSL security framework in java see
# http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html
# Location of keystore containing the server certificate AND associated private key
# The entire certificate chain is required
# If no location is specified and there is a keystore.jceks file in the security
# directory the file is used
# If a location is specified and there is no keystore.jceks file in the security
# directory the specified location is used
# If a location is specified and there is a keystore.jceks file in the security
# directory the specified location is used
# The specified location must include the keystore filename
# This way if you place a keystore not named keystore.jceks in the security
# directory and define it here that keystore is used instead
# windows example keystore.location=X:\\directory\\to\\my\\keystore.jks
# No system default
#keystore.location=

# Keystore provider. (optional)
# Default: SUNJCE
#keystore.provider=

# The keystore type (jks or jceks).
# Default: JCEKS
#keystore.type=

# Location of truststore. (optional)
# Note that if the truststore herein defined is not found, the system provided
# truststore is used. If one is found by the JVM that is.
# The usage scenarios for the trustore are
# a. Use the default truststore provided by the JVM. In this case leave all trustore
#    entries commented
# b. Use a custom defined truststore. Such a scenario materializes should the JVM can
#    not locate a default truststore or the JES admin wishes to use an alternate
#    trustore.
# At least trustore.location has to be set.
# JSSE default: jssecacerts, if it exists. Otherwise, cacerts
#truststore.location=

# Truststore provider. (optional, if truststore location not properly set it is ignored)
# Default: SUN
#truststore.provider=

# Trustore type. (optional, if truststore location not properly set it is ignored)
# Note that unlike keystore type this setting doesn't default to a particular
# truststore type. This is so that it doesn't interfere with the default JVM behaviour.
# Default: JKS
#truststore.type=

##########################################################################

######################### Server Security Policy #########################
# Enable/Disable the Security Manager. A file named jes.policy must be placed
# in the jes install directory for the Security Manager to function properly.
# Note that the default implementation of the SUN Security Manager only allows
# localhost to be used as a listening address. JES bypasses the relative check
# and verifies the permissions in the ServiceListener instances right before
# instantiating the serverSockets. Please note that with an active Security
# Manager changes to ports settings in mail.conf will not take any effect
# before a server restart.
# Default: false
#enable.SecurityManager=

# Enable/disable the HELO command during a receiver SMTP session.
# It is strongly recommended not to have this enabled. It will be set to
# disable if either the secure connections are activated, SSL/TLS is enabled on
# standard ports or DIGEST-MD5/GSS-API are enabled. Enabling HELO presents an
# extremely dangerous choice and effectively cancels any security context.
# Default: false
#enable.HELO=

# Notify default user of changes to user/mail.conf?
# Default: false
#notify.default=

# Disable poping up a warning message when changes to user/mail.conf have been
# applied? Disabling requires that notify.default is set to true and that a
# default user has been defined. If set to true, no changes will be applied to
# a running instance.
# Default: false
#disable.warning=

# If the network's external IP has been delegated to the server/workstation/
# home computer running JES and JES is to use this IP to listen for incoming
# connections, set the following to true. Otherwise startup will fail.
# This setting is not dynamically updated.
# Default: false
#external.delegated=

# Define here the desired authentication for a connecting client (SMTP/POP3)
# in a TLS/SSL context. Allowed values are required, requested, no.
# Default: no
#client-auth=

# Use TLS/SSL for outgoing SMTP messages if the server being contacted supports
# the STARTTLS extension (RFC 3207)
# Default: false
#outgoingSecure=

# Use TLS/SSL on standard listening ports
# Default: false for both properties
#standardSMTPsecure=
#standardPOP3secure=

# Allow clear text passwords or not (Selections are always, encryptedOnly, never)
# encryptedOnly refers to a TLS/SSL encrypted connection
# This setting's value is of the form SMTP:<selection>,POP3:<selection> and is
# case-insensitive. Example: allowClearText=sMtP:NeVer,POP3:aLwAYS
# Default: encryptedOnly for both
#allowClearText=

# Should a non-existant local recipient be rejected during a smtp server session
# or be accepted and either have the message be deliver to the postmaster or if
# one is not set have the message bounced to the mail sender?
# This situation is quite an interesting one. If rejection is selected then the
# server discloses information concerning the existance or not of a mailbox.
# On the other hand if such a recipient is accepted and no postmaster is set
# the mail gets bounced back, so the effect is the same as in the first case.
# The most prudent course is to accept all local users (whether in existance or
# not) AND have a postmaster set. But in this case the postmaster accepts the
# responsibility of alerting the mail sender in case such a mail is delivered
# to the postmaster's mailbox.
# Default:false (as was up to JES 1.6.1)
#reject.non-existant.local=

# The maximum number of errors in a SMTP/POP3 session before the connection is
# forcibly shut down. Reverts to a default of 10 for values <10.
# Default: 10
#max.error.count=

# The maximum number of password attempts a connecting client is allowed
# to make before a permanent negative reply is sent (RFC 4954/9)
# This is also used in a pop3 session to close the connection should this
# threshold be crossed.
# Default: No restriction
# Minimum: 3
#max.pass.attempts=

# Maximum number of ACCEPTED RCPT commands.
# Any RCPT command exceeding this threshold will receive a 452 reply.
# Default: 100
# Minimum: 100 (RFC 5321/4.5.3.1.8)
#max.valid.rcpt=

# Added percentage to max.valid.rcpt.cmd that will result in a 503 reply
# to a DATA command.
# Default: 10
# Minimum: 5
#added.pct.rcpt=

# The policy for the two following settings is applied as such:
# If there is more than the minimum failed RCPT cmds AND the percentage of
# failed RCPT commands per total RCPT commands is greater than the minimum
# percentage then force a disconnection. This is in accordance with
# RFC 5321/3.8,7.8

# Minimum total of failed RCPT commands that will result in a forced
# disconnection.
# Default: 20
# Minimum: 20
#min.tot.fail.rcpt=

# Minimum percentage of failed RCPT commands that will result in a forced
# disconnection.
# Default: 90
# Minimum: 70
#min.pct.fail.rcpt=

# Use the dnswl/dnsbl facility
# Default: false
#verify.ip=

# Select the protection level the server will advertise during a SASL
# authentication negotiation. Options are any combination of auth,auth-int,
# auth-conf separated by commas.
# Default: all three options
#sasl.qop=

# Advertise the DIGEST-MD5 SASL authentication mechanism?
# Default: true
#sasl.digest-md5.enable=

# Select the ciphers to be used by a sasl digest-md5 confidentiality
# protected session. Available options are 3des,des,rc4,rc4-40,rc4-56.
# Default: 3des,rc4
#sasl.digest-md5.ciphers=

# Advertise the GSSAPI SASL authentication mechanism?
# Default: false
#sasl.GSS.enable=

# The realm(aka Domain in Windows) JES's smtp kerberos 5 service is a part of.
# Example: EXAMPLE.COM. Will be converted to upper case.
# No default
#sasl.GSS.realm=

# The realm's kerberos 5 kdc host name, e.g. krb.example.com
# No default
#sasl.GSS.kdc=

# Set the principal name to be used by JES to authenticate itself during
# a SASL JGSS negotiation. The typical form of a Kerberos 5 service principal
# is serviceType/hostname@REALM, e.g. smtp/mail.exa...@EXAMPLE.COM.
# Please note that per RFC 4752 'Use of server's principal names having
# GSS_C_NT_HOSTBASED_SERVICE name type and "service@hostname" format...
# is RECOMMENDED'. However SUN's GSS SASL implementation requires that a
# SASLServer is acquired from the SASL factory by calling a static method
# where both protocol(serviceType) and server name are supplied. If one
# checks out the openJDK6 source's com.sun.security.sasl.gsskerbGssKrb5Server
# file it is obvious that the service/host format is mandatory when using
# SUN's implementation. The consequence of this is that
# non GSS_C_NT_HOSTBASED_SERVICE identities can not be used. A dual smtp/pop
# serviceType is assumed by JES and if no smtp/hostname and pop/hostname principal
# exists in the default kerberos realm authentication will fail. To conclude,
# the following formats are acceptable:
# 1. host.example.com: smtp and pop are assumed to be the service types.
# 2. SMTPServiceName:POP3ServiceName/host.example.com: ....serviceName(e.g. ldap)
# is used instead of smtp or pop. Possible combos for this case are:
# ldap:pop/host.example.com, (use ldap as smtp, pop as pop)
# :ldap/host.example.com, (use default as smtp, ldap as pop)
# pop:/host.example.com, (use pop as smtp, default as pop)
# ldap/host.example.com. (use ldap as both smtp & pop)
# A small courtesy to JES admins should a kerberos service principal already
# exist and it is not desired/acceptable to create a new principal. In both
# cases the realm is assumed to be the default realm supplied. The matching is
# done internally by sasl/kerberos, not JES.
# No default
#sasl.GSS.principal=

# A flag to indicate whether the principal's key is to be stored in the
# subject's private credentials.
# Default: true
#sasl.GSS.storeKey=

# A flag to indicate whether to attempt to acquire the principal's key from the
# keytab. If this fails, or the flag is set to false, a window will popup to
# request the password at startup.
# Default: false
#sasl.GSS.useKeyTab=

# The location of the keytab. Must be an absolute path,
# e.g. /home/username/krb5.keytab
# No default
#sasl.GSS.keyTab=


##########################################################################

############################### amavisd-new ##############################
# NOTE: These settings are NOT reconfigurable while the server is running
# Activate amavisd-new support
# A facility that allows submitting incoming mail to amavisd-new, which can
# be configured to scan for viruses and optionally spam (via spamAssassin).
# The setup is based on the principles of a dual-MTA scenario.
# See http://www.ijs.si/software/amavisd/README.sendmail-dual.txt
# Semantics from the above URL will be used throughout this section.
# Default: false
#activate.amavisd=

# The Transmiting MTA's smtp directory. Has to be defined explicitly and
# MUST NOT be the same as the Receiving MTA's smtp directory. If these
# restrictions are violated amavisd support will not be activated.
# No default
#amavisd.incoming.directory=

# The internal/loopback address space or domain name amavisd has been
# configured to listen on for the Receiving-MTA's forwarded messages.
# No default
#amavisd.listen.address=

# The port amavisd is using to listen for incoming connections from JES.
# Default: 10024
#amavisd.smtpport=

# The port JES uses to receive the amavisd filtered messages.
# Default: 10025
#amavisd.filtered.smtpport=

##########################################################################

##########################################################################
# The following settings are meant to correct java wrapper's behaviour.
# Define these so as to reflect the settings responding to your current
# system configuration.

# Define the system locale language
locale.language=en

# Define the system locale country
locale.country=US

# Define the system file encoding
file.encoding=UTF-8

# Define the system operating system
os.name=Linux

##########################################################################

Reply all
Reply to author
Forward
0 new messages