create a new 1.4 branch

This commit is contained in:
Ralf Becker 2007-04-15 16:29:13 +00:00
parent 5d61c28498
commit bb84a6844a
67 changed files with 10234 additions and 0 deletions

46
emailadmin/Changelog Normal file
View File

@ -0,0 +1,46 @@
2007-01-05 Lars Kneschke <lkneschke@metaways.de>
* improved parsing of content-type response
2007-01-03 Lars Kneschke <lkneschke@metaways.de>
* enabled renaming of dbmail accounts
* made SSL/TLS settings working again
2006-12-31 Lars Kneschke <lkneschke@metaways.de>
* major rewrite of the imap backend. the imap backend is not handled
by the php extension php-imap anymore, but the PEAR class Net_IMAP.
* improved handling of namespaces
* improved performance of most imap operations
* improved folderhandling
* make emailadmin dependent on egw-pear
20061010 lkneschke@metaways.de
- added support for dbmailuser schema
20060416 RalfBecker-AT-outdoor-training.de:
- added plesk plugin to create mail accounts and manage passwords, aliases
forwards and quota on a plesk system (tested with plesk7.5 Linux)
20051128
- added function to retrieve users profile based on applicationname and
groupmembership. No need to select profile as admin anymore.
20051120
- fixed opening "edit profile" dialog in new window
- fixed handling of groups in "edit profile" dialog
20051123
- polished gui a little bit. the gui looks much better now. at least i hope so :-)
- added option to define global used smtp auth options
- made multiple profiles useable. you can now assign profiles depending on
application name and group membership.
20051013
- Postfix LDAP users can now update there email forwardingaddress
themself(if enabled)

View File

@ -0,0 +1,71 @@
#
# dbmail-ldap v3 directory schema
#
# Based on the Qmail schema
# Modified for dbmail by Paul Stevens <paul@nfg.nl>
# Modified for dbmail by Lars Kneschke <lkneschke@metaways.de> too
#
# This schema depends on:
# - core.schema
# - cosine.schema
# - nis.schema
#
# This schema conflicts with
# - qmailuser.schema
# Attribute Type Definitions
attributetype ( 1.3.6.1.4.1.12340.6.2.1.1 NAME 'mailQuota'
DESC 'The amount of space the user can use until all further messages get bounced.'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.44
SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.12340.6.2.1.2 NAME 'mailForwardingAddress'
DESC 'Address(es) to forward all incoming messages to.'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
attributetype ( 1.3.6.1.4.1.12340.6.2.1.3 NAME 'mailHost'
DESC 'Name or address of the MTA host to use for recipient'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
attributetype ( 1.3.6.1.4.1.12340.6.2.1.4 NAME 'dbmailUID'
DESC 'UID of the user on the mailsystem'
EQUALITY caseIgnoreIA5Match
SUBSTR caseIgnoreIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.12340.6.2.1.5 NAME 'dbmailGID'
DESC 'GID of the user on the mailsystem'
EQUALITY caseIgnoreIA5Match
SUBSTR caseIgnoreIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.12340.6.2.1.6 NAME 'mailAlternateAddress'
DESC 'Secondary (alias) mailaddresses for the same user'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
attributetype ( 1.3.6.1.4.1.12340.6.2.1.7 NAME 'deliveryMode'
DESC 'multi field entries of: normal, forwardonly'
EQUALITY caseIgnoreMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.44 SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.12340.6.2.1.8 NAME 'accountStatus'
DESC 'The status of a user account: active, disabled'
EQUALITY caseIgnoreMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.44 SINGLE-VALUE )
# Object Class Definitions
objectclass ( 1.3.6.1.4.1.12340.6.2.2.1 NAME 'dbmailUser'
DESC 'DBMail-LDAP User' SUP top AUXILIARY
MUST ( uid $ mail )
MAY ( userPassword $ uidNumber $ gidNumber $ mailQuota $ mailForwardingAddress $ mailHost $ mailAlternateAddress $ dbmailUID $ dbmailGID $ deliveryMode $ accountStatus ) )
objectclass ( 1.3.6.1.4.1.12340.6.2.2.2 NAME 'dbmailForwardingAddress'
DESC 'DBMail-LDAP Forwarding Address' SUP top AUXILIARY
MUST ( mail $ mailForwardingAddress ) )

754
emailadmin/doc/main.cf Normal file
View File

@ -0,0 +1,754 @@
# Global Postfix configuration file. This file lists only a subset
# of all 300+ parameters. See the sample-xxx.cf files for a full list.
#
# The general format is lines with parameter = value pairs. Lines
# that begin with whitespace continue the previous line. A value can
# contain references to other $names or ${name}s.
#
# NOTE - CHANGE NO MORE THAN 2-3 PARAMETERS AT A TIME, AND TEST IF
# POSTFIX STILL WORKS AFTER EVERY CHANGE.
# SOFT BOUNCE
#
# The soft_bounce parameter provides a limited safety net for
# testing. When soft_bounce is enabled, mail will remain queued that
# would otherwise bounce. This parameter disables locally-generated
# bounces, and prevents the SMTP server from rejecting mail permanently
# (by changing 5xx replies into 4xx replies). However, soft_bounce
# is no cure for address rewriting mistakes or mail routing mistakes.
#
#soft_bounce = no
# LOCAL PATHNAME INFORMATION
#
# The queue_directory specifies the location of the Postfix queue.
# This is also the root directory of Postfix daemons that run chrooted.
# See the files in examples/chroot-setup for setting up Postfix chroot
# environments on different UNIX systems.
#
queue_directory = /var/spool/postfix
# The command_directory parameter specifies the location of all
# postXXX commands.
#
command_directory = /usr/sbin
# The daemon_directory parameter specifies the location of all Postfix
# daemon programs (i.e. programs listed in the master.cf file). This
# directory must be owned by root.
#
daemon_directory = /usr/lib/postfix
# QUEUE AND PROCESS OWNERSHIP
#
# The mail_owner parameter specifies the owner of the Postfix queue
# and of most Postfix daemon processes. Specify the name of a user
# account THAT DOES NOT SHARE ITS USER OR GROUP ID WITH OTHER ACCOUNTS
# AND THAT OWNS NO OTHER FILES OR PROCESSES ON THE SYSTEM. In
# particular, don't specify nobody or daemon. PLEASE USE A DEDICATED
# USER.
#
mail_owner = postfix
# The default_privs parameter specifies the default rights used by
# the local delivery agent for delivery to external file or command.
# These rights are used in the absence of a recipient user context.
# DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER.
#
#default_privs = nobody
# INTERNET HOST AND DOMAIN NAMES
#
# The myhostname parameter specifies the internet hostname of this
# mail system. The default is to use the fully-qualified domain name
# from gethostname(). $myhostname is used as a default value for many
# other configuration parameters.
#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
# The mydomain parameter specifies the local internet domain name.
# The default is to use $myhostname minus the first component.
# $mydomain is used as a default value for many other configuration
# parameters.
#
#mydomain = domain.tld
# SENDING MAIL
#
# The myorigin parameter specifies the domain that locally-posted
# mail appears to come from. The default is to append $myhostname,
# which is fine for small sites. If you run a domain with multiple
# machines, you should (1) change this to $mydomain and (2) set up
# a domain-wide alias database that aliases each user to
# user@that.users.mailhost.
#
# For the sake of consistency between sender and recipient addresses,
# myorigin also specifies the default domain name that is appended
# to recipient addresses that have no @domain part.
#
#myorigin = $myhostname
#myorigin = $mydomain
# RECEIVING MAIL
# The inet_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on. By default,
# the software claims all active interfaces on the machine. The
# parameter also controls delivery of mail to user@[ip.address].
#
# See also the proxy_interfaces parameter, for network addresses that
# are forwarded to us via a proxy or network address translator.
#
# Note: you need to stop/start Postfix when this parameter changes.
#
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
# The proxy_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on by way of a
# proxy or network address translation unit. This setting extends
# the address list specified with the inet_interfaces parameter.
#
# You must specify your proxy/NAT addresses when your system is a
# backup MX host for other domains, otherwise mail delivery loops
# will happen when the primary MX host is down.
#
#proxy_interfaces =
#proxy_interfaces = 1.2.3.4
# The mydestination parameter specifies the list of domains that this
# machine considers itself the final destination for.
#
# These domains are routed to the delivery agent specified with the
# local_transport parameter setting. By default, that is the UNIX
# compatible delivery agent that lookups all recipients in /etc/passwd
# and /etc/aliases or their equivalent.
#
# The default is $myhostname + localhost.$mydomain. On a mail domain
# gateway, you should also include $mydomain.
#
# Do not specify the names of virtual domains - those domains are
# specified elsewhere (see sample-virtual.cf).
#
# Do not specify the names of domains that this machine is backup MX
# host for. Specify those names via the relay_domains settings for
# the SMTP server, or use permit_mx_backup if you are lazy (see
# sample-smtpd.cf).
#
# The local machine is always the final destination for mail addressed
# to user@[the.net.work.address] of an interface that the mail system
# receives mail on (see the inet_interfaces parameter).
#
# Specify a list of host or domain names, /file/name or type:table
# patterns, separated by commas and/or whitespace. A /file/name
# pattern is replaced by its contents; a type:table is matched when
# a name matches a lookup key (the right-hand side is ignored).
# Continue long lines by starting the next line with whitespace.
#
# DO NOT LIST RELAY DESTINATIONS IN MYDESTINATION.
# SPECIFY RELAY DESTINATIONS IN RELAY_DOMAINS.
#
# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS".
#
#mydestination = $myhostname, localhost.$mydomain
#mydestination = $myhostname, localhost.$mydomain $mydomain
#mydestination = $myhostname, localhost.$mydomain, $mydomain,
# mail.$mydomain, www.$mydomain, ftp.$mydomain
mydestination = $myhostname, localhost.$mydomain $mydomain,
kneschke.de, phpgw.de, egroupware.org, linux-at-work.de, lists.kneschke.de
# REJECTING MAIL FOR UNKNOWN LOCAL USERS
#
# The local_recipient_maps parameter specifies optional lookup tables
# with all names or addresses of users that are local with respect
# to $mydestination and $inet_interfaces.
#
# If this parameter is defined, then the SMTP server will reject
# mail for unknown local users. This parameter is defined by default.
#
# To turn off local recipient checking in the SMTP server, specify
# local_recipient_maps = (i.e. empty).
#
# The default setting assumes that you use the default Postfix local
# delivery agent for local delivery. You need to update the
# local_recipient_maps setting if:
#
# - You define $mydestination domain recipients in files other than
# /etc/passwd, /etc/aliases, or the $virtual_alias_maps files.
# For example, you define $mydestination domain recipients in
# the $virtual_mailbox_maps files.
#
# - You redefine the local delivery agent in master.cf.
#
# - You redefine the "local_transport" setting in main.cf.
#
# - You use the "luser_relay", "mailbox_transport", or "fallback_transport"
# feature of the Postfix local delivery agent (see sample-local.cf).
#
# Details are described in the LOCAL_RECIPIENT_README file.
#
# Beware: if the Postfix SMTP server runs chrooted, you probably have
# to access the passwd file via the proxymap service, in order to
# overcome chroot restrictions. The alternative, having a copy of
# the system passwd file in the chroot jail is just not practical.
#
# The right-hand side of the lookup tables is conveniently ignored.
# In the left-hand side, specify a bare username, an @domain.tld
# wild-card, or specify a user@domain.tld address.
#
#local_recipient_maps = unix:passwd.byname $alias_maps
#local_recipient_maps = proxy:unix:passwd.byname $alias_maps
#local_recipient_maps =
# The unknown_local_recipient_reject_code specifies the SMTP server
# response code when a recipient domain matches $mydestination or
# $inet_interfaces, while $local_recipient_maps is non-empty and the
# recipient address or address local-part is not found.
#
# The default setting is 550 (reject mail) but it is safer to start
# with 450 (try again later) until you are certain that your
# local_recipient_maps settings are OK.
#
unknown_local_recipient_reject_code = 550
#unknown_local_recipient_reject_code = 450
# TRUST AND RELAY CONTROL
# The mynetworks parameter specifies the list of "trusted" SMTP
# clients that have more privileges than "strangers".
#
# In particular, "trusted" SMTP clients are allowed to relay mail
# through Postfix. See the smtpd_recipient_restrictions parameter
# in file sample-smtpd.cf.
#
# You can specify the list of "trusted" network addresses by hand
# or you can let Postfix do it for you (which is the default).
#
# By default (mynetworks_style = subnet), Postfix "trusts" SMTP
# clients in the same IP subnetworks as the local machine.
# On Linux, this does works correctly only with interfaces specified
# with the "ifconfig" command.
#
# Specify "mynetworks_style = class" when Postfix should "trust" SMTP
# clients in the same IP class A/B/C networks as the local machine.
# Don't do this with a dialup site - it would cause Postfix to "trust"
# your entire provider's network. Instead, specify an explicit
# mynetworks list by hand, as described below.
#
# Specify "mynetworks_style = host" when Postfix should "trust"
# only the local machine.
#
#mynetworks_style = class
#mynetworks_style = subnet
#mynetworks_style = host
# Alternatively, you can specify the mynetworks list by hand, in
# which case Postfix ignores the mynetworks_style setting.
#
# Specify an explicit list of network/netmask patterns, where the
# mask specifies the number of bits in the network part of a host
# address.
#
# You can also specify the absolute pathname of a pattern file instead
# of listing the patterns here. Specify type:table for table-based lookups
# (the value on the table right-hand side is not used).
#
#mynetworks = 168.100.189.0/28, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
# The relay_domains parameter restricts what destinations this system will
# relay mail to. See the smtpd_recipient_restrictions restriction in the
# file sample-smtpd.cf for detailed information.
#
# By default, Postfix relays mail
# - from "trusted" clients (IP address matches $mynetworks) to any destination,
# - from "untrusted" clients to destinations that match $relay_domains or
# subdomains thereof, except addresses with sender-specified routing.
# The default relay_domains value is $mydestination.
#
# In addition to the above, the Postfix SMTP server by default accepts mail
# that Postfix is final destination for:
# - destinations that match $inet_interfaces,
# - destinations that match $mydestination
# - destinations that match $virtual_alias_domains,
# - destinations that match $virtual_mailbox_domains.
# These destinations do not need to be listed in $relay_domains.
#
# Specify a list of hosts or domains, /file/name patterns or type:name
# lookup tables, separated by commas and/or whitespace. Continue
# long lines by starting the next line with whitespace. A file name
# is replaced by its contents; a type:name table is matched when a
# (parent) domain appears as lookup key.
#
# NOTE: Postfix will not automatically forward mail for domains that
# list this system as their primary or backup MX host. See the
# permit_mx_backup restriction in the file sample-smtpd.cf.
#
#relay_domains = $mydestination
# INTERNET OR INTRANET
# The relayhost parameter specifies the default host to send mail to
# when no entry is matched in the optional transport(5) table. When
# no relayhost is given, mail is routed directly to the destination.
#
# On an intranet, specify the organizational domain name. If your
# internal DNS uses no MX records, specify the name of the intranet
# gateway host instead.
#
# In the case of SMTP, specify a domain, host, host:port, [host]:port,
# [address] or [address]:port; the form [host] turns off MX lookups.
#
# If you're connected via UUCP, see also the default_transport parameter.
#
#relayhost = $mydomain
#relayhost = gateway.my.domain
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
# REJECTING UNKNOWN RELAY USERS
#
# The relay_recipient_maps parameter specifies optional lookup tables
# with all addresses in the domains that match $relay_domains.
#
# If this parameter is defined, then the SMTP server will reject
# mail for unknown relay users. This feature is off by default.
#
# The right-hand side of the lookup tables is conveniently ignored.
# In the left-hand side, specify an @domain.tld wild-card, or specify
# a user@domain.tld address.
#
#relay_recipient_maps = hash:/etc/postfix/relay_recipients
# INPUT RATE CONTROL
#
# The in_flow_delay configuration parameter implements mail input
# flow control. This feature is turned on by default, although it
# still needs further development (it's disabled on SCO UNIX due
# to an SCO bug).
#
# A Postfix process will pause for $in_flow_delay seconds before
# accepting a new message, when the message arrival rate exceeds the
# message delivery rate. With the default 100 SMTP server process
# limit, this limits the mail inflow to 100 messages a second more
# than the number of messages delivered per second.
#
# Specify 0 to disable the feature. Valid delays are 0..10.
#
#in_flow_delay = 1s
# ADDRESS REWRITING
#
# Insert text from sample-rewrite.cf if you need to do address
# masquerading.
#
# Insert text from sample-canonical.cf if you need to do address
# rewriting, or if you need username->Firstname.Lastname mapping.
# ADDRESS REDIRECTION (VIRTUAL DOMAIN)
#
# Insert text from sample-virtual.cf if you need virtual domain support.
# "USER HAS MOVED" BOUNCE MESSAGES
#
# Insert text from sample-relocated.cf if you need "user has moved"
# style bounce messages. Alternatively, you can bounce recipients
# with an SMTP server access table. See sample-smtpd.cf.
# TRANSPORT MAP
#
# Insert text from sample-transport.cf if you need explicit routing.
# ALIAS DATABASE
#
# The alias_maps parameter specifies the list of alias databases used
# by the local delivery agent. The default list is system dependent.
#
# On systems with NIS, the default is to search the local alias
# database, then the NIS alias database. See aliases(5) for syntax
# details.
#
# If you change the alias database, run "postalias /etc/aliases" (or
# wherever your system stores the mail alias file), or simply run
# "newaliases" to build the necessary DBM or DB file.
#
# It will take a minute or so before changes become visible. Use
# "postfix reload" to eliminate the delay.
#
#alias_maps = dbm:/etc/aliases
#alias_maps = hash:/etc/aliases
#alias_maps = hash:/etc/aliases, nis:mail.aliases
#alias_maps = netinfo:/aliases
# The alias_database parameter specifies the alias database(s) that
# are built with "newaliases" or "sendmail -bi". This is a separate
# configuration parameter, because alias_maps (see above) may specify
# tables that are not necessarily all under control by Postfix.
#
#alias_database = dbm:/etc/aliases
#alias_database = dbm:/etc/mail/aliases
#alias_database = hash:/etc/aliases
#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases
# ADDRESS EXTENSIONS (e.g., user+foo)
#
# The recipient_delimiter parameter specifies the separator between
# user names and address extensions (user+foo). See canonical(5),
# local(8), relocated(5) and virtual(5) for the effects this has on
# aliases, canonical, virtual, relocated and .forward file lookups.
# Basically, the software tries user+foo and .forward+foo before
# trying user and .forward.
#
#recipient_delimiter = +
# DELIVERY TO MAILBOX
#
# The home_mailbox parameter specifies the optional pathname of a
# mailbox file relative to a user's home directory. The default
# mailbox file is /var/spool/mail/user or /var/mail/user. Specify
# "Maildir/" for qmail-style delivery (the / is required).
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/
# The mail_spool_directory parameter specifies the directory where
# UNIX-style mailboxes are kept. The default setting depends on the
# system type.
#
#mail_spool_directory = /var/mail
#mail_spool_directory = /var/spool/mail
# The mailbox_command parameter specifies the optional external
# command to use instead of mailbox delivery. The command is run as
# the recipient with proper HOME, SHELL and LOGNAME environment settings.
# Exception: delivery for root is done as $default_user.
#
# Other environment variables of interest: USER (recipient username),
# EXTENSION (address extension), DOMAIN (domain part of address),
# and LOCAL (the address localpart).
#
# Unlike other Postfix configuration parameters, the mailbox_command
# parameter is not subjected to $parameter substitutions. This is to
# make it easier to specify shell syntax (see example below).
#
# Avoid shell meta characters because they will force Postfix to run
# an expensive shell process. Procmail alone is expensive enough.
#
# IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN
# ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER.
#
#mailbox_command = /some/where/procmail
#mailbox_command = /some/where/procmail -a "$EXTENSION"
# The mailbox_transport specifies the optional transport in master.cf
# to use after processing aliases and .forward files. This parameter
# has precedence over the mailbox_command, fallback_transport and
# luser_relay parameters.
#
# Specify a string of the form transport:nexthop, where transport is
# the name of a mail delivery transport defined in master.cf. The
# :nexthop part is optional. For more details see the sample transport
# configuration file.
#
# NOTE: if you use this feature for accounts not in the UNIX password
# file, then you must update the "local_recipient_maps" setting in
# the main.cf file, otherwise the SMTP server will reject mail for
# non-UNIX accounts with "User unknown in local recipient table".
#
#mailbox_transport = lmtp:unix:/file/name
mailbox_transport = lmtp:unix:/var/imap/socket/lmtp
#mailbox_transport = cyrus
# The fallback_transport specifies the optional transport in master.cf
# to use for recipients that are not found in the UNIX passwd database.
# This parameter has precedence over the luser_relay parameter.
#
# Specify a string of the form transport:nexthop, where transport is
# the name of a mail delivery transport defined in master.cf. The
# :nexthop part is optional. For more details see the sample transport
# configuration file.
#
# NOTE: if you use this feature for accounts not in the UNIX password
# file, then you must update the "local_recipient_maps" setting in
# the main.cf file, otherwise the SMTP server will reject mail for
# non-UNIX accounts with "User unknown in local recipient table".
#
#fallback_transport = lmtp:unix:/file/name
#fallback_transport = cyrus
#fallback_transport =
# The luser_relay parameter specifies an optional destination address
# for unknown recipients. By default, mail for unknown@$mydestination
# and unknown@[$inet_interfaces] is returned as undeliverable.
#
# The following expansions are done on luser_relay: $user (recipient
# username), $shell (recipient shell), $home (recipient home directory),
# $recipient (full recipient address), $extension (recipient address
# extension), $domain (recipient domain), $local (entire recipient
# localpart), $recipient_delimiter. Specify ${name?value} or
# ${name:value} to expand value only when $name does (does not) exist.
#
# luser_relay works only for the default Postfix local delivery agent.
#
# NOTE: if you use this feature for accounts not in the UNIX password
# file, then you must specify "local_recipient_maps =" (i.e. empty) in
# the main.cf file, otherwise the SMTP server will reject mail for
# non-UNIX accounts with "User unknown in local recipient table".
#
#luser_relay = $user@other.host
#luser_relay = $local@other.host
#luser_relay = admin+$local
# JUNK MAIL CONTROLS
#
# The controls listed here are only a very small subset. See the file
# sample-smtpd.cf for an elaborate list of anti-UCE controls.
# The header_checks parameter specifies an optional table with patterns
# that each logical message header is matched against, including
# headers that span multiple physical lines.
#
# By default, these patterns also apply to MIME headers and to the
# headers of attached messages. With older Postfix versions, MIME and
# attached message headers were treated as body text.
#
# For details, see the sample-filter.cf file.
#
#header_checks = regexp:/etc/postfix/header_checks
# FAST ETRN SERVICE
#
# Postfix maintains per-destination logfiles with information about
# deferred mail, so that mail can be flushed quickly with the SMTP
# "ETRN domain.tld" command, or by executing "sendmail -qRdomain.tld".
#
# By default, Postfix maintains deferred mail logfile information
# only for destinations that Postfix is willing to relay to (as
# specified in the relay_domains parameter). For other destinations,
# Postfix attempts to deliver ALL queued mail after receiving the
# SMTP "ETRN domain.tld" command, or after execution of "sendmail
# -qRdomain.tld". This can be slow when a lot of mail is queued.
#
# The fast_flush_domains parameter controls what destinations are
# eligible for this "fast ETRN/sendmail -qR" service.
#
#fast_flush_domains = $relay_domains
#fast_flush_domains =
# The disable_vrfy_command parameter allows you to disable the SMTP
# VRFY command. This stops some techniques used by spammers to harvest
# email addresses.
#
disable_vrfy_command = yes
# SHOW SOFTWARE VERSION OR NOT
#
# The smtpd_banner parameter specifies the text that follows the 220
# code in the SMTP server's greeting banner. Some people like to see
# the mail version advertised. By default, Postfix shows no version.
#
# You MUST specify $myhostname at the start of the text. That is an
# RFC requirement. Postfix itself does not care.
#
#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
# PARALLEL DELIVERY TO THE SAME DESTINATION
#
# How many parallel deliveries to the same user or domain? With local
# delivery, it does not make sense to do massively parallel delivery
# to the same user, because mailbox updates must happen sequentially,
# and expensive pipelines in .forward files can cause disasters when
# too many are run at the same time. With SMTP deliveries, 10
# simultaneous connections to the same domain could be sufficient to
# raise eyebrows.
#
# Each message delivery transport has its XXX_destination_concurrency_limit
# parameter. The default is $default_destination_concurrency_limit for
# most delivery transports. For the local delivery agent the default is 2.
#local_destination_concurrency_limit = 2
#default_destination_concurrency_limit = 20
# DEBUGGING CONTROL
#
# The debug_peer_level parameter specifies the increment in verbose
# logging level when an SMTP client or server host name or address
# matches a pattern in the debug_peer_list parameter.
#
debug_peer_level = 2
# The debug_peer_list parameter specifies an optional list of domain
# or network patterns, /file/name patterns or type:name tables. When
# an SMTP client or server host name or address matches a pattern,
# increase the verbose logging level by the amount specified in the
# debug_peer_level parameter.
#
#debug_peer_list = 127.0.0.1
#debug_peer_list = some.domain
# The debugger_command specifies the external command that is executed
# when a Postfix daemon program is run with the -D option.
#
# Use "command .. & sleep 5" so that the debugger can attach before
# the process marches on. If you use an X-based debugger, be sure to
# set up your XAUTHORITY environment variable before starting Postfix.
#
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
# If you don't have X installed on the Postfix machine, try:
# debugger_command =
# PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont;
# echo where) | gdb $daemon_directory/$process_name $process_id 2>&1
# >$config_directory/$process_name.$process_id.log & sleep 5
# INSTALL-TIME CONFIGURATION INFORMATION
#
# The following parameters are used when installing a new Postfix version.
#
# sendmail_path: The full pathname of the Postfix sendmail command.
# This is the Sendmail-compatible mail posting interface.
#
sendmail_path = /usr/sbin/sendmail
# newaliases_path: The full pathname of the Postfix newaliases command.
# This is the Sendmail-compatible command to build alias databases.
#
newaliases_path = /usr/bin/newaliases
# mailq_path: The full pathname of the Postfix mailq command. This
# is the Sendmail-compatible mail queue listing command.
#
mailq_path = /usr/bin/mailq
# setgid_group: The group for mail submission and queue management
# commands. This must be a group name with a numerical group ID that
# is not shared with other accounts, not even with the Postfix account.
#
setgid_group = postdrop
# manpage_directory: The location of the Postfix on-line manual pages.
#
manpage_directory = /usr/share/man
# sample_directory: The location of the Postfix sample configuration files.
#
sample_directory = /usr/share/doc/postfix-2.0.19/sample
# readme_directory: The location of the Postfix README files.
#
readme_directory = /usr/share/doc/postfix-2.0.19/readme
default_destination_concurrency_limit = 2
#alias_database = hash:/etc/mail/aliases
local_destination_concurrency_limit = 2
alias_maps = hash:/etc/mail/aliases
content_filter = smtp-amavis:[127.0.0.1]:10024
queue_minfree = 100000000
message_size_limit = 50000000
mailbox_size_limit = 500000000
smtpd_helo_required=yes
smtpd_helo_restrictions=permit_mynetworks, reject_invalid_hostname, reject_invalid_hostname
smtpd_sender_restrictions=permit_mynetworks, reject_unknown_sender_domain, reject_non_fqdn_sender
virtual_maps = ldap:aliases, ldap:mailboxes
aliases_server_host = 127.0.0.1
aliases_search_base = dc=domain,dc=loc
aliases_query_filter = (&(|(mail=%s)(mailalternateaddress=%s))(objectclass=posixaccount)(deliveryMode=forwardonly)(accountstatus=active))
aliases_bind_dn = cn=thepostfixadmin,dc=domain,dc=loc
aliases_bind_pw = thepassword
aliases_result_attribute = mailforwardingaddress
aliases_version = 3
mailboxes_server_host = 127.0.0.1
mailboxes_search_base = dc=domain,dc=loc
mailboxes_query_filter = (&(|(mail=%s)(mailalternateaddress=%s))(objectclass=posixaccount)(accountstatus=active))
mailboxes_bind_dn = cn=thepostfixadmin,dc=domain,dc=loc
mailboxes_bind_pw = thepassword
mailboxes_result_attribute = uid, mailforwardingaddress
mailboxes_version = 3
#SMTPD mit SASL-Authentification verwenden
smtpd_sasl_auth_enable = yes
#Zusatz-Optionen: Keine anonyme-Anmeldung verwenden
smtpd_sasl_security_options = noanonymous
#Wieder ein Workaround für ältere Clients und Outlook
broken_sasl_auth_clients = yes
# ODER meine Netze und SASL erlauben
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_rbl_client relays.ordb.org,
reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client opm.blitzed.org,
reject_rbl_client dnsbl.njabl.org,
reject_rbl_client blackholes.wirehub.net,
reject_rbl_client list.dsbl.org,
reject_rbl_client dnsbl.sorbs.net,
reject_unauth_destination,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unauth_pipelining,
reject_unknown_sender_domain,
reject_unknown_recipient_domain
# reject_unknown_client
# reject_rbl_client proxies.relays.monkeys.com,
# incoming SSL
smtpd_use_tls = yes
#smtpd_tls_auth_only = yes
smtpd_tls_key_file = /etc/ssl/private/smtp.linux-at-work.de/smtp.linux-at-work.de.key
smtpd_tls_cert_file = /etc/ssl/private/smtp.linux-at-work.de/smtp.linux-at-work.de.crt
smtpd_tls_CAfile = /etc/ssl/certs/ca-cert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
#outgoing SSL
smtp_tls_key_file = /etc/ssl/private/smtp.linux-at-work.de/smtp.linux-at-work.de.key
smtp_tls_cert_file = /etc/ssl/private/smtp.linux-at-work.de/smtp.linux-at-work.de.crt
smtp_tls_CAfile = /etc/ssl/certs/ca-cert.pem
smtp_tls_CApath = /etc/ssl/certs
smtp_tls_loglevel = 2
# The server and client negotiate a session, which takes some computer time
# and network bandwidth. The session is cached only in the smtpd process
# actually using this session and is lost when the process dies.
# To share the session information between the smtp processes, a disc based
# session cache can be used based on the SDBM databases (routines included
# in Postfix/TLS). Since concurrent writing must be supported, only SDBM
# can be used.
#
smtp_tls_session_cache_database = sdbm:/etc/postfix/smtp_scache
# By default TLS is disabled, so no difference to plain postfix is visible.
# If you enable TLS it will be used when offered by the server.
# WARNING: I didn't have access to other software (except those explicitely
# listed) to test the interaction. On corresponding mailing list
# there was a discussion going on about MS exchange servers offering
# STARTTLS even if it is not configured, so it might be wise to not
# use this option on your central mail hub, as you don't know in advance
# whether you are going to hit such host. Use the recipient/site specific
# options instead.
# HINT: I have it switched on on my mailservers and did experience one
# single failure since client side TLS is implemented. (There was one
# misconfired MS Exchange server; I contacted ths admin.) Hence, I am happy
# with it running all the time, but I am interested in testing anyway.
# You have been warned, however :-)
#
# In case of failure, a "4xx" code is issued and the mail stays in the queue.
#
# Explicitely switch it on here, if you want it.
#
#smtp_use_tls = yes

View File

@ -0,0 +1,103 @@
#
# qmail-ldap v3 directory schema
#
# The offical qmail-ldap OID assigned by IANA is 7914
#
# Created by: David E. Storey <dave@tamos.net>
#
# Modified and included into qmail-ldap by Andre Oppermann <opi@nrg4u.com>
#
# Schema fixes by Mike Jackson <mjj@pp.fi>
#
#
# This schema depends on:
# - core.schema
# - cosine.schema
# - nis.schema
#
#
# Example from new format
#
# attributetype ( 1.3.6.1.1.1.1.0 NAME 'uidNumber'
# DESC 'An integer uniquely identifying a user in an administrative domain'
# EQUALITY integerMatch
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
# Attribute Type Definitions
attributetype ( 1.3.6.1.4.1.7914.1.2.1.1 NAME 'qmailUID'
DESC 'UID of the user on the mailsystem'
EQUALITY integerMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.2 NAME 'qmailGID'
DESC 'GID of the user on the mailsystem'
EQUALITY integerMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.3 NAME 'mailMessageStore'
DESC 'Path to the maildir/mbox on the mail system'
EQUALITY caseExactIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.4 NAME 'mailAlternateAddress'
DESC 'Secondary (alias) mailaddresses for the same user'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.5 NAME 'mailQuota'
DESC 'The amount of space the user can use until all further messages get bounced.'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.44 SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.6 NAME 'mailHost'
DESC 'On which qmail server the messagestore of this user is located.'
EQUALITY caseIgnoreIA5Match
SUBSTR caseIgnoreIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} SINGLE-VALUE)
attributetype ( 1.3.6.1.4.1.7914.1.2.1.7 NAME 'mailForwardingAddress'
DESC 'Address(es) to forward all incoming messages to.'
EQUALITY caseIgnoreIA5Match
SUBSTR caseIgnoreIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.8 NAME 'deliveryProgramPath'
DESC 'Program to execute for all incoming mails.'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.44 SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.9 NAME 'qmailDotMode'
DESC 'Interpretation of .qmail files: both, dotonly, ldaponly, ldapwithprog, none'
EQUALITY caseIgnoreMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.44 SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.10 NAME 'deliveryMode'
DESC 'multi field entries of: normal, forwardonly, nombox, localdelivery, reply, echo'
EQUALITY caseIgnoreMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.44 )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.11 NAME 'mailReplyText'
DESC 'A reply text for every incoming message'
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{4096} SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.12 NAME 'accountStatus'
DESC 'The status of a user account: active, nopop, disabled, deleted'
EQUALITY caseIgnoreMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.44 SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.7914.1.2.1.14 NAME 'qmailAccountPurge'
DESC 'The earliest date when a mailMessageStore will be purged'
EQUALITY numericStringMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.36 SINGLE-VALUE )
# Object Class Definitions
objectclass ( 1.3.6.1.4.1.7914.1.2.2.1 NAME 'qmailUser'
DESC 'QMail-LDAP User' SUP top AUXILIARY
MUST ( mail $ uid )
MAY ( mailMessageStore $ homeDirectory $ userPassword $
mailAlternateAddress $ qmailUID $ qmailGID $ mailQuota $
mailHost $ mailForwardingAddress $ deliveryProgramPath $
qmailDotMode $ deliveryMode $ mailReplyText $
accountStatus $ qmailAccountPurge ) )

View File

@ -0,0 +1,74 @@
<?php
/***************************************************************************\
* eGroupWare - EmailAdmin *
* http://www.linux-at-work.de *
* http://www.egroupware.org *
* Written by : Lars Kneschke [lkneschke@linux-at-work.de] *
* ------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License version 2 as published *
* by the Free Software Foundation. *
\***************************************************************************/
/* $Id$ */
class ajaxemailadmin
{
function ajaxemailadmin()
{
$this->bo =& CreateObject('emailadmin.bo');
/* $this->bofelamimail =& CreateObject('felamimail.bofelamimail',$GLOBALS['egw']->translation->charset());
$this->uiwidgets =& CreateObject('felamimail.uiwidgets');
$this->bofelamimail->openConnection();
$this->sessionDataAjax = $GLOBALS['egw']->session->appsession('ajax_session_data');
$this->sessionData = $GLOBALS['egw']->session->appsession('session_data');
if(!isset($this->sessionDataAjax['folderName']))
$this->sessionDataAjax['folderName'] = 'INBOX';
$this->bofelamimail->openConnection($this->sessionDataAjax['folderName']);*/
}
function setOrder($_order)
{
$i = 0;
$order = explode(',',$_order);
foreach($order as $profileIDString)
{
// remove profile_ and just use the number
$profileID = (int)substr($profileIDString,8);
if($profileID > 0)
$newOrder[$i++] = $profileID;
}
$this->bo->setOrder($newOrder);
}
function addACL($_accountName, $_aclData)
{
if(!empty($_accountName))
{
$acl = implode('',(array)$_aclData['acl']);
$data = $this->bofelamimail->addACL($this->sessionDataAjax['folderName'], $_accountName, $acl);
#$response =& new xajaxResponse();
#$response->addScript("window.close();");
#$response->addAssign("accountName", "value", $this->sessionDataAjax['folderName'].'-'.$_accountName.'-'.$acl);
#return $response->getXML();
}
}
function updateACLView()
{
$folderACL = $this->bofelamimail->getIMAPACL($this->sessionDataAjax['folderName']);
$response =& new xajaxResponse();
$response->addAssign("aclTable", "innerHTML", $this->createACLTable($folderACL));
return $response->getXML();
}
}
?>

View File

@ -0,0 +1,730 @@
<?php
/***************************************************************************\
* eGroupWare *
* http://www.egroupware.org *
* http://www.linux-at-work.de *
* Written by : Lars Kneschke [lkneschke@linux-at-work.de] *
* ------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\***************************************************************************/
/* $Id$ */
class bo
{
var $sessionData;
var $LDAPData;
var $SMTPServerType = array(); // holds a list of config options
var $IMAPServerType = array(); // holds a list of config options
var $imapClass; // holds the imap/pop3 class
var $smtpClass; // holds the smtp class
function bo($_profileID=-1,$_restoreSesssion=true)
{
$this->soemailadmin =& CreateObject('emailadmin.so');
$this->SMTPServerType = array(
'1' => array(
'fieldNames' => array(
'smtpServer',
'smtpPort',
'smtpAuth',
'ea_smtp_auth_username',
'ea_smtp_auth_password',
'smtpType'
),
'description' => lang('standard SMTP-Server'),
'classname' => 'defaultsmtp'
),
'2' => array(
'fieldNames' => array(
'smtpServer',
'smtpPort',
'smtpAuth',
'ea_smtp_auth_username',
'ea_smtp_auth_password',
'smtpType',
'editforwardingaddress',
'smtpLDAPServer',
'smtpLDAPAdminDN',
'smtpLDAPAdminPW',
'smtpLDAPBaseDN',
'smtpLDAPUseDefault'
),
'description' => 'Postfix (qmail Schema)',
'classname' => 'postfixldap'
),
'3' => array(
'fieldNames' => array(
'smtpServer',
'smtpPort',
'smtpAuth',
'ea_smtp_auth_username',
'ea_smtp_auth_password',
'smtpType',
),
'description' => 'Postfix (inetOrgPerson Schema)',
'classname' => 'postfixinetorgperson'
),
'4' => array(
'fieldNames' => array(
'smtpServer',
'smtpPort',
'smtpAuth',
'ea_smtp_auth_username',
'ea_smtp_auth_password',
'smtpType',
'editforwardingaddress',
),
'description' => 'Plesk SMTP-Server (Qmail)',
'classname' => 'smtpplesk'
),
'5' => array(
'fieldNames' => array(
'smtpServer',
'smtpPort',
'smtpAuth',
'ea_smtp_auth_username',
'ea_smtp_auth_password',
'smtpType',
'editforwardingaddress',
'smtpLDAPServer',
'smtpLDAPAdminDN',
'smtpLDAPAdminPW',
'smtpLDAPBaseDN',
'smtpLDAPUseDefault'
),
'description' => 'Postfix (dbmail Schema)',
'classname' => 'postfixdbmailuser'
),
);
$this->IMAPServerType = array(
'1' => array(
'fieldNames' => array(
'imapServer',
'imapPort',
'imapType',
'imapLoginType',
'imapTLSEncryption',
'imapTLSAuthentication',
'imapoldcclient'
),
'description' => 'standard POP3 server',
'protocol' => 'pop3',
'classname' => 'defaultpop'
),
'2' => array(
'fieldNames' => array(
'imapServer',
'imapPort',
'imapType',
'imapLoginType',
'imapTLSEncryption',
'imapTLSAuthentication',
'imapoldcclient'
),
'description' => 'standard IMAP server',
'protocol' => 'imap',
'classname' => 'defaultimap'
),
'3' => array(
'fieldNames' => array(
'imapServer',
'imapPort',
'imapType',
'imapLoginType',
'imapTLSEncryption',
'imapTLSAuthentication',
'imapoldcclient',
'imapEnableCyrusAdmin',
'imapAdminUsername',
'imapAdminPW',
'imapEnableSieve',
'imapSieveServer',
'imapSievePort'
),
'description' => 'Cyrus IMAP Server',
'protocol' => 'imap',
'classname' => 'cyrusimap'
),
'4' => array(
'fieldNames' => array(
'imapServer',
'imapPort',
'imapType',
'imapLoginType',
'imapTLSEncryption',
'imapTLSAuthentication',
'imapoldcclient',
'imapEnableSieve',
'imapSieveServer',
'imapSievePort'
),
'description' => 'DBMail (qmailUser schema)',
'protocol' => 'imap',
'classname' => 'dbmailqmailuser'
),
'5' => array(
'fieldNames' => array(
'imapServer',
'imapPort',
'imapType',
'imapLoginType',
'imapTLSEncryption',
'imapTLSAuthentication',
'imapoldcclient',
),
'description' => 'Plesk IMAP Server (Courier)',
'protocol' => 'imap',
'classname' => 'pleskimap'
),
'6' => array(
'fieldNames' => array(
'imapServer',
'imapPort',
'imapType',
'imapLoginType',
'imapTLSEncryption',
'imapTLSAuthentication',
'imapoldcclient',
'imapEnableSieve',
'imapSieveServer',
'imapSievePort'
),
'description' => 'DBMail (dbmailUser schema)',
'protocol' => 'imap',
'classname' => 'dbmaildbmailuser'
),
);
if ($_restoreSesssion) $this->restoreSessionData();
if($_profileID >= 0)
{
$this->profileID = $_profileID;
$this->profileData = $this->getProfile($_profileID);
$this->imapClass =& CreateObject('emailadmin.'.$this->IMAPServerType[$this->profileData['imapType']]['classname']);
$this->smtpClass =& CreateObject('emailadmin.'.$this->SMTPServerType[$this->profileData['smtpType']]['classname']);
}
}
function addAccount($_hookValues)
{
if (is_object($this->imapClass))
{
#ExecMethod("emailadmin.".$this->imapClass.".addAccount",$_hookValues,3,$this->profileData);
$this->imapClass->addAccount($_hookValues);
}
if (is_object($this->smtpClass))
{
#ExecMethod("emailadmin.".$this->smtpClass.".addAccount",$_hookValues,3,$this->profileData);
$this->smtpClass->addAccount($_hookValues);
}
}
function deleteAccount($_hookValues)
{
if (is_object($this->imapClass))
{
#ExecMethod("emailadmin.".$this->imapClass.".deleteAccount",$_hookValues,3,$this->profileData);
$this->imapClass->deleteAccount($_hookValues);
}
if (is_object($this->smtpClass))
{
#ExecMethod("emailadmin.".$this->smtpClass.".deleteAccount",$_hookValues,3,$this->profileData);
$this->smtpClass->deleteAccount($_hookValues);
}
}
function deleteProfile($_profileID)
{
$this->soemailadmin->deleteProfile($_profileID);
}
function encodeHeader($_string, $_encoding='q')
{
switch($_encoding)
{
case "q":
if(!preg_match("/[\x80-\xFF]/",$_string))
{
// nothing to quote, only 7 bit ascii
return $_string;
}
$string = imap_8bit($_string);
$stringParts = explode("=\r\n",$string);
while(list($key,$value) = each($stringParts))
{
if(!empty($retString)) $retString .= " ";
$value = str_replace(" ","_",$value);
// imap_8bit does not convert "?"
// it does not need, but it should
$value = str_replace("?","=3F",$value);
$retString .= "=?".strtoupper($this->displayCharset)."?Q?" . $value. "?=";
}
#exit;
return $retString;
break;
default:
return $_string;
}
}
function getAccountEmailAddress($_accountName, $_profileID)
{
$profileData = $this->getProfile($_profileID);
#$smtpClass = $this->SMTPServerType[$profileData['smtpType']]['classname'];
$smtpClass =& CreateObject('emailadmin.'.$this->SMTPServerType[$profileData['smtpType']]['classname']);
#return empty($smtpClass) ? False : ExecMethod("emailadmin.$smtpClass.getAccountEmailAddress",$_accountName,3,$profileData);
return is_object($smtpClass) ? $smtpClass->getAccountEmailAddress($_accountName) : False;
}
function getFieldNames($_serverTypeID, $_class)
{
switch($_class)
{
case 'imap':
return $this->IMAPServerType[$_serverTypeID]['fieldNames'];
break;
case 'smtp':
return $this->SMTPServerType[$_serverTypeID]['fieldNames'];
break;
}
}
# function getIMAPClass($_profileID)
# {
# if(!is_object($this->imapClass))
# {
# $profileData = $this->getProfile($_profileID);
# $this->imapClass =& CreateObject('emailadmin.cyrusimap',$profileData);
# }
#
# return $this->imapClass;
# }
function getIMAPServerTypes() {
foreach($this->IMAPServerType as $key => $value) {
$retData[$key]['description'] = $value['description'];
$retData[$key]['protocol'] = $value['protocol'];
}
return $retData;
}
function getLDAPStorageData($_serverid)
{
$storageData = $this->soemailadmin->getLDAPStorageData($_serverid);
return $storageData;
}
function getMailboxString($_folderName)
{
if (is_object($this->imapClass))
{
return ExecMethod("emailadmin.".$this->imapClass.".getMailboxString",$_folderName,3,$this->profileData);
return $this->imapClass->getMailboxString($_folderName);
}
else
{
return false;
}
}
function getProfile($_profileID)
{
$profileData = $this->soemailadmin->getProfileList($_profileID);
$found = false;
if (is_array($profileData) && count($profileData))
{
foreach($profileData as $n => $data)
{
if ($data['ProfileID'] == $_profileID)
{
$found = $n;
break;
}
}
}
if ($found === false) // no existing profile selected
{
if (is_array($profileData) && count($profileData)) { // if we have a profile use that
reset($profileData);
list($found,$data) = each($profileData);
$this->profileID = $_profileID = $data['profileID'];
} elseif ($GLOBALS['egw_info']['server']['smtp_server']) { // create a default profile, from the data in the api config
$this->profileID = $_profileID = $this->soemailadmin->addProfile(array(
'description' => $GLOBALS['egw_info']['server']['smtp_server'],
'defaultDomain' => $GLOBALS['egw_info']['server']['mail_suffix'],
'organisationName' => '',
'userDefinedAccounts' => '',
),array(
'smtpServer' => $GLOBALS['egw_info']['server']['smtp_server'],
'smtpPort' => $GLOBALS['egw_info']['server']['smtp_port'],
'smtpAuth' => '',
'smtpType' => '1',
),array(
'imapServer' => $GLOBALS['egw_info']['server']['mail_server'] ?
$GLOBALS['egw_info']['server']['mail_server'] : $GLOBALS['egw_info']['server']['smtp_server'],
'imapPort' => '143',
'imapType' => '2', // imap
'imapLoginType' => $GLOBALS['egw_info']['server']['mail_login_type'] ?
$GLOBALS['egw_info']['server']['mail_login_type'] : 'standard',
'imapTLSEncryption' => '0',
'imapTLSAuthentication' => '',
'imapoldcclient' => '',
));
$profileData[$found = 0] = array(
'smtpType' => '1',
'imapType' => '2',
);
}
}
$fieldNames = array();
if (isset($profileData[$found]))
{
$fieldNames = array_merge($this->SMTPServerType[$profileData[$found]['smtpType']]['fieldNames'],
$this->IMAPServerType[$profileData[$found]['imapType']]['fieldNames']);
}
$fieldNames[] = 'description';
$fieldNames[] = 'defaultDomain';
$fieldNames[] = 'profileID';
$fieldNames[] = 'organisationName';
$fieldNames[] = 'userDefinedAccounts';
$fieldNames[] = 'ea_appname';
$fieldNames[] = 'ea_group';
$profileData = $this->soemailadmin->getProfile($_profileID, $fieldNames);
$profileData['imapTLSEncryption'] = ($profileData['imapTLSEncryption'] == 'yes' ? 1 : (int)$profileData['imapTLSEncryption']);
return $profileData;
}
function getProfileList($_profileID='')
{
return $this->soemailadmin->getProfileList($_profileID);
}
function getSMTPServerTypes()
{
foreach($this->SMTPServerType as $key => $value)
{
$retData[$key] = $value['description'];
}
return $retData;
}
function getUserProfile($_appName='', $_groups='')
{
$appName = ($_appName != '' ? $_appName : $GLOBALS['egw_info']['flags']['currentapp']);
if(!is_array($_groups)) {
// initialize with 0 => means no group id
$groups = array(0);
$userGroups = $GLOBALS['egw']->accounts->membership($GLOBALS['egw_info']['user']['account_id']);
foreach((array)$userGroups as $groupInfo) {
$groups[] = $groupInfo['account_id'];
}
} else {
$groups = $_groups;
}
if($data = $this->soemailadmin->getUserProfile($appName, $groups)) {
$eaPreferences =& CreateObject('emailadmin.ea_preferences');
// fetch the IMAP / incomming server data
$icClass = isset($this->IMAPServerType[$data['imapType']]) ? $this->IMAPServerType[$data['imapType']]['classname'] : 'defaultimap';
$icServer =& CreateObject('emailadmin.'.$icClass);
$icServer->encryption = ($data['imapTLSEncryption'] == 'yes' ? 1 : (int)$data['imapTLSEncryption']);
$icServer->host = $data['imapServer'];
$icServer->port = $data['imapPort'];
$icServer->validatecert = $data['imapTLSAuthentication'] == 'yes';
$icServer->username = $GLOBALS['egw_info']['user']['account_lid'];
$icServer->password = $GLOBALS['egw_info']['user']['passwd'];
$icServer->loginType = $data['imapLoginType'];
$icServer->domainName = $data['defaultDomain'];
$icServer->loginName = $data['imapLoginType'] == 'standard' ? $GLOBALS['egw_info']['user']['account_lid'] : $GLOBALS['egw_info']['user']['account_lid'].'@'.$data['defaultDomain'];
$icServer->enableCyrusAdmin = ($data['imapEnableCyrusAdmin'] == 'yes');
$icServer->adminUsername = $data['imapAdminUsername'];
$icServer->adminPassword = $data['imapAdminPW'];
$icServer->enableSieve = ($data['imapEnableSieve'] == 'yes');
$icServer->sievePort = $data['imapSievePort'];
$eaPreferences->setIncomingServer($icServer);
// fetch the SMTP / outgoing server data
$ogClass = isset($this->SMTPServerType[$data['smtpType']]) ? $this->SMTPServerType[$data['smtpType']]['classname'] : 'defaultsmtp';
$ogServer =& CreateObject('emailadmin.'.$ogClass);
$ogServer->host = $data['smtpServer'];
$ogServer->port = $data['smtpPort'];
$ogServer->editForwardingAddress = ($data['editforwardingaddress'] == 'yes');
$ogServer->smtpAuth = $data['smtpAuth'] == 'yes';
if($ogServer->smtpAuth) {
if(!empty($data['ea_smtp_auth_username'])) {
$ogServer->username = $data['ea_smtp_auth_username'];
$ogServer->password = $data['ea_smtp_auth_password'];
} else {
$ogServer->username = $GLOBALS['egw_info']['user']['account_lid'];
$ogServer->password = $GLOBALS['egw_info']['user']['passwd'];
}
}
$eaPreferences->setOutgoingServer($ogServer);
foreach($ogServer->getAccountEmailAddress($GLOBALS['egw_info']['user']['account_lid']) as $emailAddresses)
{
$identity =& CreateObject('emailadmin.ea_identity');
$identity->emailAddress = $emailAddresses['address'];
$identity->realName = $emailAddresses['name'];
$identity->default = ($emailAddresses['type'] == 'default');
$identity->organization = $data['organisationName'];
$eaPreferences->setIdentity($identity);
}
$eaPreferences->userDefinedAccounts = ($data['userDefinedAccounts'] == 'yes');
return $eaPreferences;
}
return false;
}
function getUserData($_accountID)
{
$userGroups = $GLOBALS['egw']->accounts->membership($_accountID);
$groups = array(0);
foreach((array)$userGroups as $groupInfo) {
$groups[] = $groupInfo['account_id'];
}
if($userProfile = $this->getUserProfile('felamimail', $groups)) {
$icServer = $userProfile->getIncomingServer(0);
if(is_a($icServer, 'defaultimap') && $username = $GLOBALS['egw']->accounts->id2name($_accountID)) {
$icUserData = $icServer->getUserData($username);
}
$ogServer = $userProfile->getOutgoingServer(0);
if(is_a($ogServer, 'defaultsmtp')) {
$ogUserData = $ogServer->getUserData($_accountID);
}
return $icUserData + $ogUserData;
}
return false;
}
function restoreSessionData()
{
$this->sessionData = $GLOBALS['egw']->session->appsession('session_data');
$this->userSessionData = $GLOBALS['egw']->session->appsession('user_session_data');
}
function saveSMTPForwarding($_accountID, $_forwardingAddress, $_keepLocalCopy)
{
if (is_object($this->smtpClass))
{
#$smtpClass = &CreateObject('emailadmin.'.$this->smtpClass,$this->profileID);
#$smtpClass->saveSMTPForwarding($_accountID, $_forwardingAddress, $_keepLocalCopy);
$this->smtpClass->saveSMTPForwarding($_accountID, $_forwardingAddress, $_keepLocalCopy);
}
}
/**
* called by the validation hook in setup
*
* @param array $settings following keys: mail_server, mail_server_type {IMAP|IMAPS|POP-3|POP-3S},
* mail_login_type {standard|vmailmgr}, mail_suffix (domain), smtp_server, smpt_port, smtp_auth_user, smtp_auth_passwd
*/
function setDefaultProfile($settings)
{
if (($profiles = $this->soemailadmin->getProfileList(0,true)))
{
$profile = array_shift($profiles);
}
else
{
$profile = array(
'smtpType' => 1,
'description' => 'default profile (created by setup)',
'ea_appname' => '',
'ea_group' => 0,
);
}
foreach(array(
'mail_server' => 'imapServer',
'mail_server_type' => array(
'imap' => array(
'imapType' => 2,
'imapPort' => 143,
'imapTLSEncryption' => 0,
),
'imaps' => array(
'imapType' => 2,
'imapPort' => 993,
'imapTLSEncryption' => 'yes',
),
'pop3' => array(
'imapType' => 1,
'imapPort' => 110,
'imapTLSEncryption' => 0,
),
'pop3s' => array(
'imapType' => 1,
'imapPort' => 995,
'imapTLSEncryption' => '1',
),
),
'mail_login_type' => 'imapLoginType',
'mail_suffix' => 'defaultDomain',
'smtp_server' => 'smtpServer',
'smpt_port' => 'smtpPort',
) as $setup_name => $ea_name_data)
{
if (!is_array($ea_name_data))
{
$profile[$ea_name_data] = $settings[$setup_name];
}
else
{
foreach($ea_name_data as $setup_val => $ea_data)
{
if ($setup_val == $settings[$setup_name])
{
foreach($ea_data as $var => $val)
{
if ($var != 'imapType' || $val != 2 || $profile[$var] < 3) // dont kill special imap server types
{
$profile[$var] = $val;
}
}
break;
}
}
}
}
$this->soemailadmin->updateProfile($profile);
//echo "<p>EMailAdmin profile update: ".print_r($profile,true)."</p>\n"; exit;
}
function saveProfile($_globalSettings, $_smtpSettings, $_imapSettings)
{
if(!isset($_imapSettings['imapTLSAuthentication'])) {
$_imapSettings['imapTLSAuthentication'] = true;
}
if(!isset($_globalSettings['profileID'])) {
$_globalSettings['ea_order'] = count($this->getProfileList()) + 1;
$this->soemailadmin->addProfile($_globalSettings, $_smtpSettings, $_imapSettings);
} else {
$this->soemailadmin->updateProfile($_globalSettings, $_smtpSettings, $_imapSettings);
}
$all = $_globalSettings+$_smtpSettings+$_imapSettings;
if (!$all['ea_group'] && !$all['ea_application']) // standard profile update eGW config
{
$new_config = array();
foreach(array(
'imapServer' => 'mail_server',
'imapType' => 'mail_server_type',
'imapLoginType' => 'mail_login_type',
'defaultDomain' => 'mail_suffix',
'smtpServer' => 'smtp_server',
'smtpPort' => 'smpt_port',
) as $ea_name => $config_name)
{
if (isset($all[$ea_name]))
{
if ($ea_name != 'imapType')
{
$new_config[$config_name] = $all[$ea_name];
}
else // imap type
{
$new_config[$config_name] = ($all['imapType'] == 1 ? 'pop3' : 'imap').($all['imapTLSEncryption'] ? 's' : '');
}
}
}
if (count($new_config))
{
$config =& CreateObject('phpgwapi.config','phpgwapi');
foreach($new_config as $name => $value)
{
$config->save_value($name,$value,'phpgwapi');
}
//echo "<p>eGW configuration update: ".print_r($new_config,true)."</p>\n";
}
}
}
function saveSessionData()
{
$GLOBALS['egw']->session->appsession('session_data','',$this->sessionData);
$GLOBALS['egw']->session->appsession('user_session_data','',$this->userSessionData);
}
function saveUserData($_accountID, $_formData) {
$groups = array_merge(array(0),(array)$GLOBALS['egw']->accounts->memberships($_accountID,true));
if($userProfile = $this->getUserProfile('felamimail', $groups)) {
$ogServer = $userProfile->getOutgoingServer(0);
if(is_a($ogServer, 'defaultsmtp')) {
$ogServer->setUserData($_accountID,
(array)$_formData['mailAlternateAddress'],
(array)$_formData['mailForwardingAddress'],
$_formData['deliveryMode'],
$_formData['accountStatus'],
$_formData['mailLocalAddress']
);
}
$icServer = $userProfile->getIncomingServer(0);
if(is_a($icServer, 'defaultimap') && $username = $GLOBALS['egw']->accounts->id2name($_accountID)) {
$icServer->setUserData($username, $_formData['quotaLimit']);
}
// calling a hook to allow other apps to monitor the changes
$_formData['account_id'] = $_accountID;
$_formData['location'] = 'editaccountemail';
$GLOBALS['egw']->hooks->process($_formData);
return true;
}
return false;
}
function setOrder($_order) {
if(is_array($_order)) {
$this->soemailadmin->setOrder($_order);
}
}
function updateAccount($_hookValues) {
if (is_object($this->imapClass)) {
#ExecMethod("emailadmin.".$this->imapClass.".updateAccount",$_hookValues,3,$this->profileData);
$this->imapClass->updateAccount($_hookValues);
}
if (is_object($this->smtpClass)) {
#ExecMethod("emailadmin.".$this->smtpClass.".updateAccount",$_hookValues,3,$this->profileData);
$this->smtpClass->updateAccount($_hookValues);
}
}
}
?>

View File

@ -0,0 +1,178 @@
<?php
/***************************************************************************\
* EGroupWare - EMailAdmin *
* http://www.egroupware.org *
* Written by : Lars Kneschke [lkneschke@linux-at-work.de] *
* ------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\***************************************************************************/
/* $Id$ */
include_once(EGW_SERVER_ROOT."/emailadmin/inc/class.defaultimap.inc.php");
class cyrusimap extends defaultimap
{
// mailbox delimiter
var $mailboxDelimiter = '.';
// mailbox prefix
var $mailboxPrefix = '';
var $enableCyrusAdmin = false;
var $cyrusAdminUsername;
var $cyrusAdminPassword;
var $enableSieve = false;
var $sieveHost;
var $sievePort;
function addAccount($_hookValues)
{
return $this->updateAccount($_hookValues);
}
function deleteAccount($_hookValues)
{
if(!$this->enableCyrusAdmin) {
return false;
}
if($this->_connected === true) {
$this->disconnect();
}
// we need a admin connection
if(!$this->openConnection(true)) {
return false;
}
$username = $_hookValues['account_lid'];
$mailboxName = $this->getUserMailboxString($username);
// give the admin account the rights to delete this mailbox
if(PEAR::isError($this->setACL($mailboxName, $this->adminUsername, 'lrswipcda'))) {
$this->disconnect();
return false;
}
if(PEAR::isError($this->deleteMailbox($mailboxName))) {
$this->disconnect();
return false;
}
$this->disconnect();
return true;
}
/**
* Create mailbox string from given mailbox-name and user-name
*
* @param string $_folderName=''
* @return string utf-7 encoded (done in getMailboxName)
*/
function getUserMailboxString($_username, $_folderName='')
{
$nameSpaces = $this->getNameSpaces();
if(!isset($nameSpaces['others'])) {
return false;
}
$mailboxString = $nameSpaces['others'][0]['name'] . $_username . (!empty($_folderName) ? $nameSpaces['others'][0]['delimiter'] . $_folderName : '');
if($this->loginType == 'vmailmgr') {
$mailboxString .= '@'.$this->domainName;
}
return $mailboxString;
}
function setUserData($_username, $_quota)
{
if(!$this->enableCyrusAdmin) {
return false;
}
if($this->_connected === true) {
$this->disconnect();
}
// create a admin connection
if(!$this->openConnection(true)) {
return false;
}
$mailboxName = $this->getUserMailboxString($_username);
if((int)$_quota > 0) {
// enable quota
$quota_value = $this->setStorageQuota($mailboxName, (int)$_quota*1024);
} else {
// disable quota
$quota_value = $this->setStorageQuota($mailboxName, -1);
}
$this->disconnect();
return true;
}
function updateAccount($_hookValues)
{
if(!$this->enableCyrusAdmin) {
return false;
}
#_debug_array($_hookValues);
$username = $_hookValues['account_lid'];
if(isset($_hookValues['new_passwd'])) {
$userPassword = $_hookValues['new_passwd'];
}
if($this->_connected === true) {
$this->disconnect();
}
// we need a admin connection
if(!$this->openConnection(true)) {
return false;
}
// create the mailbox
$mailboxName = $this->getUserMailboxString($username, $mailboxName);
$folderInfo = $this->getMailboxes('', $mailboxName, true);
if(empty($folderInfo)) {
if(!PEAR::isError($this->createMailbox($mailboxName))) {
if(PEAR::isError($this->setACL($mailboxName, $username, "lrswipcda"))) {
# log error message
}
}
}
$this->disconnect();
# this part got moved to FeLaMiMail
#// we can only subscribe to the folders, if we have the users password
#if(isset($_hookValues['new_passwd'])) {
# // subscribe to the folders
# if($mbox = @imap_open($this->getMailboxString(), $username, $userPassword)) {
# foreach($this->createMailboxes as $mailboxName) {
# $mailboxName = 'INBOX' . ($mailboxName ? $this->getDelimiter() .$mailboxName : '');
# imap_subscribe($mbox,$this->getMailboxString($mailboxName));
# }
# imap_close($mbox);
# } else {
# # log error message
# }
#}
}
}
?>

View File

@ -0,0 +1,192 @@
<?php
/***************************************************************************\
* EGroupWare - EMailAdmin *
* http://www.egroupware.org *
* Written by : Lars Kneschke [lkneschke@linux-at-work.de] *
* ------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\***************************************************************************/
/* $Id: class.cyrusimap.inc.php,v 1.9 2005/12/02 15:44:31 ralfbecker Exp $ */
include_once(EGW_SERVER_ROOT."/emailadmin/inc/class.defaultimap.inc.php");
class dbmaildbmailuser extends defaultimap {
var $enableSieve = false;
var $sieveHost;
var $sievePort;
function addAccount($_hookValues) {
return $this->updateAccount($_hookValues);
}
#function deleteAccount($_hookValues) {
#}
function getUserData($_username) {
$userData = array();
if (!is_object($GLOBALS['egw']->ldap)) {
$GLOBALS['egw']->ldap =& CreateObject('phpgwapi.ldap');
}
$ds = $GLOBALS['egw']->ldap->ldapConnect(
$GLOBALS['egw_info']['server']['ldap_host'],
$GLOBALS['egw_info']['server']['ldap_root_dn'],
$GLOBALS['egw_info']['server']['ldap_root_pw']
);
if(!is_resource($ds)) {
return false;
}
$filter = '(&(objectclass=posixaccount)(uid='. $_username .')(dbmailGID='. sprintf("%u", crc32($GLOBALS['egw_info']['server']['install_id'])) .'))';
$justthese = array('dn', 'objectclass', 'mailQuota');
if($sri = ldap_search($ds, $GLOBALS['egw_info']['server']['ldap_context'], $filter, $justthese)) {
if($info = ldap_get_entries($ds, $sri)) {
if(isset($info[0]['mailquota'][0])) {
$userData['quotaLimit'] = $info[0]['mailquota'][0] / 1048576;
}
}
}
return $userData;
}
function updateAccount($_hookValues) {
if(!$uidnumber = (int)$_hookValues['account_id']) {
return false;
}
if (!is_object($GLOBALS['egw']->ldap)) {
$GLOBALS['egw']->ldap =& CreateObject('phpgwapi.ldap');
}
$ds = $GLOBALS['egw']->ldap->ldapConnect(
$GLOBALS['egw_info']['server']['ldap_host'],
$GLOBALS['egw_info']['server']['ldap_root_dn'],
$GLOBALS['egw_info']['server']['ldap_root_pw']
);
if(!is_resource($ds)) {
return false;
}
$filter = '(&(objectclass=posixaccount)(uidnumber='. $uidnumber .'))';
$justthese = array('dn', 'objectclass', 'dbmailUID', 'dbmailGID', 'mail');
$sri = ldap_search($ds, $GLOBALS['egw_info']['server']['ldap_context'], $filter, $justthese);
if($info = ldap_get_entries($ds, $sri)) {
if((!in_array('dbmailuser',$info[0]['objectclass']) && !in_array('dbmailUser',$info[0]['objectclass'])) && $info[0]['mail']) {
$newData['objectclass'] = $info[0]['objectclass'];
unset($newData['objectclass']['count']);
$newData['objectclass'][] = 'dbmailuser';
sort($newData['objectclass']);
$newData['dbmailGID'] = sprintf("%u", crc32($GLOBALS['egw_info']['server']['install_id']));
$newData['dbmailUID'] = (!empty($this->domainName)) ? $_hookValues['account_lid'] .'@'. $this->domainName : $_hookValues['account_lid'];
if(!ldap_modify($ds, $info[0]['dn'], $newData)) {
#print ldap_error($ds);
}
return true;
} else {
$newData = array();
$newData['dbmailUID'] = (!empty($this->domainName)) ? $_hookValues['account_lid'] .'@'. $this->domainName : $_hookValues['account_lid'];
$newData['dbmailGID'] = sprintf("%u", crc32($GLOBALS['egw_info']['server']['install_id']));
if(!ldap_modify($ds, $info[0]['dn'], $newData)) {
print ldap_error($ds);
_debug_array($newData);
exit;
#return false;
}
}
}
return false;
}
function setUserData($_username, $_quota) {
if (!is_object($GLOBALS['egw']->ldap)) {
$GLOBALS['egw']->ldap =& CreateObject('phpgwapi.ldap');
}
$ds = $GLOBALS['egw']->ldap->ldapConnect(
$GLOBALS['egw_info']['server']['ldap_host'],
$GLOBALS['egw_info']['server']['ldap_root_dn'],
$GLOBALS['egw_info']['server']['ldap_root_pw']
);
if(!is_resource($ds)) {
return false;
}
$filter = '(&(objectclass=posixaccount)(uid='. $_username .'))';
$justthese = array('dn', 'objectclass', 'dbmailGID', 'dbmailUID', 'mail');
$sri = ldap_search($ds, $GLOBALS['egw_info']['server']['ldap_context'], $filter, $justthese);
if($info = ldap_get_entries($ds, $sri)) {
$validLDAPConfig = false;
if(in_array('dbmailuser',$info[0]['objectclass']) || in_array('dbmailUser',$info[0]['objectclass'])) {
$validLDAPConfig = true;
}
if(!in_array('dbmailuser',$info[0]['objectclass']) && !in_array('dbmailUser',$info[0]['objectclass']) && $info[0]['mail']) {
$newData['objectclass'] = $info[0]['objectclass'];
unset($newData['objectclass']['count']);
$newData['objectclass'][] = 'dbmailUser';
sort($newData['objectclass']);
$newData['dbmailGID'] = sprintf("%u", crc32($GLOBALS['egw_info']['server']['install_id']));
$newData['dbmailUID'] = (!empty($this->domainName)) ? $_username .'@'. $this->domainName : $_username;
if(ldap_modify($ds, $info[0]['dn'], $newData)) {
$validLDAPConfig = true;
}
} else {
if ((in_array('dbmailuser',$info[0]['objectclass']) || in_array('dbmailUser',$info[0]['objectclass'])) && !$info[0]['dbmailuid']) {
$newData = array();
$newData['dbmailUID'] = (!empty($this->domainName)) ? $_username .'@'. $this->domainName : $_username;
if(!ldap_modify($ds, $info[0]['dn'], $newData)) {
#print ldap_error($ds);
#return false;
}
}
if ((in_array('dbmailuser',$info[0]['objectclass']) || in_array('dbmailUser',$info[0]['objectclass'])) && !$info[0]['dbmailgid']) {
$newData = array();
$newData['dbmailGID'] = sprintf("%u", crc32($GLOBALS['egw_info']['server']['install_id']));
if(!ldap_modify($ds, $info[0]['dn'], $newData)) {
#print ldap_error($ds);
#return false;
}
}
}
if($validLDAPConfig) {
$newData = array();
if((int)$_quota >= 0) {
$newData['mailQuota'] = (int)$_quota * 1048576;
} else {
$newData['mailQuota'] = array();
}
if(!ldap_modify($ds, $info[0]['dn'], $newData)) {
#print ldap_error($ds);
return false;
}
}
return true;
}
return false;
}
}
?>

View File

@ -0,0 +1,170 @@
<?php
/***************************************************************************\
* EGroupWare - EMailAdmin *
* http://www.egroupware.org *
* Written by : Lars Kneschke [lkneschke@linux-at-work.de] *
* ------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\***************************************************************************/
/* $Id: class.cyrusimap.inc.php,v 1.9 2005/12/02 15:44:31 ralfbecker Exp $ */
include_once(EGW_SERVER_ROOT."/emailadmin/inc/class.defaultimap.inc.php");
class dbmailqmailuser extends defaultimap {
var $enableSieve = false;
var $sieveHost;
var $sievePort;
function addAccount($_hookValues) {
return $this->updateAccount($_hookValues);
}
#function deleteAccount($_hookValues) {
#}
function getUserData($_username) {
$userData = array();
if (!is_object($GLOBALS['egw']->ldap)) {
$GLOBALS['egw']->ldap =& CreateObject('phpgwapi.ldap');
}
$ds = $GLOBALS['egw']->ldap->ldapConnect(
$GLOBALS['egw_info']['server']['ldap_host'],
$GLOBALS['egw_info']['server']['ldap_root_dn'],
$GLOBALS['egw_info']['server']['ldap_root_pw']
);
if(!is_resource($ds)) {
return false;
}
$filter = '(&(objectclass=posixaccount)(uid='. $_username .')(qmailGID='. sprintf("%u", crc32($GLOBALS['egw_info']['server']['install_id'])) .'))';
$justthese = array('dn', 'objectclass', 'mailQuota');
if($sri = ldap_search($ds, $GLOBALS['egw_info']['server']['ldap_context'], $filter, $justthese)) {
if($info = ldap_get_entries($ds, $sri)) {
if(isset($info[0]['mailquota'][0])) {
$userData['quotaLimit'] = $info[0]['mailquota'][0] / 1048576;
}
}
}
return $userData;
}
function updateAccount($_hookValues) {
if(!$uidnumber = (int)$_hookValues['account_id']) {
return false;
}
if (!is_object($GLOBALS['egw']->ldap)) {
$GLOBALS['egw']->ldap =& CreateObject('phpgwapi.ldap');
}
$ds = $GLOBALS['egw']->ldap->ldapConnect(
$GLOBALS['egw_info']['server']['ldap_host'],
$GLOBALS['egw_info']['server']['ldap_root_dn'],
$GLOBALS['egw_info']['server']['ldap_root_pw']
);
if(!is_resource($ds)) {
return false;
}
$filter = '(&(objectclass=posixaccount)(uidnumber='. $uidnumber .'))';
$justthese = array('dn', 'objectclass', 'qmailUID', 'qmailGID', 'mail');
$sri = ldap_search($ds, $GLOBALS['egw_info']['server']['ldap_context'], $filter, $justthese);
if($info = ldap_get_entries($ds, $sri)) {
if(!in_array('qmailuser',$info[0]['objectclass']) && $info[0]['email']) {
$newData['objectclass'] = $info[0]['objectclass'];
unset($newData['objectclass']['count']);
$newData['objectclass'][] = 'qmailuser';
sort($newData['objectclass']);
$newData['qmailGID'] = sprintf("%u", crc32($GLOBALS['egw_info']['server']['install_id']));
#$newData['qmailUID'] = (!empty($this->domainName)) ? $_username .'@'. $this->domainName : $_username;
ldap_modify($ds, $info[0]['dn'], $newData);
return true;
} else {
$newData = array();
$newData['qmailGID'] = sprintf("%u", crc32($GLOBALS['egw_info']['server']['install_id']));
#$newData['qmailUID'] = (!empty($this->domainName)) ? $_username .'@'. $this->domainName : $_username;
if(!ldap_modify($ds, $info[0]['dn'], $newData)) {
#print ldap_error($ds);
#return false;
}
}
}
return false;
}
function setUserData($_username, $_quota) {
if (!is_object($GLOBALS['egw']->ldap)) {
$GLOBALS['egw']->ldap =& CreateObject('phpgwapi.ldap');
}
$ds = $GLOBALS['egw']->ldap->ldapConnect(
$GLOBALS['egw_info']['server']['ldap_host'],
$GLOBALS['egw_info']['server']['ldap_root_dn'],
$GLOBALS['egw_info']['server']['ldap_root_pw']
);
if(!is_resource($ds)) {
return false;
}
$filter = '(&(objectclass=posixaccount)(uid='. $_username .'))';
$justthese = array('dn', 'objectclass', 'qmailGID', 'mail');
$sri = ldap_search($ds, $GLOBALS['egw_info']['server']['ldap_context'], $filter, $justthese);
if($info = ldap_get_entries($ds, $sri)) {
#_debug_array($info);
if(!in_array('qmailuser',$info[0]['objectclass']) && $info[0]['email']) {
$newData['objectclass'] = $info[0]['objectclass'];
unset($newData['objectclass']['count']);
$newData['objectclass'][] = 'qmailuser';
sort($newData['objectclass']);
$newData['qmailGID'] = sprintf("%u", crc32($GLOBALS['egw_info']['server']['install_id']));
ldap_modify($ds, $info[0]['dn'], $newData);
} else {
if (in_array('qmailuser',$info[0]['objectclass']) && !$info[0]['qmailgid']) {
$newData = array();
$newData['qmailGID'] = sprintf("%u", crc32($GLOBALS['egw_info']['server']['install_id']));
if(!ldap_modify($ds, $info[0]['dn'], $newData)) {
#print ldap_error($ds);
#return false;
}
}
}
$newData = array();
if((int)$_quota >= 0) {
$newData['mailQuota'] = (int)$_quota * 1048576;
} else {
$newData['mailQuota'] = array();
}
if(!ldap_modify($ds, $info[0]['dn'], $newData)) {
#print ldap_error($ds);
return false;
}
return true;
}
return false;
}
}
?>

View File

@ -0,0 +1,497 @@
<?php
/***************************************************************************\
* EGroupWare - EMailAdmin *
* http://www.egroupware.org *
* Written by : Lars Kneschke [lkneschke@linux-at-work.de] *
* ------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\***************************************************************************/
/* $Id$ */
require_once 'Net/IMAP.php';
define('IMAP_NAMESPACE_PERSONAL', 'personal');
define('IMAP_NAMESPACE_OTHERS' , 'others');
define('IMAP_NAMESPACE_SHARED' , 'shared');
define('IMAP_NAMESPACE_ALL' , 'all');
/**
* This class holds all information about the imap connection.
* This is the base class for all other imap classes.
*
*/
class defaultimap extends Net_IMAP
{
/**
* the password to be used for admin connections
*
* @var string
*/
var $adminPassword;
/**
* the username to be used for admin connections
*
* @var string
*/
var $adminUsername;
/**
* enable encryption
*
* @var bool
*/
var $encryption;
/**
* the hostname/ip address of the imap server
*
* @var string
*/
var $host;
/**
* the password for the user
*
* @var string
*/
var $password;
/**
* the port of the imap server
*
* @var integer
*/
var $port = 143;
/**
* the username
*
* @var string
*/
var $username;
/**
* the domainname to be used for vmailmgr logins
*
* @var string
*/
var $domainname = false;
/**
* validate ssl certificate
*
* @var bool
*/
var $validatecert;
/**
* the mailbox delimiter
*
* @var string
*/
var $mailboxDelimiter = '/';
/**
* the mailbox prefix. maybe used by uw-imap only?
*
* @var string
*/
var $mailboxPrefix = '~/mail';
/**
* is the mbstring extension available
*
* @var unknown_type
*/
var $mbAvailable;
/**
* Mailboxes which get automatic created for new accounts (INBOX == '')
*
* @var array
*/
var $imapLoginType;
var $defaultDomain;
/**
* disable internal conversion from/to ut7
* get's used by Net_IMAP
*
* @var array
*/
var $_useUTF_7 = false;
/**
* the construtor
*
* @return void
*/
function defaultimap()
{
if (function_exists('mb_convert_encoding')) {
$this->mbAvailable = TRUE;
}
$this->restoreSessionData();
// construtor for Net_IMAP stuff
$this->Net_IMAPProtocol();
}
/**
* adds a account on the imap server
*
* @param array $_hookValues
* @return bool true on success, false on failure
*/
function addAccount($_hookValues)
{
return true;
}
/**
* updates a account on the imap server
*
* @param array $_hookValues
* @return bool true on success, false on failure
*/
function updateAccount($_hookValues)
{
return true;
}
/**
* deletes a account on the imap server
*
* @param array $_hookValues
* @return bool true on success, false on failure
*/
function deleteAccount($_hookValues)
{
return true;
}
function disconnect()
{
parent::disconnect();
$this->_isConnected = false;
}
/**
* converts a foldername from current system charset to UTF7
*
* @param string $_folderName
* @return string the encoded foldername
*/
function encodeFolderName($_folderName)
{
if($this->mbAvailable) {
return mb_convert_encoding($_folderName, "UTF7-IMAP", $GLOBALS['egw']->translation->charset());
}
// if not
// we can encode only from ISO 8859-1
return imap_utf7_encode($_folderName);
}
/**
* returns the supported capabilities of the imap server
* return false if the imap server does not support capabilities
*
* @return array the supported capabilites
*/
function getCapabilities()
{
if(!is_array($this->sessionData['capabilities'][$this->host])) {
return false;
}
return $this->sessionData['capabilities'][$this->host];
}
/**
* return the delimiter used by the current imap server
*
* @return string the delimimiter
*/
function getDelimiter()
{
return isset($this->sessionData['delimiter'][$this->host]) ? $this->sessionData['delimiter'][$this->host] : $this->mailboxDelimiter;
}
/**
* Create transport string
*
* @return string the transportstring
*/
function _getTransportString()
{
if($this->encryption == 2) {
$connectionString = "tls://". $this->host;
} elseif($this->encryption == 3) {
$connectionString = "ssl://". $this->host;
} else {
// no tls
$connectionString = $this->host;
}
return $connectionString;
}
/**
* Create the options array for SSL/TLS connections
*
* @return string the transportstring
*/
function _getTransportOptions()
{
if($this->validatecert === false) {
if($this->encryption == 2) {
return array(
'tls' => array(
'verify_peer' => false,
'allow_self_signed' => true,
)
);
} elseif($this->encryption == 3) {
return array(
'ssl' => array(
'verify_peer' => false,
'allow_self_signed' => true,
)
);
}
} else {
if($this->encryption == 2) {
return array(
'tls' => array(
'verify_peer' => true,
'allow_self_signed' => false,
)
);
} elseif($this->encryption == 3) {
return array(
'ssl' => array(
'verify_peer' => true,
'allow_self_signed' => false,
)
);
}
}
return null;
}
/**
* Create mailbox string from given mailbox-name and user-name
*
* @param string $_folderName=''
* @return string utf-7 encoded (done in getMailboxName)
*/
function getUserMailboxString($_username, $_folderName='')
{
$nameSpaces = $this->getNameSpaces();
if(!isset($nameSpaces['others'])) {
return false;
}
$username = $_username;
if($this->loginType == 'vmailmgr') {
$username .= '@'. $this->domainName;
}
$mailboxString = $nameSpaces['others'][0]['name'] . $username . (!empty($_folderName) ? $nameSpaces['others'][0]['delimiter'] . $_folderName : '');
return $mailboxString;
}
/**
* get list of namespaces
*
* @return array array containing information about namespace
*/
function getNameSpaces()
{
if(!$this->_connected) {
return false;
}
if($this->hasCapability('NAMESPACE')) {
$nameSpace = $this->getNamespace();
$result = array();
$result['personal'] = $nameSpace['personal'];
if(is_array($nameSpace['others'])) {
$result['others'] = $nameSpace['others'];
}
if(is_array($nameSpace['shared'])) {
$result['shared'] = $nameSpace['shared'];
}
} else {
$delimiter = $this->getHierarchyDelimiter();
$result['personal'] = array(
0 => array(
'name' => '',
'delimiter' => $delimiter
)
);
}
return $result;
}
/**
* returns the quota for given foldername
* gets quota for the current user only
*
* @param string $_folderName
* @return string the current quota for this folder
*/
# function getQuota($_folderName)
# {
# if(!is_resource($this->mbox)) {
# $this->openConnection();
# }
#
# if(function_exists('imap_get_quotaroot') && $this->supportsCapability('QUOTA')) {
# $quota = @imap_get_quotaroot($this->mbox, $this->encodeFolderName($_folderName));
# if(is_array($quota) && isset($quota['STORAGE'])) {
# return $quota['STORAGE'];
# }
# }
#
# return false;
# }
/**
* return the quota for another user
* used by admin connections only
*
* @param string $_username
* @return string the quota for specified user
*/
function getQuotaByUser($_username)
{
$mailboxName = $this->getUserMailboxString($_username);
$storageQuota = $this->getStorageQuota($mailboxName);
if(is_array($storageQuota) && isset($storageQuota['QMAX'])) {
return (int)$storageQuota['QMAX'];
}
return false;
}
/**
* returns information about a user
* currently only supported information is the current quota
*
* @param string $_username
* @return array userdata
*/
function getUserData($_username)
{
$this->openConnection(true);
$userData = array();
if($quota = $this->getQuotaByUser($_username)) {
$userData['quotaLimit'] = $quota / 1024;
}
$this->disconnect();
return $userData;
}
/**
* opens a connection to a imap server
*
* @param bool $_adminConnection create admin connection if true
*
* @return resource the imap connection
*/
function openConnection($_adminConnection=false)
{
unset($this->_connectionErrorObject);
if($_adminConnection) {
$username = $this->adminUsername;
$password = $this->adminPassword;
$options = '';
$this->isAdminConnection = true;
} else {
$username = $this->loginName;
$password = $this->password;
$options = $_options;
$this->isAdminConnection = false;
}
$this->setStreamContextOptions($this->_getTransportOptions());
$this->setTimeout(20);
if( PEAR::isError($status = $this->connect($this->_getTransportString(), $this->port, $this->encryption == 1)) ) {
$this->_connectionErrorObject = $status;
return false;
}
if( PEAR::isError($status = $this->login($username, $password)) ) {
$this->_connectionErrorObject = $status;
return false;
}
return true;
}
/**
* restore session variable
*
*/
function restoreSessionData()
{
$this->sessionData = $GLOBALS['egw']->session->appsession('imap_session_data');
}
/**
* save session variable
*
*/
function saveSessionData()
{
$GLOBALS['egw']->session->appsession('imap_session_data','',$this->sessionData);
}
/**
* set userdata
*
* @param string $_username username of the user
* @param int $_quota quota in bytes
* @return bool true on success, false on failure
*/
function setUserData($_username, $_quota)
{
return true;
}
/**
* check if imap server supports given capability
*
* @param string $_capability the capability to check for
* @return bool true if capability is supported, false if not
*/
function supportsCapability($_capability)
{
return $this->hasCapability($_capability);
}
}
?>

View File

@ -0,0 +1,94 @@
<?php
/***************************************************************************\
* EGroupWare - EMailAdmin *
* http://www.egroupware.org *
* Written by : Lars Kneschke [lkneschke@linux-at-work.de] *
* ------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\***************************************************************************/
/* $Id$ */
class defaultpop
{
var $profileData;
function defaultpop($_profileData)
{
$this->profileData = $_profileData;
}
function addAccount($_hookValues)
{
return true;
}
function deleteAccount($_hookValues)
{
return true;
}
function encodeFolderName($_folderName)
{
if($this->mbAvailable)
{
return mb_convert_encoding( $_folderName, "UTF7-IMAP", "ISO_8859-1" );
}
// if not
return imap_utf7_encode($_folderName);
}
function getMailboxString($_folderName='')
{
if($this->profileData['imapTLSEncryption'] == 'yes' &&
$this->profileData['imapTLSAuthentication'] == 'yes')
{
if(empty($this->profileData['imapPort']))
$port = '995';
else
$port = $this->profileData['imapPort'];
$mailboxString = sprintf("{%s:%s/pop3/ssl}%s",
$this->profileData['imapServer'],
$port,
$_folderName);
}
// don't check cert
elseif($this->profileData['imapTLSEncryption'] == 'yes')
{
if(empty($this->profileData['imapPort']))
$port = '995';
else
$port = $this->profileData['imapPort'];
$mailboxString = sprintf("{%s:%s/pop3/ssl/novalidate-cert}%s",
$this->profileData['imapServer'],
$port,
$_folderName);
}
// no tls
else
{
if(empty($this->profileData['imapPort']))
$port = '110';
else
$port = $this->profileData['imapPort'];
$mailboxString = sprintf("{%s:%s/pop3}%s",
$this->profileData['imapServer'],
$port,
$_folderName);
}
return $this->encodeFolderName($mailboxString);
}
function updateAccount($_hookValues)
{
return true;
}
}
?>

View File

@ -0,0 +1,85 @@
<?php
/***************************************************************************\
* EGroupWare - EMailAdmin *
* http://www.egroupware.org *
* Written by : Lars Kneschke [lkneschke@linux-at-work.de] *
* ------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\***************************************************************************/
/* $Id$ */
class defaultsmtp
{
var $smtpAuth = false;
var $editForwardingAddress = false;
var $host;
var $port;
var $username;
var $password;
var $defaultDomain;
// the constructor
function defaultsmtp($defaultDomain=null)
{
$this->defaultDomain = $defaultDomain ? $defaultDomain : $GLOBALS['egw_info']['server']['mail_suffix'];
}
// add a account
function addAccount($_hookValues)
{
return true;
}
// delete a account
function deleteAccount($_hookValues)
{
return true;
}
function getAccountEmailAddress($_accountName)
{
$accountID = $GLOBALS['egw']->accounts->name2id($_accountName);
$emailAddress = $GLOBALS['egw']->accounts->id2name($accountID,'account_email');
if(empty($emailAddress))
$emailAddress = $_accountName.'@'.$this->defaultDomain;
$realName = trim($GLOBALS['egw_info']['user']['firstname'] . (!empty($GLOBALS['egw_info']['user']['firstname']) ? ' ' : '') . $GLOBALS['egw_info']['user']['lastname']);
return array(
array(
'name' => $realName,
'address' => $emailAddress,
'type' => 'default'
)
);
}
function getUserData($_uidnumber) {
$userData = array();
return $userData;
}
function saveSMTPForwarding($_accountID, $_forwardingAddress, $_keepLocalCopy) {
return true;
}
function setUserData($_uidnumber, $_mailAlternateAddress, $_mailForwardingAddress, $_deliveryMode) {
return true;
}
// update a account
function updateAccount($_hookValues) {
return true;
}
}
?>

View File

@ -0,0 +1,27 @@
<?php
/***************************************************************************\
* eGroupWare - EMailAdmin *
* http://www.egroupware.org *
* Written by : Lars Kneschke [lkneschke@egrouware.org] *
* ------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; version 2 of the License. *
\***************************************************************************/
/* $Id: class.bopreferences.inc.php,v 1.26 2005/11/28 18:00:18 lkneschke Exp $ */
class ea_identity
{
// email address of the user
var $emailAddress;
// real name of the user
var $realName;
// name of the organization
var $organization;
// the default identity
var $default = true;
}
?>

View File

@ -0,0 +1,150 @@
<?php
/***************************************************************************\
* eGroupWare - EMailAdmin *
* http://www.egroupware.org *
* Written by : Lars Kneschke [lkneschke@egrouware.org] *
* ------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; version 2 of the License. *
\***************************************************************************/
/* $Id: class.bopreferences.inc.php,v 1.26 2005/11/28 18:00:18 lkneschke Exp $ */
class ea_preferences
{
// users identities
var $identities = array();
// users incoming server(imap/pop3)
var $ic_server = array();
// users outgoing server(smtp)
var $og_server = array();
// users preferences
var $preferences = array();
// enable userdefined accounts
var $userDefinedAccounts = false;
function getIdentity($_id = -1)
{
if($_id != -1)
{
return $this->identities[$_id];
}
else
{
return $this->identities;
}
}
function getIncomingServer($_id = -1)
{
if($_id != -1)
{
return $this->ic_server[$_id];
}
else
{
return $this->ic_server;
}
}
function getOutgoingServer($_id = -1)
{
if($_id != -1)
{
return $this->og_server[$_id];
}
else
{
return $this->og_server;
}
}
function getPreferences() {
return $this->preferences;
}
function getUserEMailAddresses() {
$identities = $this->getIdentity();
if(count($identities) == 0) {
return false;
}
$userEMailAdresses = array();
foreach($identities as $identity) {
$userEMailAdresses[$identity->emailAddress] = $identity->realName;
}
return $userEMailAdresses;
}
function setIdentity($_identityObject, $_id = -1)
{
if(is_a($_identityObject, 'ea_identity'))
{
if($_id != -1)
{
$this->identities[$_id] = $_identityObject;
}
else
{
$this->identities[] = $_identityObject;
}
return true;
}
return false;
}
function setIncomingServer($_serverObject, $_id = -1)
{
if(is_a($_serverObject, 'defaultimap'))
{
if($_id != -1)
{
$this->ic_server[$_id] = $_serverObject;
}
else
{
$this->ic_server[] = $_serverObject;
}
return true;
}
return false;
}
function setOutgoingServer($_serverObject, $_id = -1)
{
if(is_a($_serverObject, 'defaultsmtp'))
{
if($_id != -1)
{
$this->og_server[$_id] = $_serverObject;
}
else
{
$this->og_server[] = $_serverObject;
}
return true;
}
return false;
}
function setPreferences($_preferences)
{
$this->preferences = $_preferences;
return true;
}
}
?>

View File

@ -0,0 +1,789 @@
<?php
include_once('PEAR.php');
/**
* The IMP_IMAPClient:: class enables connection to an IMAP server through
* built-in PHP functions.
*
* TODO: This should eventually be moved to Horde 4.0/framework.
*
* $Horde: imp/lib/IMAP/Client.php,v 1.21.2.21 2006/03/30 10:15:31 selsky Exp $
*
* Copyright 2005-2006 Michael Slusarz <slusarz@horde.org>
*
* Based on code from:
* + auth.php (1.49)
* + imap_general.php (1.212)
* + strings.php (1.184.2.35)
* from the Squirrelmail project.
* Copyright (c) 1999-2005 The SquirrelMail Project Team
*
* See the enclosed file COPYING for license information (GPL). If you
* did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
*
* @author Michael Slusarz <slusarz@horde.org>
* @since IMP 4.1
* @package IMP
*/
class imap_client {
/**
* The list of capabilities of the IMAP server.
*
* @var array
*/
var $_capability = null;
/**
* The hostname of the IMAP server to connect to.
*
* @var string
*/
var $_host;
/**
* The last message returned from the server.
*
* @var string
*/
var $_message;
/**
* The namespace information.
*
* @var array
*/
var $_namespace = null;
/**
* The port number of the IMAP server to connect to.
*
* @var string
*/
var $_port;
/**
* The last response returned from the server.
*
* @var string
*/
var $_response;
/**
* The unique session identifier ID to use when making an IMAP query.
*
* @var integer
*/
var $_sessionid = 1;
/**
* The socket connection to the IMAP server.
*
* @var resource
*/
var $_stream;
/**
* Are we using SSL to connect to the IMAP server?
*
* @var string
*/
var $_usessl = false;
/**
* Are we using TLS to connect to the IMAP server?
*
* @var string
*/
var $_usetls = false;
/**
* Constructor.
*
* @param string $host The address/hostname of the IMAP server.
* @param string $port The port to connect to on the IMAP server.
* @param string $protocol The protocol string (See, e.g., servers.php).
*/
function imap_client($host, $port, $protocol)
{
$this->_host = $host;
$this->_port = $port;
/* Split apart protocol string to discover if we need to use either
* SSL or TLS. */
$tmp = explode('/', strtolower($protocol));
if (in_array('tls', $tmp)) {
$this->_usetls = true;
} elseif (in_array('ssl', $tmp)) {
$this->_usessl = true;
}
}
/**
* Are we using TLS to connect and is it supported?
*
* @return mixed Returns true if TLS is being used to connect, false if
* is not, and PEAR_Error if we are attempting to use TLS
* and this version of PHP doesn't support it.
*/
function useTLS()
{
if ($this->_usetls) {
/* There is no way in PHP 4 to open a TLS connection to a
* non-secured port. See http://bugs.php.net/bug.php?id=26040 */
if (!function_exists('stream_socket_enable_crypto')) {
return PEAR::raiseError(lang("To use a TLS connection, you must be running a version of PHP 5.1.0 or higher."), 'horde.error');
}
}
return $this->_usetls;
}
/**
* Generates a new IMAP session ID by incrementing the last one used.
*
* @access private
*
* @return string IMAP session id of the form 'A000'.
*/
function _generateSid()
{
return sprintf("A%03d", $this->_sessionid++);
}
/**
* Perform a command on the IMAP server.
* This command sets the $_response and $_message variable.
*
* @access private
*
* @param string $query IMAP command.
*
* @return mixed Returns PEAR_Error on error. On success, returns an
* array of the IMAP return text.
*/
function _runCommand($query)
{
$message = $response = array();
$sid = $this->_generateSid();
fwrite($this->_stream, $sid . ' ' . $query . "\r\n");
$tag_uid_a = explode(' ', trim($sid));
$tag = $tag_uid_a[0];
$res = $this->_retrieveIMAPResponse($tag, $response, $message);
if (is_a($res, 'PEAR_Error')) {
$this->_message = $this->_response = '';
return $res;
}
/* retrieve the response and the message */
$this->_response = $response[$tag];
$this->_message = $message[$tag];
return (!empty($res[$tag])) ? $res[$tag][0] : $res[$tag];
}
/**
* Custom fgets function - get a line from the IMAP server no matter how
* large the line may be.
*
* @access private
*
* @return string The next line in the IMAP stream.
*/
function _fgets()
{
$buffer = 4096;
$offset = 0;
$results = '';
while (strpos($results, "\r\n", $offset) === false) {
if (!($read = fgets($this->_stream, $buffer))) {
$results = '';
break;
}
if ($results != '') {
$offset = strlen($results) - 1;
}
$results .= $read;
}
return $results;
}
/**
* Reads the output from the IMAP stream.
*
* @access private
*
* @param string $tag The IMAP SID tag.
* @param array $response The response information.
* @param array $message The message information.
*
* @return mixed PEAR_Error on error, response string on success.
*/
function _retrieveIMAPResponse($tag, &$response, &$message)
{
$aResponse = $read = '';
$data = $resultlist = array();
$i = 0;
$read = $this->_fgets();
while ($read) {
$char = $read{0};
switch ($char) {
case '+':
default:
$read = $this->_fgets();
break;
case $tag{0}:
/* Get the command. */
$arg = '';
$i = strlen($tag) + 1;
$s = substr($read, $i);
if (($j = strpos($s, ' ')) || ($j = strpos($s, "\n"))) {
$arg = substr($s, 0, $j);
}
$found_tag = substr($read, 0, $i - 1);
if ($found_tag) {
$response[$found_tag] = $arg;
$message[$found_tag] = trim(substr($read, $i + strlen($arg)));
if (!empty($data)) {
$resultlist[] = $data;
}
$aResponse[$found_tag] = $resultlist;
$data = $resultlist = array();
if ($found_tag == $tag) {
break 2;
}
break;
}
$read = $this->_fgets();
if ($read === false) {
break 2; /* switch while */
}
break;
case '*':
if (preg_match('/^\*\s\d+\sFETCH/', $read)) {
/* check for literal */
$s = substr($read, -3);
$fetch_data = array();
do {
/* Outer loop: continue until next untagged fetch
or tagged reponse. */
do {
/* Innerloop for fetching literals. with this
loop we prohibit that literal responses appear
in the outer loop so we can trust the untagged
and tagged info provided by $read. */
if ($s === "}\r\n") {
$j = strrpos($read, '{');
$iLit = substr($read, $j + 1, -3);
$fetch_data[] = $read;
$sLiteral = fread($this->_stream, $iLit);
if ($sLiteral === false) { /* error */
break 4; /* while while switch while */
}
/* backwards compattibility */
$aLiteral = explode("\n", $sLiteral);
unset($sLiteral);
foreach ($aLiteral as $line) {
$fetch_data[] = $line ."\n";
}
unset($aLiteral);
/* Next fgets belongs to this fetch because
we just got the exact literalsize and data
must follow to complete the response. */
$read = $this->_fgets();
if ($read === false) { /* error */
break 4; /* while while switch while */
}
}
$fetch_data[] = $read;
/* Retrieve next line and check in the while
statements if it belongs to this fetch
response. */
$read = $this->_fgets();
if ($read === false) { /* error */
break 4; /* while while switch while */
}
/* Check for next untagged reponse and break. */
if ($read{0} == '*') {
break 2;
}
$s = substr($read, -3);
} while ($s === "}\r\n");
$s = substr($read,-3);
} while (($read{0} !== '*') &&
(substr($read, 0, strlen($tag)) !== $tag));
$resultlist[] = $fetch_data;
unset($fetch_data);
} else {
$s = substr($read, -3);
do {
if ($s === "}\r\n") {
$j = strrpos($read, '{');
$iLit = substr($read, $j + 1, -3);
$data[] = $read;
$sLiteral = fread($this->_stream, $iLit);
if ($sLiteral === false) { /* error */
$read = false;
break 3; /* while switch while */
}
$data[] = $sLiteral;
$data[] = $this->_fgets();
} else {
$data[] = $read;
}
$read = $this->_fgets();
if ($read === false) {
break 3; /* while switch while */
} elseif ($read{0} == '*') {
break;
}
$s = substr($read,-3);
} while ($s === "}\r\n");
break;
}
break;
}
}
/* Error processing in case $read is false. */
if ($read === false) {
/* Try to retrieve an untagged bye respons from the results. */
$sResponse = array_pop($data);
if (($sResponse !== NULL) &&
(strpos($sResponse,'* BYE') !== false)) {
return PEAR::raiseError(lang("IMAP server closed the connection."), 'horde.error');
} else {
return PEAR::raiseError(lang("Connection dropped by IMAP server."), 'horde.error');
}
}
switch ($response[$tag]) {
case 'OK':
return $aResponse;
break;
case 'NO':
/* Ignore this error from M$ exchange, it is not fatal (aka bug). */
if (strstr($message[$tag], 'command resulted in') === false) {
return PEAR::raiseError(sprintf(lang("Could not complete request. Reason Given: %s"), $message[$tag]), 'horde.error', null, null, $response[$tag]);
}
break;
case 'BAD':
return PEAR::raiseError(sprintf(lang("Bad or malformed request. Server Responded: %s"), $message[$tag]), 'horde.error', null, null, $response[$tag]);
break;
case 'BYE':
return PEAR::raiseError(sprintf(lang("IMAP Server closed the connection. Server Responded: %s"), $message[$tag]), 'horde.error', null, null, $response[$tag]);
break;
default:
return PEAR::raiseError(sprintf(lang("Unknown IMAP response from the server. Server Responded: %s"), $message[$tag]), 'horde.error', null, null, $response[$tag]);
break;
}
}
/**
* Connects to the IMAP server.
*
* @access private
*
* @return mixed Returns true on success, PEAR_Error on error.
*/
function _createStream()
{
if (($this->_usessl || $this->_usetls) &&
!function_exists('openssl_pkcs7_sign')) {
return PEAR::raiseError(lang("If using SSL or TLS, you must have the PHP openssl extension loaded."), 'horde.error');
}
if ($res = $this->useTLS()) {
if (is_a($res, 'PEAR_Error')) {
return $res;
} else {
$this->_host = $this->_host . ':' . $this->_port;
}
}
if ($this->_usessl) {
$this->_host = 'ssl://' . $this->_host;
}
$error_number = $error_string = '';
$timeout = 10;
if ($this->_usetls) {
$this->_stream = stream_socket_client($this->_host, $error_number, $error_string, $timeout);
if (!$this->_stream) {
return PEAR::raiseError(sprintf(lang("Error connecting to IMAP server. %s : %s."), $error_number, $error_string), 'horde.error');
}
/* Disregard any server information returned. */
fgets($this->_stream, 1024);
/* Send the STARTTLS command. */
fwrite($this->_stream, $this->_generateSid() . " STARTTLS\r\n");
/* Disregard any server information returned. */
fgets($this->_stream, 1024);
/* Switch over to a TLS connection. */
$res = stream_socket_enable_crypto($this->_stream, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);
if (!$res) {
return PEAR::raiseError(lang("Could not open secure connection to the IMAP server. %s : %s."), 'horde.error');
}
} else {
$this->_stream = fsockopen($this->_host, $this->_port, $error_number, $error_string, $timeout);
}
/* Do some error correction */
if (!$this->_stream) {
return PEAR::raiseError(sprintf(lang("Error connecting to IMAP server. %s : %s."), $error_number, $error_string), 'horde.error');
}
/* Disregard any server information. */
fgets($this->_stream, 1024);
}
/**
* Log the user into the IMAP server.
*
* @param string $username Username.
* @param string $password Encrypted password.
*
* @return mixed True on success, PEAR_Error on error.
*/
function login($username, $password)
{
$res = $this->_createStream();
if (is_a($res, 'PEAR_Error')) {
#LK Horde::logMessage($res, __FILE__, __LINE__, PEAR_LOG_ERR);
return $res;
}
$imap_auth_mech = array();
/* Use md5 authentication, if available. But no need to use special
* authentication if we are already using an encrypted connection. */
$auth_methods = $this->queryCapability('AUTH');
if ((!$this->_usessl || !$this->_usetls) && !empty($auth_methods)) {
if (in_array('CRAM-MD5', $auth_methods)) {
$imap_auth_mech[] = 'cram-md5';
}
if (in_array('DIGEST-MD5', $auth_methods)) {
$imap_auth_mech[] = 'digest-md5';
}
}
/* Next, try 'PLAIN' authentication. */
if (!empty($auth_methods) && in_array('PLAIN', $auth_methods)) {
$imap_auth_mech[] = 'plain';
}
/* Fall back to 'LOGIN' if available. */
if (!$this->queryCapability('LOGINDISABLED')) {
$imap_auth_mech[] = 'login';
}
if (empty($imap_auth_mech)) {
return PEAR::raiseError(lang("No supported IMAP authentication method could be found."), 'horde.error');
}
foreach ($imap_auth_mech as $method) {
$res = $this->_login($username, $password, $method);
if (!is_a($res, 'PEAR_Error')) {
return true;
}
}
return $res;
}
/**
* Log the user into the IMAP server.
*
* @access private
*
* @param string $username Username.
* @param string $password Encrypted password.
* @param string $method IMAP login method.
*
* @return mixed True on success, PEAR_Error on error.
*/
function _login($username, $password, $method)
{
switch ($method) {
case 'cram-md5':
case 'digest-md5':
/* If we don't have Auth_SASL package install, return error. */
if (!@include_once 'Auth/SASL.php') {
return PEAR::raiseError(lang("CRAM-MD5 or DIGEST-MD5 requires the Auth_SASL package to be installed."), 'horde.error');
}
$tag = $this->_generateSid();
fwrite($this->_stream, $tag . ' AUTHENTICATE ' . strtoupper($method) . "\r\n");
$challenge = explode(' ', $this->_fgets(), 3);
if ($method == 'cram-md5') {
$auth_sasl = Auth_SASL::factory('crammd5');
$response = $auth_sasl->getResponse($username, $password, base64_decode($challenge[1]));
fwrite($this->_stream, base64_encode($response) . "\r\n");
$read = $this->_fgets();
} elseif ($method == 'digest-md5') {
$auth_sasl = Auth_SASL::factory('digestmd5');
$response = $auth_sasl->getResponse($username, $password, base64_decode($challenge[1]), $this->_host, 'imap');
fwrite($this->_stream, base64_encode($response) . "\r\n");
$response = explode(' ', $this->_fgets());
$response = base64_decode($response[1]);
if (strpos($response, 'rspauth=') === false) {
return PEAR::raiseError(lang("Unexpected response from server to Digest-MD5 response."), 'horde.error');
}
fwrite($this->_stream, "\r\n");
$read = $this->_fgets();
} else {
return PEAR::raiseError(lang("The IMAP server does not appear to support the authentication method selected. Please contact your system administrator."), 'horde.error');
}
break;
case 'login':
$tag = $this->_generateSid();
$query = $tag . " LOGIN $username {" . strlen($password) . "}\r\n";
fwrite($this->_stream, $query);
$read = $this->_fgets();
if (substr($read, 0, 1) == '+') {
fwrite($this->_stream, "$password\r\n");
$read = $this->_fgets();
} else {
return PEAR::raiseError(lang("Unexpected response from server to LOGIN command."), 'horde.error');
}
break;
case 'plain':
$tag = $this->_generateSid();
$sasl = $this->queryCapability('SASL-IR');
$auth = base64_encode("$username\0$username\0$password");
if ($sasl) {
// IMAP Extension for SASL Initial Client Response
// <draft-siemborski-imap-sasl-initial-response-01b.txt>
$query = $tag . " AUTHENTICATE PLAIN $auth\r\n";
fwrite($this->_stream, $query);
$read = $this->_fgets();
} else {
$query = $tag . " AUTHENTICATE PLAIN\r\n";
fwrite($this->_stream, $query);
$read = $this->_fgets();
if (substr($read, 0, 1) == '+') {
fwrite($this->_stream, "$auth\r\n");
$read = $this->_fgets();
} else {
return PEAR::raiseError(lang("Unexpected response from server to AUTHENTICATE command."), 'horde.error');
}
}
break;
}
/* Check for failed login. */
$results = explode(' ', $read, 3);
$response = $results[1];
if ($response != 'OK') {
$message = !empty($results[2]) ? htmlspecialchars($results[2]) : lang("No message returned.");
switch ($response) {
case 'NO':
return PEAR::raiseError(sprintf(lang("Bad login name or password."), $message), 'horde.error');
case 'BAD':
default:
return PEAR::raiseError(sprintf(lang("Bad request: %s"), $message), 'horde.error');
}
}
return true;
}
/**
* Log out of the IMAP session.
*/
function logout()
{
/* Logout is not valid until the server returns 'BYE'
* If we don't have an imap_ stream we're already logged out */
if (isset($this->_stream) && $this->_stream) {
$this->_runCommand('LOGOUT');
}
}
/**
* Get the CAPABILITY string from the IMAP server.
*
* @access private
*/
function _capability()
{
if (!is_null($this->_capability)) {
return;
}
$this->_capability = array();
$read = $this->_runCommand('CAPABILITY');
if (is_a($read, 'PEAR_Error')) {
#LK Horde::logMessage($read, __FILE__, __LINE__, PEAR_LOG_ERR);
return;
}
$c = explode(' ', trim($read[0]));
for ($i = 2; $i < count($c); $i++) {
$cap_list = explode('=', $c[$i]);
if (isset($cap_list[1])) {
if (!isset($this->_capability[$cap_list[0]])) {
$this->_capability[$cap_list[0]] = array();
}
$this->_capability[$cap_list[0]][] = $cap_list[1];
} else {
$this->_capability[$cap_list[0]] = true;
}
}
}
/**
* Returns whether the IMAP server supports the given capability.
*
* @param string $capability The capability string to query.
*
* @param mixed True if the server supports the queried capability,
* false if it doesn't, or an array if the capability can
* contain multiple values.
*/
function queryCapability($capability)
{
$this->_capability();
return isset($this->_capability[$capability]) ? $this->_capability[$capability] : false;
}
/**
* Get the NAMESPACE information from the IMAP server.
*
* @param array $additional If the server supports namespaces, any
* additional namespaces to add to the
* namespace list that are not broadcast by
* the server.
*
* @return array An array with the following format:
* <pre>
* Array
* (
* [foo] => Array
* (
* [name] => (string)
* [delimiter] => (string)
* [type] => 'personal' | 'others' | 'shared'
* [hidden] => (boolean)
* )
*
* [foo2] => Array
* (
* ...
* )
* )
* </pre>
*/
function namespace($additional = array())
{
if (!is_null($this->_namespace)) {
return $this->_namespace;
}
$namespace_array = array(
1 => 'personal',
2 => 'others',
3 => 'shared'
);
if ($this->queryCapability('NAMESPACE')) {
/*
* According to rfc2342 response from NAMESPACE command is:
* * NAMESPACE (PERSONAL NAMESPACES) (OTHER_USERS NAMESPACE) (SHARED NAMESPACES)
*/
$read = $this->_runCommand('NAMESPACE');
if (is_a($read, 'PEAR_Error')) {
#LK Horde::logMessage($read, __FILE__, __LINE__, PEAR_LOG_ERR);
return $read;
}
if (eregi('\\* NAMESPACE +(\\( *\\(.+\\) *\\)|NIL) +(\\( *\\(.+\\) *\\)|NIL) +(\\( *\\(.+\\) *\\)|NIL)', $read[0], $data)) {
for ($i = 1; $i <= 3; $i++) {
if ($data[$i] == 'NIL') {
continue;
}
$pna = explode(')(', $data[$i]);
while (list($k, $v) = each($pna)) {
$lst = explode('"', $v);
$delimiter = (isset($lst[3])) ? $lst[3] : '';
$this->_namespace[$lst[1]] = array('name' => $lst[1], 'delimiter' => $delimiter, 'type' => $namespace_array[$i], 'hidden' => false);
}
}
}
foreach ($additional as $val) {
/* Skip namespaces if we have already auto-detected them.
* Also, hidden namespaces cannot be empty. */
$val = trim($val);
if (empty($val) || isset($this->_namespace[$val])) {
continue;
}
$read = $this->_runCommand('LIST "" "' . $val . '"');
if (is_a($read, 'PEAR_Error')) {
#LK Horde::logMessage($read, __FILE__, __LINE__, PEAR_LOG_ERR);
return $res;
}
if (!empty($read) &&
preg_match("/^\* LIST \(.*\) \"(.*)\" \"?(.*?)\"?\s*$/", $read[0], $data) &&
($data[2] == $val)) {
$this->_namespace[$val] = array('name' => $val, 'delimiter' => $data[1], 'type' => $namespace_array[3], 'hidden' => true);
}
}
} else {
$res = $this->_runCommand('LIST "" ""');
if (is_a($res, 'PEAR_Error')) {
#LK Horde::logMessage($res, __FILE__, __LINE__, PEAR_LOG_ERR);
return $res;
}
$quote_position = strpos($res[0], '"');
$this->_namespace[''] = array('name' => '', 'delimiter' => substr($res[0], $quote_position + 1 , 1), 'type' => $namespace_array[1], 'hidden' => false);
}
return $this->_namespace;
}
/**
* Determines whether the IMAP search command supports the optional
* charset provided.
*
* @param string $charset The character set to test.
*
* @return boolean True if the IMAP search command supports the charset.
*/
function searchCharset($charset)
{
$this->_runCommand('SELECT INBOX');
$read = $this->_runCommand('SEARCH CHARSET ' . $charset . ' TEXT "charsettest" 1');
return !is_a($read, 'PEAR_Error');
}
}

View File

@ -0,0 +1,463 @@
<?php
/***************************************************************************\
* EGroupWare - EMailAdmin IMAP via Plesk *
* http://www.egroupware.org *
* Written and (c) 2006 by RalfBecker-AT-outdoor-training.de *
* ------------------------------------------------------------------------- *
* emailadmin plugin for plesk: *
* - tested with Plesk7.5 under Linux, but should work with other plesk *
* versions and Windows too as it uses plesks cli (command line interface) *
* - this plugin ONLY works if you have root access to the webserver !!! *
* - you need to have mail activated for the domain in plesk first *
* - you need to configure the path to plesk's mail.sh or mail.exe cli by *
* editing this file (search for psa_mail_script) for now *
* - to allow the webserver to use the mail cli under Linux you need to *
* install the sudo package and add the following line to your sudoers *
* file using the visudo command as root: *
* wwwrun ALL = NOPASSWD: /usr/local/psa/bin/mail.sh *
* Replace wwwrun with the user the webserver is running as and, if *
* necessary adapt the path to mail.sh. *
* PLEASE NOTE: This allows all webserver users to run the mail.sh script *
* and to change the mail configuration of ALL domains !!! *
* => as with the "LDAP, Postfix & Cyrus" plugin the plesk one creates mail *
* users and manages passwords, aliases, forwards and quota from within *
* eGroupWare - no need to additionally visit the plesk interface anymore *
* ------------------------------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; version 2 of the License. *
\***************************************************************************/
/* $Id$ */
include_once(EGW_SERVER_ROOT."/emailadmin/inc/class.defaultimap.inc.php");
class pleskimap extends defaultimap
{
/**
* @var string $psa_mail_script full path to Plesk's mail.sh (Linux including sudo!) or mail.exe (Windows) interface
*/
var $psa_mail_script = '/usr/bin/sudo /usr/local/psa/bin/mail.sh'; // 'C:/psa/bin/mail.exe'
/**
* @var boolean $allways_create_mailbox true = allways create a mailbox on user creation,
* false = only if a local email (no forward) is given. To use felamimail you need a mailbox!
*/
var $allways_create_mailbox = true;
/**
* @var array $create_folders=array('Send','Trash') folders to automatic create and subscribe on account creation
*/
var $create_folders = array('Sent','Trash');
/**
* @var string/boolean $error string with last error-message or false
*/
var $error = false;
function pleskimap($profileData)
{
$this->defaultimap($profileData); // calling the parent constructor
}
/**
* Create a full mailbox or just forward, depending on the given email address
* If email matches the default domain, we create a full mailbox, otherwise we create a forward
*
* @param array $hookValues
* @param string $action='create'
* @return boolean true on success, false otherwise
*/
function addAccount($hookValues,$action='create')
{
//echo "<p>pleskimap::addAccount(".print_r($hookValues,true).")</p>\n";
$defaultDomain = $this->profileData['defaultDomain'] ? $this->profileData['defaultDomain'] :
$GLOBALS['egw_info']['server']['mail_suffix'];
$localEmail = $hookValues['account_lid'].'@'.$defaultDomain;
$aliases = $forwards = array();
// is the given email a local address from our default domain?
if (substr($hookValues['account_email'],-1-strlen($defaultDomain)) != '@'.$defaultDomain)
{
$forwards[] = $hookValues['account_email'];
}
elseif ($hookValues['account_email'] != $localEmail)
{
$aliases[] = $hookValues['account_email'];
}
// add a default alias with Firstname.Lastname
if (!in_array($alias=$hookValues['account_firstname'].'.'.$hookValues['account_lastname'],$aliases) &&
$this->is_email($alias))
{
$aliases[] = $alias;
}
$info = $this->plesk_mail($action,$hookValues['account_lid'],$hookValues['account_passwd'],
$action != 'create' && !$aliases ? null : $aliases,$forwards,$this->allways_create_mailbox);
if (!$info['SUCCESS']) return false;
if ($forwards && !$this->allways_create_mailbox) return true; // no mailbox created, only a forward
// create Sent & Trash mailboxes and subscribe them
if(($mbox = @imap_open ($this->getMailboxString(),$localEmail,$hookValues['account_passwd'])))
{
$list = imap_getmailboxes($mbox, $this->getMailboxString(),'INBOX');
$delimiter = isset($list[0]->delimiter) ? $list[0]->delimiter : '.';
imap_subscribe($mbox,$this->getMailboxString('INBOX'));
foreach($this->create_folders as $folder)
{
$mailBoxName = 'INBOX'.$delimiter.$folder;
if(imap_createmailbox($mbox,imap_utf7_encode('{'.$this->profileData['imapServer'].'}'.$mailBoxName)))
{
imap_subscribe($mbox,$this->getMailboxString($mailBoxName));
}
}
imap_close($mbox);
}
return true;
}
function deleteAccount($hookValues)
{
//echo "<p>pleskimap::deleteAccount(".print_r($hookValues,true).")</p>\n";
return $this->plesk_mail('remove',$hookValues['account_lid']);
}
function updateAccount($hookValues)
{
//echo "<p>pleskimap::updateAccount(".print_r($hookValues,true).")</p>\n";
if($hookValues['account_lid'] != $hookValues['old_loginid'])
{
$this->error = lang("Plesk can't rename users --> request ignored");
return false;
}
return $this->addAccount($hookValues,'update');
}
/**
* Read data from the mail account
*
* @param string/int $accountID
* @return array/boolean with keys mailLocalAddress, mailAlternateAddress, accountStatus, mailRoutingAddress, ... or false if not found
*/
function getUserData($accountID)
{
//echo "<p>pleskimap::getUserData('$accountID')</p>\n";
if (!($info = $this->plesk_mail('info',$accountID))) return false;
//_debug_array($info);
$data = array(
'mailLocalAddress' => $info['Mailname'].'@'.$info['Domain'],
'mailAlternateAddress' => $info['Alias(es)'] ? explode(' ',$info['Alias(es)']) : array(),
'accountStatus' => $info['Mailbox'] == 'true' || $info['Redirect'] == 'true' ? 'active' : 'disabled',
'mailRoutingAddress' => $info['Redirect address'] ? explode(' ',$info['Redirect address']) : false,
'deliveryMode' => $info['Redirect'] == 'true' && $info['Mailbox'] == 'false' ? 'forwardOnly' : '',
// 'qmailDotMode' => false,
// 'deliveryProgramPath' => false,
'quotaLimit' => $info['Mbox quota'] == 'Unlimited' ? '' : $info['Mbox quota']/1024.0,
);
//_debug_array($data);
return $data;
}
/**
* Save mail account data
*
* @param string/int $accountID
* @param array $accountData with keys mailLocalAddress, mailAlternateAddress, accountStatus, mailRoutingAddress, ...
* @return boolean true on success, false otherwise
*/
function saveUserData($accountID, $accountData)
{
//echo "<p>pleskimap::saveUserData('$accountID',".print_r($accountData,true).")</p>\n";
// not used: $accountData['accountStatus']=='active', $accountData['qmailDotMode'], $accountData['deliveryProgramPath']
$info = $this->plesk_mail('update',$accountID,null,
$accountData['mailAlternateAddress'] ? $accountData['mailAlternateAddress'] : array(),
$accountData['mailRoutingAddress'] ? $accountData['mailRoutingAddress'] : array(),
empty($accountData['deliveryMode']),
1024*(float)$accountData['quotaLimit'],$accountData['accountStatus']=='active');
if (!$info['SUCCSESS'])
{
if ($info) $this->error = implode(', ',$info);
return false;
}
return true;
}
/**
* call plesk's mail command line interface
*
* Usage: mail.sh command <mail_name> [options]
*
* Available commands:
* --create or -c <mail>@<domain> creates mail account
* --update or -u <mail>@<domain> updates mail account parameters
* --remove or -r <mail>@<domain> removes mail account
* --info or -i <mail>@<domain> retrieves mail account information
* --on <domain> enables mail service for domain
* --off <domain> disables mail service for domain
* --help or -h displays this help page
*
* Available options:
* -cp_access <true|false> enables control panel access (default:
* true)
* -mailbox <true|false> creates/removes mailbox
* -passwd <passwd> sets mailbox password [see the note
* below for details]
* -boxpass <passwd> obsolete alias for option "passwd"
* (this option may be removed from
* future releases)
* -passwd_type <plain|crypt> specifies the type of mailbox
* password, ignored if no password
* specified [see the note below for
* details]
* -mbox_quota <KB> limits the mailbox quota to the
* desired amount
* -boxquota <KB> obsolete alias for option "mbox_quota"
* (this option may be removed from
* future releases)
* -aliases <add|del>:<name1[,name2]> adds or deletes mail
* alias(es) to/from mailname
* -mgroups <add|del>:<list1[,list2]> adds or removes mail name
* to/from mail group
* -redirect <true|false> switches mail redirect on/off
* -rediraddr <addr> sets redirect to address (required if
* redirect is enabled)
* -group <true|false> switches mail group on/off
* -groupmem <add|del>:<addr1[,addr2]> adds/removes address(-es)
* to/from mail group
* -repo <add|del>:<file1[,file2]> adds/removes file to/from
* attachments repository
* [deprecated, use
* autoresponder.sh]
* -autorsp <true|false> switches all autoresponders on/off
* [deprecated, use autoresponder.sh]
* -autoname <name> autoresponder name (required for all
* autoresponder options) [deprecated,
* use autoresponder.sh]
* -autostatus <true|false> switches on/off autoresponder with
* specified name (true) [deprecated,
* use autoresponder.sh]
* -autoreq <subj|body>:<string> or <always> defines the condition
* for the autoresponder
* to be activated
* whether the
* specified pattern is
* encountered in the
* subject or body, or
* to respond always
* [deprecated, use
* autoresponder.sh]
* -autosubj <original|string> the subject line to be set up into
* autoresponder ("Re: <incoming
* subject>") or a custom string
* [deprecated, use autoresponder.sh]
* -auto_replyto <string> return address that will be set up
* into the autoresponder's messages
* [deprecated, use autoresponder.sh]
* -autotext <string> autoresponder message text
* [deprecated, use autoresponder.sh]
* -autoatch <add|del>:<file1[,file2]> adds/removes autoresponder
* attachment files
* [deprecated, use
* autoresponder.sh]
* -autofrq <number> defines the maximum number of
* responses to a unique e-mail address
* per day [deprecated, use
* autoresponder.sh]
* -autostor <number> defines the number of unique addresses
* to be stored for autoresponder
* [deprecated, use autoresponder.sh]
* -autored <addr> defines the e-mail address to forward
* all incoming mail to [deprecated, use
* autoresponder.sh]
* -multiple-sessions <true|false> allow multiple sessions
*
* Note:
* For security reasons, you can transfer not encrypted passwords via environment
* variable PSA_PASSWORD, by specifying the empty value in the command line for
* the passwd arguments (like " -passwd ''") and setting the password value in
* the PSA_PASSWORD variable.
* Similarly, you can transfer the crypted password via the environment variable
* PSA_CRYPTED_PASSWORD, by specifying the empty value in the command line for
* the passwd arguments (like " -passwd ''") and by setting the password value in
* the PSA_CRYPTED_PASSWORD variable.
*
* Version: psa v7.5.0_build75041208.07 os_SuSE 9.1
*
* mail.sh --info account@domain.com
* Mailname: account
* Domain: domain.com
* Alias(es): Firstname.Lastname
* CP Access: true
* Mailbox: true
* Password: geheim
* Password type: plain
* Mbox quota: Unlimited
* Redirect: false
* Mailgroup: false
* File repository: Empty
* Autoresponder: false
* Antivirus mail
* checking: Disabled
*
* SUCCESS: Gathering information for 'account@domain.com' complete
*
* mail.sh --info bogus@domain.com
* An error occured during getting mailname information: Mailname 'bogus@domain.com' doesn't exists
*
* @param string $action 'info', 'create', 'update' or 'remove'
* @param string/int $account account_lid or numerical account_id
* @param string $password=null string with password or null to not change
* @param array $aliases=null array with aliases or null to not change the aliases
* @param array $forwards=null array of email address to forward or null to not change
* @param boolean $keepLocalCopy=null if forwarding keep a local copy or not, null = dont change
* @param int $quota_kb=null mailbox quota in kb
* @return boolean/array array with returned values or false otherwise, error-message in $this->error
*/
function plesk_mail($action,$account,$password=null,$aliases=null,$forwards=null,$keepLocalCopy=null,$quota_kb=null)
{
//echo "<p>smtpplesk::plesk_mail('$action','$account','$password',".print_r($aliases,true).",".print_r($forwards,true).",".(is_null($keepLocalCopy)?'':(int)$keepLocalCopy).",$quota_kb)</p>\n";
$this->error = false;
if (is_numeric($account))
{
$account_lid = $GLOBALS['egw']->accounts->id2name($account);
}
elseif ($GLOBALS['egw']->accounts->name2id($account))
{
$account_lid = $account;
}
if (!$account_lid)
{
$this->error = lang("Account '%1' not found !!!",$account);
return false;
}
if (!in_array($action,array('info','create','update','remove')))
{
$this->error = lang("Unsupported action '%1' !!!",$action);
return false;
}
$defaultDomain = $this->profileData['defaultDomain'] ? $this->profileData['defaultDomain'] :
$GLOBALS['egw_info']['server']['mail_suffix'];
if ($action == 'update' && !($info = $this->plesk_mail('info',$account)))
{
$action = 'create'; // mail-account does not yet exist --> create it
}
$localEmail = $account_lid.'@'.$defaultDomain;
$script = $this->psa_mail_script . ' --'.$action . ' ' . $localEmail;
if ($action != 'info')
{
// invalidate our cache
$GLOBALS['egw']->session->appsession('plesk-email-'.$account_lid,'emailadmin',false);
// we dont set passwords shorten then 5 chars, as it only give an error in plesk
if (!is_null($password) && $password)
{
if (strlen($password) < 5 || strstr($password,$account_lid))
{
$this->error = lang('Plesk requires passwords to have at least 5 characters and not contain the account-name --> password NOT set!!!');
}
else
{
$script .= ' -passwd \''.str_replace('\'','\\\'',$password).'\' -passwd_type plain';
}
}
if ($action == 'create' || !is_null($forwards) || !is_null($keepLocalCopy))
{
$script .= ' -mailbox '.(!$forwards || $keepLocalCopy ? 'true' : 'false');
}
// plesk allows only one forwarding address, we ignore everything but the first
if (!is_null($forwards) && (!$forwards || $this->is_email($forwards[0])))
{
$script .= ' -redirect '.(!$forwards ? 'false' : 'true -rediraddr '.$forwards[0]);
}
if ($action == 'update')
{
if (!is_null($aliases))
{
$existing_aliases = explode(' ',$info['Alias(es)']); // without domain!
$delete_aliases = array();
foreach($existing_aliases as $alias)
{
if ($alias && !in_array($alias,$aliases) && !in_array($alias.'@'.$defaultDomain,$aliases))
{
$delete_aliases[] = $alias;
}
}
if ($delete_aliases)
{
$script .= ' -aliases del:'.implode(',',$delete_aliases);
}
foreach($aliases as $n => $alias)
{
if (in_array($alias,$existing_aliases) || in_array(str_replace('@'.$defaultDomain,'',$alias),$existing_aliases))
{
unset($aliases[$n]); // no change
}
}
}
}
if (!is_null($aliases) && count($aliases))
{
foreach($aliases as $alias)
{
if (!$this->is_email($alias)) return false; // security precausion
}
$script .= ' -aliases add:'.str_replace('@'.$defaultDomain,'',implode(',',$aliases));
}
if (!is_null($quota_kb) && (int)$quota_kb)
{
$script .= ' -mbox_quota '.(int)$quota_kb;
}
}
//echo "<p>$script</p>\n";
if (!($fp = popen($script.' 2>&1','r')))
{
$this->error = lang("Plesk mail script '%1' not found !!!",$this->psa_mail_script);
return false;
}
$values = array();
while(!feof($fp))
{
$line = trim(fgets($fp));
list($name,$value) = split(': *',$line,2);
if (!is_null($value) && !strstr($name,'An error occured') && $name)
{
$values[$name] = $value;
}
elseif ($line)
{
$values[] = $line;
}
}
pclose($fp);
if (!$values['SUCCESS'])
{
$this->error = implode(', ',$values);
return false;
}
return $values;
}
/**
* checks for valid email addresse (local mail address dont need a domain!)
*
* Important as we run shell scripts with the address and one could try to run arbitrary commands this way!!!
* We only allow letters a-z, numbers and the following other chars: _ . - @
*
* @return boolean
*/
function is_email($email)
{
return preg_match('/^[@a-z0-9_.-]+$/i',$email);
}
}

View File

@ -0,0 +1,215 @@
<?php
/***************************************************************************\
* EGroupWare - EMailAdmin *
* http://www.egroupware.org *
* Written by : Lars Kneschke [lkneschke@linux-at-work.de] *
* ------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\***************************************************************************/
/* $Id: class.postfixldap.inc.php 22439 2006-09-16 09:19:43Z ralfbecker $ */
include_once(EGW_SERVER_ROOT."/emailadmin/inc/class.defaultsmtp.inc.php");
class postfixdbmailuser extends defaultsmtp
{
function addAccount($_hookValues)
{
$mailLocalAddress = $_hookValues['account_email'] ? $_hookValues['account_email'] :
$GLOBALS['egw']->common->email_address($_hookValues['account_firstname'],
$_hookValues['account_lastname'],$_hookValues['account_lid'],$this->defaultDomain);
$ds = $GLOBALS['egw']->common->ldapConnect();
$filter = "uid=".$_hookValues['account_lid'];
$sri = @ldap_search($ds,$GLOBALS['egw_info']['server']['ldap_context'],$filter);
if ($sri)
{
$allValues = ldap_get_entries($ds, $sri);
$accountDN = $allValues[0]['dn'];
$objectClasses = $allValues[0]['objectclass'];
unset($objectClasses['count']);
}
else
{
return false;
}
if(!in_array('dbmailUser',$objectClasses) &&
!in_array('dbmailuser',$objectClasses))
{
$objectClasses[] = 'dbmailuser';
}
// the new code for postfix+cyrus+ldap
$newData = array
(
'mail' => $mailLocalAddress,
'accountStatus' => 'active',
'objectclass' => $objectClasses
);
ldap_mod_replace ($ds, $accountDN, $newData);
#print ldap_error($ds);
}
function getAccountEmailAddress($_accountName)
{
$emailAddresses = array();
$ds = $GLOBALS['egw']->common->ldapConnect();
$filter = sprintf("(&(uid=%s)(objectclass=posixAccount))",$_accountName);
$attributes = array('dn','mail','mailAlternateAddress');
$sri = @ldap_search($ds, $GLOBALS['egw_info']['server']['ldap_context'], $filter, $attributes);
if ($sri)
{
$realName = trim($GLOBALS['egw_info']['user']['firstname'] . (!empty($GLOBALS['egw_info']['user']['firstname']) ? ' ' : '') . $GLOBALS['egw_info']['user']['lastname']);
$allValues = ldap_get_entries($ds, $sri);
if(isset($allValues[0]['mail'][0]))
{
$emailAddresses[] = array
(
'name' => $realName,
'address' => $allValues[0]['mail'][0],
'type' => 'default'
);
}
if($allValues[0]['mailalternateaddress']['count'] > 0)
{
$count = $allValues[0]['mailalternateaddress']['count'];
for($i=0; $i < $count; $i++)
{
$emailAddresses[] = array
(
'name' => $realName,
'address' => $allValues[0]['mailalternateaddress'][$i],
'type' => 'alternate'
);
}
}
}
return $emailAddresses;
}
function getUserData($_uidnumber) {
$userData = array();
$ldap = $GLOBALS['egw']->common->ldapConnect();
if (($sri = @ldap_search($ldap,$GLOBALS['egw_info']['server']['ldap_context'],"(uidnumber=$_uidnumber)")))
{
$allValues = ldap_get_entries($ldap, $sri);
if ($allValues['count'] > 0)
{
#print "found something<br>";
$userData["mailLocalAddress"] = $allValues[0]["mail"][0];
$userData["mailAlternateAddress"] = $allValues[0]["mailalternateaddress"];
$userData["accountStatus"] = $allValues[0]["accountstatus"][0];
$userData["mailForwardingAddress"] = $allValues[0]["mailforwardingaddress"];
$userData["deliveryProgramPath"] = $allValues[0]["deliveryprogrampath"][0];
$userData["deliveryMode"] = $allValues[0]["deliverymode"][0];
unset($userData["mailAlternateAddress"]["count"]);
unset($userData["mailForwardingAddress"]["count"]);
return $userData;
}
}
return $userData;
}
function setUserData($_uidnumber, $_mailAlternateAddress, $_mailForwardingAddress, $_deliveryMode, $_accountStatus, $_mailLocalAddress) {
$filter = "uidnumber=$_uidnumber";
$ldap = $GLOBALS['egw']->common->ldapConnect();
$sri = @ldap_search($ldap,$GLOBALS['egw_info']['server']['ldap_context'],$filter);
if ($sri) {
$allValues = ldap_get_entries($ldap, $sri);
$accountDN = $allValues[0]['dn'];
$uid = $allValues[0]['uid'][0];
$objectClasses = $allValues[0]['objectclass'];
unset($objectClasses['count']);
if(!in_array('dbmailUser',$objectClasses) &&
!in_array('dbmailuser',$objectClasses))
{
$objectClasses[] = 'dbmailuser';
sort($objectClasses);
$newData['objectclass'] = $objectClasses;
}
sort($_mailAlternateAddress);
sort($_mailForwardingAddress);
$newData['mailalternateaddress'] = (array)$_mailAlternateAddress;
$newData['mailforwardingaddress'] = (array)$_mailForwardingAddress;
$newData['deliverymode'] = $_deliveryMode ? 'forwardOnly' : array();
$newData['accountstatus'] = $_accountStatus ? 'active' : array();
$newData['mail'] = $_mailLocalAddress;
ldap_mod_replace($ldap, $accountDN, $newData);
}
else
{
return false;
}
}
function saveSMTPForwarding($_accountID, $_forwardingAddress, $_keepLocalCopy)
{
$ds = $GLOBALS['egw']->common->ldapConnect();
$filter = sprintf("(&(uidnumber=%s)(objectclass=posixAccount))",$_accountID);
$attributes = array('dn','mailforwardingaddress','deliverymode','objectclass');
$sri = ldap_search($ds, $GLOBALS['egw_info']['server']['ldap_context'], $filter, $attributes);
if ($sri)
{
$newData = array();
$allValues = ldap_get_entries($ds, $sri);
$newData['objectclass'] = $allValues[0]['objectclass'];
unset($newData['objectclass']['count']);
if(!in_array('dbmailUser',$newData['objectclass']) &&
!in_array('dbmailuser',$newData['objectclass']))
{
$newData['objectclass'][] = 'dbmailuser';
}
if(!empty($_forwardingAddress))
{
if(is_array($allValues[0]['mailforwardingaddress']))
{
$newData['mailforwardingaddress'] = $allValues[0]['mailforwardingaddress'];
unset($newData['mailforwardingaddress']['count']);
$newData['mailforwardingaddress'][0] = $_forwardingAddress;
}
else
{
$newData['mailforwardingaddress'][0] = $_forwardingAddress;
}
$newData['deliverymode'] = ($_keepLocalCopy == 'yes'? array() : 'forwardOnly');
}
else
{
$newData['mailforwardingaddress'] = array();
$newData['deliverymode'] = array();
}
ldap_modify ($ds, $allValues[0]['dn'], $newData);
#print ldap_error($ds);
}
}
}
?>

View File

@ -0,0 +1,139 @@
<?php
/**
* eGroupWare EmailAdmin - Postfix with inetOrgPerson schema
*
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @package emailadmin
* @link http://www.egroupware.org
* @author Ralf Becker <RalfBecker@outdoor-training.de>
* @author Lars Kneschke <l.kneschke@metaways.de>
* @version $Id$
*/
include_once(EGW_SERVER_ROOT.'/emailadmin/inc/class.defaultsmtp.inc.php');
/**
* Postfix with inetOrgPerson schema (default for eGW accounts)
*
* Stores the aliases as aditional mail Attributes. The primary mail address is the first one.
*
* At the moment we support no forwarding with this schema and no disabling of an account
*/
class postfixinetorgperson extends defaultsmtp
{
/**
* Add an account, nothing needed as we dont have to add an additional schema
*
* @param array $_hookValues
*/
function addAccount($_hookValues)
{
}
/**
* Get all email addresses of an account
*
* @param string $_accountName
* @return array
*/
function getAccountEmailAddress($_accountName)
{
$emailAddresses = array();
$ds = $GLOBALS['egw']->common->ldapConnect();
$sri = @ldap_search($ds, $GLOBALS['egw_info']['server']['ldap_context'],"(&(uid=$_accountName)(objectclass=posixAccount))",array('dn','mail'));
if ($sri && ($allValues = ldap_get_entries($ds, $sri)) && is_array($allValues[0]['mail']))
{
$realName = trim($GLOBALS['egw_info']['user']['firstname'] . (!empty($GLOBALS['egw_info']['user']['firstname']) ? ' ' : '') . $GLOBALS['egw_info']['user']['lastname']);
foreach($allValues[0]['mail'] as $n => $mail)
{
if (!is_numeric($n)) continue;
$emailAddresses[] = array(
'name' => $realName,
'address' => $mail,
'type' => !$n ? 'default' : 'alternate',
);
}
}
//echo "<p>postfixinetorgperson::getAccountEmail($_accountName)"; _debug_array($emailAddresses);
return $emailAddresses;
}
/**
* Get the data of a given user
*
* @param int $_uidnumber numerical user-id
* @return array
*/
function getUserData($_uidnumber)
{
$userdata = array();
$ldap = $GLOBALS['egw']->common->ldapConnect();
if (($sri = @ldap_search($ldap,$GLOBALS['egw_info']['server']['ldap_context'],'uidnumber='.(int)$_uidnumber,array('mail'))))
{
$allValues = ldap_get_entries($ldap, $sri);
if ($allValues['count'] > 0)
{
unset($allValues[0]['mail']['count']);
$userdata = array(
'mailLocalAddress' => array_shift($allValues[0]['mail']),
'mailAlternateAddress' => $allValues[0]['mail'],
'accountStatus' => 'active',
'mailForwardingAddress' => array(),
// 'deliveryMode' => ,
);
}
}
//echo "<p>postfixinetorgperson::getUserData($_uidnumber) = ".print_r($userdata,true)."</p>\n";
return $userdata;
}
/**
* Set the data of a given user
*
* @param int $_uidnumber numerical user-id
* @param array $_mailAlternateAddress
* @param array $_mailForwardingAddress
* @param string $_deliveryMode
* @param string $_accountStatus
* @param string $_mailLocalAddress
* @return boolean
*/
function setUserData($_uidnumber, $_mailAlternateAddress, $_mailForwardingAddress, $_deliveryMode, $_accountStatus, $_mailLocalAddress)
{
$filter = "uidnumber=$_uidnumber";
$ldap = $GLOBALS['egw']->common->ldapConnect();
if (($sri = @ldap_search($ldap,$GLOBALS['egw_info']['server']['ldap_context'],'uidnumber='.(int)$_uidnumber,array('dn'))))
{
$allValues = ldap_get_entries($ldap, $sri);
$accountDN = $allValues[0]['dn'];
sort($_mailAlternateAddress);
$newData['mail'] = array_values(array_unique(array_merge(array($_mailLocalAddress),$_mailAlternateAddress)));
// sort($_mailForwardingAddress);
// $newData['forwards'] = (array)$_mailForwardingAddress;
// $newData['active'] = $_accountStatus;
// $newData['mode'] = $_deliveryMode;
//echo "<p>postfixinetorgperson::setUserData($_uidnumber,...) setting $accountDN to ".print_r($newData,true)."</p>\n";
return ldap_mod_replace($ldap, $accountDN, $newData);
}
return false;
}
/**
* Saves the forwarding information
*
* @param int $_accountID
* @param string $_forwardingAddress
* @param string $_keepLocalCopy 'yes'
*/
function saveSMTPForwarding($_accountID, $_forwardingAddress, $_keepLocalCopy)
{
}
}

View File

@ -0,0 +1,216 @@
<?php
/***************************************************************************\
* EGroupWare - EMailAdmin *
* http://www.egroupware.org *
* Written by : Lars Kneschke [lkneschke@linux-at-work.de] *
* ------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\***************************************************************************/
/* $Id$ */
include_once(EGW_SERVER_ROOT."/emailadmin/inc/class.defaultsmtp.inc.php");
class postfixldap extends defaultsmtp
{
function addAccount($_hookValues)
{
$mailLocalAddress = $_hookValues['account_email'] ? $_hookValues['account_email'] :
$GLOBALS['egw']->common->email_address($_hookValues['account_firstname'],
$_hookValues['account_lastname'],$_hookValues['account_lid'],$this->defaultDomain);
$ds = $GLOBALS['egw']->common->ldapConnect();
$filter = "uid=".$_hookValues['account_lid'];
$sri = @ldap_search($ds,$GLOBALS['egw_info']['server']['ldap_context'],$filter);
if ($sri)
{
$allValues = ldap_get_entries($ds, $sri);
$accountDN = $allValues[0]['dn'];
$objectClasses = $allValues[0]['objectclass'];
unset($objectClasses['count']);
}
else
{
return false;
}
if(!in_array('qmailUser',$objectClasses) &&
!in_array('qmailuser',$objectClasses))
{
$objectClasses[] = 'qmailuser';
}
// the new code for postfix+cyrus+ldap
$newData = array
(
'mail' => $mailLocalAddress,
'accountStatus' => 'active',
'objectclass' => $objectClasses
);
ldap_mod_replace ($ds, $accountDN, $newData);
#print ldap_error($ds);
}
function getAccountEmailAddress($_accountName)
{
$emailAddresses = array();
$ds = $GLOBALS['egw']->common->ldapConnect();
$filter = sprintf("(&(uid=%s)(objectclass=posixAccount))",$_accountName);
$attributes = array('dn','mail','mailAlternateAddress');
$sri = @ldap_search($ds, $GLOBALS['egw_info']['server']['ldap_context'], $filter, $attributes);
if ($sri)
{
$realName = trim($GLOBALS['egw_info']['user']['firstname'] . (!empty($GLOBALS['egw_info']['user']['firstname']) ? ' ' : '') . $GLOBALS['egw_info']['user']['lastname']);
$allValues = ldap_get_entries($ds, $sri);
if(isset($allValues[0]['mail'][0]))
{
$emailAddresses[] = array
(
'name' => $realName,
'address' => $allValues[0]['mail'][0],
'type' => 'default'
);
}
if($allValues[0]['mailalternateaddress']['count'] > 0)
{
$count = $allValues[0]['mailalternateaddress']['count'];
for($i=0; $i < $count; $i++)
{
$emailAddresses[] = array
(
'name' => $realName,
'address' => $allValues[0]['mailalternateaddress'][$i],
'type' => 'alternate'
);
}
}
}
return $emailAddresses;
}
function getUserData($_uidnumber) {
$userData = array();
$ldap = $GLOBALS['egw']->common->ldapConnect();
if (($sri = @ldap_search($ldap,$GLOBALS['egw_info']['server']['ldap_context'],"(uidnumber=$_uidnumber)")))
{
$allValues = ldap_get_entries($ldap, $sri);
if ($allValues['count'] > 0)
{
#print "found something<br>";
$userData["mailLocalAddress"] = $allValues[0]["mail"][0];
$userData["mailAlternateAddress"] = $allValues[0]["mailalternateaddress"];
$userData["accountStatus"] = $allValues[0]["accountstatus"][0];
$userData["mailForwardingAddress"] = $allValues[0]["mailforwardingaddress"];
$userData["qmailDotMode"] = $allValues[0]["qmaildotmode"][0];
$userData["deliveryProgramPath"] = $allValues[0]["deliveryprogrampath"][0];
$userData["deliveryMode"] = $allValues[0]["deliverymode"][0];
unset($userData["mailAlternateAddress"]["count"]);
unset($userData["mailForwardingAddress"]["count"]);
return $userData;
}
}
return $userData;
}
function setUserData($_uidnumber, $_mailAlternateAddress, $_mailForwardingAddress, $_deliveryMode, $_accountStatus, $_mailLocalAddress) {
$filter = "uidnumber=$_uidnumber";
$ldap = $GLOBALS['egw']->common->ldapConnect();
$sri = @ldap_search($ldap,$GLOBALS['egw_info']['server']['ldap_context'],$filter);
if ($sri) {
$allValues = ldap_get_entries($ldap, $sri);
$accountDN = $allValues[0]['dn'];
$uid = $allValues[0]['uid'][0];
$objectClasses = $allValues[0]['objectclass'];
unset($objectClasses['count']);
if(!in_array('qmailUser',$objectClasses) &&
!in_array('qmailuser',$objectClasses))
{
$objectClasses[] = 'qmailuser';
sort($objectClasses);
$newData['objectclass'] = $objectClasses;
}
sort($_mailAlternateAddress);
sort($_mailForwardingAddress);
$newData['mailalternateaddress'] = (array)$_mailAlternateAddress;
$newData['mailforwardingaddress'] = (array)$_mailForwardingAddress;
$newData['deliverymode'] = $_deliveryMode ? 'forwardOnly' : array();
$newData['accountstatus'] = $_accountStatus ? 'active' : array();
$newData['mail'] = $_mailLocalAddress;
ldap_mod_replace($ldap, $accountDN, $newData);
}
else
{
return false;
}
}
function saveSMTPForwarding($_accountID, $_forwardingAddress, $_keepLocalCopy)
{
$ds = $GLOBALS['egw']->common->ldapConnect();
$filter = sprintf("(&(uidnumber=%s)(objectclass=posixAccount))",$_accountID);
$attributes = array('dn','mailforwardingaddress','deliverymode','objectclass');
$sri = ldap_search($ds, $GLOBALS['egw_info']['server']['ldap_context'], $filter, $attributes);
if ($sri)
{
$newData = array();
$allValues = ldap_get_entries($ds, $sri);
$newData['objectclass'] = $allValues[0]['objectclass'];
unset($newData['objectclass']['count']);
if(!in_array('qmailUser',$newData['objectclass']) &&
!in_array('qmailuser',$newData['objectclass']))
{
$newData['objectclass'][] = 'qmailuser';
}
if(!empty($_forwardingAddress))
{
if(is_array($allValues[0]['mailforwardingaddress']))
{
$newData['mailforwardingaddress'] = $allValues[0]['mailforwardingaddress'];
unset($newData['mailforwardingaddress']['count']);
$newData['mailforwardingaddress'][0] = $_forwardingAddress;
}
else
{
$newData['mailforwardingaddress'][0] = $_forwardingAddress;
}
$newData['deliverymode'] = ($_keepLocalCopy == 'yes'? array() : 'forwardOnly');
}
else
{
$newData['mailforwardingaddress'] = array();
$newData['deliverymode'] = array();
}
ldap_modify ($ds, $allValues[0]['dn'], $newData);
#print ldap_error($ds);
}
}
}
?>

View File

@ -0,0 +1,98 @@
<?php
/***************************************************************************\
* EGroupWare - EMailAdmin SMTP via Plesk *
* http://www.egroupware.org *
* Written and (c) 2006 by RalfBecker-AT-outdoor-training.de *
* ------------------------------------------------------------------------- *
* emailadmin plugin for plesk: *
* - tested with Plesk7.5 under Linux, but should work with other plesk *
* versions and Windows too as it uses plesks cli (command line interface) *
* - this plugin ONLY works if you have root access to the webserver !!! *
* - configuration instructions are in the class.pliskimap.inc.php *
* => as with the "LDAP, Postfix & Cyrus" plugin the plesk one creates mail *
* users and manages passwords, aliases, forwards and quota from within *
* eGroupWare - no need to additionally visit the plesk interface anymore *
* ------------------------------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\***************************************************************************/
/* $Id$ */
include_once(EGW_SERVER_ROOT."/emailadmin/inc/class.defaultsmtp.inc.php");
include_once(EGW_SERVER_ROOT."/emailadmin/inc/class.pleskimap.inc.php");
class smtpplesk extends defaultsmtp
{
/**
* @var string/boolean $error string with last error-message or false
*/
var $error = false;
function smtpplesk($profileData)
{
$this->defaultsmtp($profileData); // call the parent constructor
}
/**
* call plesk's mail command line interface
*
* The actual code is in the pleskimap class, to not double it.
*
* @param string $action 'info', 'create', 'update' or 'remove'
* @param string/int $account account_lid or numerical account_id
* @param string $password=null string with password or null to not change
* @param array $aliases=null array with aliases or null to not change the aliases
* @param string/boolean $forward=null email address to forward, false to not forward or null to not change
* @param boolean $keepLocalCopy=null if forwarding keep a local copy or not, null = dont change
* @param int $quota_kb=null mailbox quota in kb
* @return boolean/array array with returned values or false otherwise, error-message in $this->error
*/
function plesk_mail($action,$account,$password=null,$aliases=null,$forward=null,$keepLocalCopy=null,$quota_kb=null)
{
static $plesk;
if (!is_object($plesk))
{
$plesk =& new pleskimap(null);
$this->error =& $plesk->error;
}
return $plesk->plesk_mail($action,$account,$password,$aliases,$forward,$keepLocalCopy,$quota_kb);
}
function addAccount($hookValues)
{
// account is added via pleskimap::addAccount();
}
/**
* Returns the email address of the current user
*
* @param string/int $accountName account-id or -lis (name)
* @return array of arrays with keys name, address and type={default|alternate}
*/
function getAccountEmailAddress()
{
//echo "<p>smtpplesk::getAccountEmailAddress()</p>\n";
return array(array(
'name' => $GLOBALS['egw_info']['user']['fullname'],
'address' => $GLOBALS['egw_info']['user']['email'],
'type' => 'default'
));
}
/**
* Save SMTP forwarding address
*
* @param int $accountID user-id
* @param string $forwardingAddress email to forward to
* @param string $keepLocalCopy 'yes' or something else
*/
function saveSMTPForwarding($accountID, $forwardingAddress, $keepLocalCopy)
{
//echo "<p>smtpplesk::saveSMTPForwarding('$accountID','$forwardingAddress','$keepLocalCopy')</p>\n";
return $this->plesk_mail('update',$accountID,null,null,array($forwardingAddress),$keepLocalCopy == 'yes');
}
}

View File

@ -0,0 +1,343 @@
<?php
/***************************************************************************\
* EGroupWare - EMailAdmin *
* http://www.egroupware.org *
* Written by : Lars Kneschke [lkneschke@egroupware.org] *
* ------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\***************************************************************************/
/* $Id$ */
class so
{
var $db;
var $table = 'egw_emailadmin';
var $db_cols = array(
'ea_profile_id' => 'profileID',
'ea_smtp_server' => 'smtpServer',
'ea_smtp_type' => 'smtpType',
'ea_smtp_port' => 'smtpPort',
'ea_smtp_auth' => 'smtpAuth',
'ea_editforwardingaddress' => 'editforwardingaddress',
'ea_smtp_ldap_server' => 'smtpLDAPServer',
'ea_smtp_ldap_basedn' => 'smtpLDAPBaseDN',
'ea_smtp_ldap_admindn' => 'smtpLDAPAdminDN',
'ea_smtp_ldap_adminpw' => 'smtpLDAPAdminPW',
'ea_smtp_ldap_use_default' => 'smtpLDAPUseDefault',
'ea_imap_server' => 'imapServer',
'ea_imap_type' => 'imapType',
'ea_imap_port' => 'imapPort',
'ea_imap_login_type' => 'imapLoginType',
'ea_imap_tsl_auth' => 'imapTLSAuthentication',
'ea_imap_tsl_encryption' => 'imapTLSEncryption',
'ea_imap_enable_cyrus' => 'imapEnableCyrusAdmin',
'ea_imap_admin_user' => 'imapAdminUsername',
'ea_imap_admin_pw' => 'imapAdminPW',
'ea_imap_enable_sieve' => 'imapEnableSieve',
'ea_imap_sieve_server' => 'imapSieveServer',
'ea_imap_sieve_port' => 'imapSievePort',
'ea_description' => 'description',
'ea_default_domain' => 'defaultDomain',
'ea_organisation_name' => 'organisationName',
'ea_user_defined_accounts' => 'userDefinedAccounts',
'ea_imapoldcclient' => 'imapoldcclient',
'ea_order' => 'ea_order',
'ea_group' => 'ea_group',
'ea_appname' => 'ea_appname',
'ea_smtp_auth_username' => 'ea_smtp_auth_username',
'ea_smtp_auth_password' => 'ea_smtp_auth_password',
);
function so()
{
if (is_object($GLOBALS['egw_setup']->db))
{
$this->db = clone($GLOBALS['egw_setup']->db);
}
else
{
$this->db = clone($GLOBALS['egw']->db);
}
$this->db->set_app('emailadmin');
}
/**
* Convert array with internal values/names to db-column-names
*
* @param array $vals
* @return array
*/
function vals2db($vals)
{
$cols = array();
foreach($vals as $key => $val)
{
if (($k = array_search($key,$this->db_cols)) === false) $k = $key;
$cols[$k] = $val;
}
return $cols;
}
/**
* Convert array with db-columns/-values to internal names
*
* @param array $vals
* @return array
*/
function db2vals($cols)
{
$vals = array();
foreach($cols as $key => $val)
{
if (isset($this->db_cols[$key])) $key = $this->db_cols[$key];
$vals[$key] = $val;
}
return $vals;
}
function updateProfile($_globalSettings, $_smtpSettings=array(), $_imapSettings=array())
{
$profileID = (int) $_globalSettings['profileID'];
unset($_globalSettings['profileID']);
$where = $profileID ? array('ea_profile_id' => $profileID) : false;
$this->db->insert($this->table,$this->vals2db($_smtpSettings+$_globalSettings+$_imapSettings),$where,__LINE__,__FILE__);
return $profileID ? $profileID : $this->db->get_last_insert_id($this->table,'ea_profile_id');
}
function addProfile($_globalSettings, $_smtpSettings, $_imapSettings)
{
unset($_globalSettings['profileID']); // just in case
return $this->updateProfile($_globalSettings, $_smtpSettings, $_imapSettings);
}
function deleteProfile($_profileID)
{
$this->db->delete($this->table,array('ea_profile_id' => $_profileID),__LINE__ , __FILE__);
}
function getProfile($_profileID, $_fieldNames)
{
$_fieldNames = array_keys($this->vals2db(array_flip($_fieldNames)));
$this->db->select($this->table,$_fieldNames,array('ea_profile_id' => $_profileID), __LINE__, __FILE__);
if (($data = $this->db->row(true)))
{
return $this->db2vals($data);
}
return $data;
}
function getUserProfile($_appName, $_groups)
{
if(empty($_appName) || !is_array($_groups))
return false;
$where = $this->db->expression(
$this->table,'(',
array('ea_appname'=>$_appName),
' OR ea_appname IS NULL or ea_appname = \'\') and ',
'(',
array('ea_group'=>$_groups),
' OR ea_group IS NULL or ea_group = \'\')'
);
$this->db->select($this->table,'ea_profile_id',$where, __LINE__, __FILE__, false, 'ORDER BY ea_order', false, 1);
if (($data = $this->db->row(true))) {
return $this->getProfile($data['ea_profile_id'], $this->db_cols);
}
return false;
}
function getProfileList($_profileID=0,$_defaultProfile=false)
{
$where = false;
if ((int) $_profileID)
{
$where = array('ea_profile_id' => $_profileID);
}
elseif ($_defaultProfile)
{
$where['ea_appname'] = '';
$where['ea_group'] = 0;
}
$this->db->select($this->table,'*',$where, __LINE__,__FILE__,false,(int) $_profileID ? '' : 'ORDER BY ea_order');
$serverList = false;
while (($row = $this->db->row(true)))
{
$serverList[] = $this->db2vals($row);
}
return $serverList;
}
function getUserData($_accountID)
{
$ldap = $GLOBALS['egw']->common->ldapConnect();
if (($sri = @ldap_search($ldap,$GLOBALS['egw_info']['server']['ldap_context'],"(uidnumber=$_accountID)")))
{
$allValues = ldap_get_entries($ldap, $sri);
if ($allValues['count'] > 0)
{
#print "found something<br>";
$userData["mailLocalAddress"] = $allValues[0]["mail"][0];
$userData["mailAlternateAddress"] = $allValues[0]["mailalternateaddress"];
$userData["accountStatus"] = $allValues[0]["accountstatus"][0];
$userData["mailRoutingAddress"] = $allValues[0]["mailforwardingaddress"];
$userData["qmailDotMode"] = $allValues[0]["qmaildotmode"][0];
$userData["deliveryProgramPath"] = $allValues[0]["deliveryprogrampath"][0];
$userData["deliveryMode"] = $allValues[0]["deliverymode"][0];
unset($userData["mailAlternateAddress"]["count"]);
unset($userData["mailRoutingAddress"]["count"]);
return $userData;
}
}
// if we did not return before, return false
return false;
}
function saveUserData($_accountID, $_accountData)
{
$ldap = $GLOBALS['egw']->common->ldapConnect();
// need to be fixed
if(is_numeric($_accountID))
{
$filter = "uidnumber=$_accountID";
}
else
{
$filter = "uid=$_accountID";
}
$sri = @ldap_search($ldap,$GLOBALS['egw_info']['server']['ldap_context'],$filter);
if ($sri)
{
$allValues = ldap_get_entries($ldap, $sri);
$accountDN = $allValues[0]['dn'];
$uid = $allValues[0]['uid'][0];
$homedirectory = $allValues[0]['homedirectory'][0];
$objectClasses = $allValues[0]['objectclass'];
unset($objectClasses['count']);
}
else
{
return false;
}
if(empty($homedirectory))
{
$homedirectory = "/home/".$uid;
}
// the old code for qmail ldap
$newData = array
(
'mail' => $_accountData["mailLocalAddress"],
'mailAlternateAddress' => $_accountData["mailAlternateAddress"],
'mailRoutingAddress' => $_accountData["mailRoutingAddress"],
'homedirectory' => $homedirectory,
'mailMessageStore' => $homedirectory."/Maildir/",
'gidnumber' => '1000',
'qmailDotMode' => $_accountData["qmailDotMode"],
'deliveryProgramPath' => $_accountData["deliveryProgramPath"]
);
if(!in_array('qmailUser',$objectClasses) &&
!in_array('qmailuser',$objectClasses))
{
$objectClasses[] = 'qmailuser';
}
// the new code for postfix+cyrus+ldap
$newData = array
(
'mail' => $_accountData["mailLocalAddress"],
'accountStatus' => $_accountData["accountStatus"],
'objectclass' => $objectClasses
);
if(is_array($_accountData["mailAlternateAddress"]))
{
$newData['mailAlternateAddress'] = $_accountData["mailAlternateAddress"];
}
else
{
$newData['mailAlternateAddress'] = array();
}
if($_accountData["accountStatus"] == 'active')
{
$newData['accountStatus'] = 'active';
}
else
{
$newData['accountStatus'] = 'disabled';
}
if(!empty($_accountData["deliveryMode"]))
{
$newData['deliveryMode'] = $_accountData["deliveryMode"];
}
else
{
$newData['deliveryMode'] = array();
}
if(is_array($_accountData["mailRoutingAddress"]))
{
$newData['mailForwardingAddress'] = $_accountData["mailRoutingAddress"];
}
else
{
$newData['mailForwardingAddress'] = array();
}
#print "DN: $accountDN<br>";
ldap_mod_replace ($ldap, $accountDN, $newData);
#print ldap_error($ldap);
// also update the account_email field in egw_accounts
// when using sql account storage
if($GLOBALS['egw_info']['server']['account_repository'] == 'sql')
{
$this->db->update('egw_accounts',array(
'account_email' => $_accountData["mailLocalAddress"]
),
array(
'account_id' => $_accountID
),__LINE__,__FILE__
);
}
return true;
}
function setOrder($_order)
{
foreach($_order as $order => $profileID)
{
$this->db->update($this->table,array(
'ea_order' => $order,
),array(
'ea_profile_id' => $profileID,
),__LINE__, __FILE__);
}
}
}
?>

View File

@ -0,0 +1,600 @@
<?php
/***************************************************************************\
* EGroupWare - EMailAdmin *
* http://www.egroupware.org *
* Written by : Lars Kneschke [lkneschke@egroupware.org] *
* ------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\***************************************************************************/
/* $Id$ */
class ui
{
var $public_functions = array
(
'addProfile' => True,
'css' => True,
'deleteProfile' => True,
'editProfile' => True,
'listProfiles' => True,
'saveProfile' => True
);
var $cats;
var $nextmatchs;
var $t;
var $boqmailldap;
function ui()
{
$this->nextmatchs =& CreateObject('phpgwapi.nextmatchs');
$this->t =& CreateObject('phpgwapi.Template',EGW_APP_TPL);
$this->boemailadmin =& CreateObject('emailadmin.bo');
}
function addProfile()
{
$allGroups = $GLOBALS['egw']->accounts->get_list('groups');
foreach($allGroups as $groupInfo)
{
$groups[$groupInfo['account_id']] = $groupInfo['account_lid'];
}
asort($groups);
$allGroups = array('' => lang('any group'));
foreach($groups as $groupID => $groupName)
{
$allGroups[$groupID] = $groupName;
}
$applications = array(
'calendar' => $GLOBALS['egw_info']['apps']['calendar']['title'],
'felamimail' => $GLOBALS['egw_info']['apps']['felamimail']['title'],
);
asort($applications);
$applications = array_merge(array('' => lang('any application')),$applications);
$this->display_app_header();
$this->t->set_file(array("body" => "editprofile.tpl"));
$this->t->set_block('body','main');
$this->translate();
#$this->t->set_var('profile_name',$profileList[0]['description']);
$this->t->set_var('smtpActiveTab','1');
$this->t->set_var('imapActiveTab','1');
$this->t->set_var('application_select_box', $GLOBALS['egw']->html->select('globalsettings[ea_appname]','',$applications, true, "style='width: 250px;'"));
$this->t->set_var('group_select_box', $GLOBALS['egw']->html->select('globalsettings[ea_group]','',$allGroups, true, "style='width: 250px;'"));
$linkData = array
(
'menuaction' => 'emailadmin.ui.saveProfile'
);
$this->t->set_var('action_url',$GLOBALS['egw']->link('/index.php',$linkData));
$linkData = array
(
'menuaction' => 'emailadmin.ui.listProfiles'
);
$this->t->set_var('back_url',$GLOBALS['egw']->link('/index.php',$linkData));
foreach($this->boemailadmin->getSMTPServerTypes() as $key => $value)
{
$this->t->set_var("lang_smtp_option_$key",$value);
};
foreach($this->boemailadmin->getIMAPServerTypes() as $key => $value) {
$imapServerTypes[$key] = $value['description'];
};
$selectFrom = $GLOBALS['egw']->html->select(
'imapsettings[imapType]',
'',
$imapServerTypes,
false,
"style='width: 250px;' id='imapselector' onchange='imap.display(this.value); ea_setIMAPDefaults(this.value);'"
);
$this->t->set_var('imaptype', $selectFrom);
$this->t->set_var('value_smtpPort', '25');
$this->t->set_var('value_imapPort', '110');
$this->t->set_var('value_imapSievePort', '2000');
$this->t->parse("out","main");
print $this->t->get('out','main');
}
function css()
{
$appCSS =
'th.activetab
{
color:#000000;
background-color:#D3DCE3;
border-top-width : 1px;
border-top-style : solid;
border-top-color : Black;
border-left-width : 1px;
border-left-style : solid;
border-left-color : Black;
border-right-width : 1px;
border-right-style : solid;
border-right-color : Black;
}
th.inactivetab
{
color:#000000;
background-color:#E8F0F0;
border-bottom-width : 1px;
border-bottom-style : solid;
border-bottom-color : Black;
}
.td_left { border-left : 1px solid Gray; border-top : 1px solid Gray; }
.td_right { border-right : 1px solid Gray; border-top : 1px solid Gray; }
div.activetab{ display:inline; }
div.inactivetab{ display:none; }';
return $appCSS;
}
function deleteProfile()
{
$this->boemailadmin->deleteProfile($_GET['profileid']);
$this->listProfiles();
}
function display_app_header()
{
if(!@is_object($GLOBALS['egw']->js))
{
$GLOBALS['egw']->js =& CreateObject('phpgwapi.javascript');
}
$GLOBALS['egw']->js->validate_file('tabs','tabs');
$GLOBALS['egw_info']['flags']['include_xajax'] = True;
switch($_GET['menuaction'])
{
case 'emailadmin.ui.addProfile':
case 'emailadmin.ui.editProfile':
$GLOBALS['egw_info']['nofooter'] = true;
$GLOBALS['egw']->js->validate_file('jscode','editProfile','emailadmin');
$GLOBALS['egw']->js->set_onload('javascript:initAll();');
#$GLOBALS['egw']->js->set_onload('smtp.init();');
break;
case 'emailadmin.ui.listProfiles':
$GLOBALS['egw']->js->validate_file('jscode','listProfile','emailadmin');
break;
}
$GLOBALS['egw']->common->egw_header();
if($_GET['menuaction'] == 'emailadmin.ui.listProfiles' || $_GET['menuaction'] == 'emailadmin.ui.deleteProfile')
echo parse_navbar();
}
function editProfile($_profileID='') {
if(!is_object($GLOBALS['egw']->html)) {
$GLOBALS['egw']->html =& CreateObject('phpgwapi.html');
}
$allGroups = $GLOBALS['egw']->accounts->get_list('groups');
foreach($allGroups as $groupInfo)
{
$groups[$groupInfo['account_id']] = $groupInfo['account_lid'];
}
asort($groups);
$allGroups = array('' => lang('any group'));
foreach($groups as $groupID => $groupName)
{
$allGroups[$groupID] = $groupName;
}
$applications = array(
'calendar' => $GLOBALS['egw_info']['apps']['calendar']['title'],
'felamimail' => $GLOBALS['egw_info']['apps']['felamimail']['title'],
);
asort($applications);
$applications = array_merge(array('' => lang('any application')),$applications);
if($_profileID != '')
{
$profileID = $_profileID;
}
elseif(is_int(intval($_GET['profileid'])) && !empty($_GET['profileid']))
{
$profileID = intval($_GET['profileid']);
}
else
{
return false;
}
$profileList = $this->boemailadmin->getProfileList($profileID);
$profileData = $this->boemailadmin->getProfile($profileID);
$this->display_app_header();
$this->t->set_file(array("body" => "editprofile.tpl"));
$this->t->set_block('body','main');
$this->translate();
foreach((array)$profileData as $key => $value) {
#print "$key $value<br>";
switch($key) {
case 'imapTLSEncryption':
$this->t->set_var('checked_'. $key .'_'. $value,'checked="1"');
break;
case 'imapTLSAuthentication':
if($value == '1') {
$this->t->set_var('selected_'.$key,'checked="1"');
}
break;
case 'imapEnableCyrusAdmin':
case 'imapEnableSieve':
case 'smtpAuth':
case 'smtpLDAPUseDefault':
case 'userDefinedAccounts':
case 'imapoldcclient':
case 'editforwardingaddress':
if($value == 'yes') {
$this->t->set_var('selected_'.$key,'checked="1"');
}
break;
case 'imapType':
case 'smtpType':
case 'imapLoginType':
$this->t->set_var('selected_'.$key.'_'.$value,'selected="1"');
break;
case 'ea_appname':
$this->t->set_var('application_select_box', $GLOBALS['egw']->html->select('globalsettings[ea_appname]',$value,$applications, true, "style='width: 250px;'"));
break;
case 'ea_group':
$this->t->set_var('group_select_box', $GLOBALS['egw']->html->select('globalsettings[ea_group]',$value,$allGroups, true, "style='width: 250px;'"));
break;
default:
$this->t->set_var('value_'.$key,$value);
break;
}
}
$linkData = array
(
'menuaction' => 'emailadmin.ui.saveProfile',
'profileID' => $profileID
);
$this->t->set_var('action_url',$GLOBALS['egw']->link('/index.php',$linkData));
$linkData = array
(
'menuaction' => 'emailadmin.ui.listProfiles'
);
$this->t->set_var('back_url',$GLOBALS['egw']->link('/index.php',$linkData));
$this->t->set_var('smtptype',$GLOBALS['egw']->html->select(
'smtpsettings[smtpType]',
$profileData['smtpType'],
$this->boemailadmin->getSMTPServerTypes(),
true,
'style="width: 250px;" id="smtpselector" onchange="smtp.display(this.value);"'
));
foreach($this->boemailadmin->getIMAPServerTypes() as $key => $value) {
$imapServerTypes[$key] = $value['description'];
};
$selectFrom = $GLOBALS['egw']->html->select(
'imapsettings[imapType]',
$profileData['imapType'],
$imapServerTypes,
true,
"style='width: 250px;' id='imapselector' onchange='imap.display(this.value);'"
);
$this->t->set_var('imaptype', $selectFrom);
$this->t->parse("out","main");
print $this->t->get('out','main');
}
function listProfiles()
{
$this->display_app_header();
$this->t->set_file(array("body" => "listprofiles.tpl"));
$this->t->set_block('body','main');
$this->translate();
$profileList = $this->boemailadmin->getProfileList();
// create the data array
if ($profileList)
{
for ($i=0; $i < count($profileList); $i++)
{
$linkData = array
(
'menuaction' => 'emailadmin.ui.editProfile',
'nocache' => '1',
'tabpage' => '3',
'profileid' => $profileList[$i]['profileID']
);
$imapServerLink = '<a href="#" onclick="egw_openWindowCentered2(\''.$GLOBALS['egw']->link('/index.php',$linkData).'\',\'ea_editProfile\',700,600); return false;">'.$profileList[$i]['imapServer'].'</a>';
$linkData = array
(
'menuaction' => 'emailadmin.ui.editProfile',
'nocache' => '1',
'tabpage' => '1',
'profileid' => $profileList[$i]['profileID']
);
$descriptionLink = '<a href="#" onclick="egw_openWindowCentered2(\''.$GLOBALS['egw']->link('/index.php',$linkData).'\',\'ea_editProfile\',700,600); return false;">'.$profileList[$i]['description'].'</a>';
$linkData = array
(
'menuaction' => 'emailadmin.ui.editProfile',
'nocache' => '1',
'tabpage' => '2',
'profileid' => $profileList[$i]['profileID']
);
$smtpServerLink = '<a href="#" onclick="egw_openWindowCentered2(\''.$GLOBALS['egw']->link('/index.php',$linkData).'\',\'ea_editProfile\',700,600); return false;">'.$profileList[$i]['smtpServer'].'</a>';
$linkData = array
(
'menuaction' => 'emailadmin.ui.deleteProfile',
'profileid' => $profileList[$i]['profileID']
);
$deleteLink = '<a href="'.$GLOBALS['egw']->link('/index.php',$linkData).
'" onClick="return confirm(\''.lang('Do you really want to delete this Profile').'?\')">'.
lang('delete').'</a>';
$application = (empty($profileList[$i]['ea_appname']) ? lang('any application') : $GLOBALS['egw_info']['apps'][$profileList[$i]['ea_appname']]['title']);
$linkData = array
(
'menuaction' => 'emailadmin.ui.editProfile',
'nocache' => '1',
'tabpage' => '1',
'profileid' => $profileList[$i]['profileID']
);
$applicationLink = '<a href="#" onclick="egw_openWindowCentered2(\''.$GLOBALS['egw']->link('/index.php',$linkData).'\',\'ea_editProfile\',700,600); return false;">'.$application.'</a>';
$group = (empty($profileList[$i]['ea_group']) ? lang('any group') : $GLOBALS['egw']->accounts->id2name($profileList[$i]['ea_group']));
$linkData = array
(
'menuaction' => 'emailadmin.ui.editProfile',
'nocache' => '1',
'tabpage' => '1',
'profileid' => $profileList[$i]['profileID']
);
$groupLink = '<a href="#" onclick="egw_openWindowCentered2(\''.$GLOBALS['egw']->link('/index.php',$linkData).'\',\'ea_editProfile\',700,600); return false;">'.$group.'</a>';
$moveButtons = '<img src="'. $GLOBALS['egw']->common->image('phpgwapi', 'up') .'" onclick="moveUp(this)">&nbsp;'.
'<img src="'. $GLOBALS['egw']->common->image('phpgwapi', 'down') .'" onclick="moveDown(this)">';
$data['profile_'.$profileList[$i]['profileID']] = array(
$descriptionLink,
$smtpServerLink,
$imapServerLink,
$applicationLink,
$groupLink,
$deleteLink,
$moveButtons,
);
}
}
// create the array containing the table header
$rows = array(
lang('description'),
lang('smtp server name'),
lang('imap/pop3 server name'),
lang('application'),
lang('group'),
lang('delete'),
lang('order'),
);
// create the table html code
$this->t->set_var('server_next_match',$this->nextMatchTable(
$rows,
$data,
lang('profile list'),
$_start,
$_total,
$_menuAction)
);
$linkData = array
(
'menuaction' => 'emailadmin.ui.addProfile'
);
$this->t->set_var('add_link',$GLOBALS['egw']->link('/index.php',$linkData));
$this->t->parse("out","main");
print $this->t->get('out','main');
}
function nextMatchTable($_rows, $_data, $_description, $_start, $_total, $_menuAction)
{
$template =& CreateObject('phpgwapi.Template',EGW_APP_TPL);
$template->set_file(array("body" => "nextMatch.tpl"));
$template->set_block('body','row_list','rowList');
$template->set_block('body','header_row','headerRow');
$var = Array(
'th_bg' => $GLOBALS['egw_info']['theme']['th_bg'],
'left_next_matchs' => $this->nextmatchs->left('/index.php',$start,$total,'menuaction=emailadmin.ui.listServers'),
'right_next_matchs' => $this->nextmatchs->right('/admin/groups.php',$start,$total,'menuaction=emailadmin.ui.listServers'),
'lang_groups' => lang('user groups'),
'sort_name' => $this->nextmatchs->show_sort_order($sort,'account_lid',$order,'/index.php',lang('name'),'menuaction=emailadmin.ui.listServers'),
'description' => $_description,
'header_edit' => lang('Edit'),
'header_delete' => lang('Delete')
);
$template->set_var($var);
$data = '';
if(is_array($_rows))
{
foreach($_rows as $value)
{
$data .= "<td align='center'><b>$value</b></td>";
}
$template->set_var('header_row_data', $data);
$template->fp('headerRow','header_row',True);
#$template->fp('header_row','header_row',True);
}
if(is_array($_data))
{
foreach($_data as $rowID => $value)
{
$data = '';
foreach($value as $rowData)
{
$data .= "<td align='center'>$rowData</td>";
}
$template->set_var('row_data', $data);
$template->set_var('row_id', $rowID);
$template->fp('rowList','row_list',True);
}
}
return $template->fp('out','body');
}
function saveProfile()
{
$globalSettings = array();
$smtpSettings = array();
$imapSettings = array();
// try to get the profileID
if(is_int(intval($_GET['profileID'])) && !empty($_GET['profileID'])) {
$globalSettings['profileID'] = intval($_GET['profileID']);
}
$globalSettings['description'] = $_POST['globalsettings']['description'];
$globalSettings['defaultDomain'] = $_POST['globalsettings']['defaultDomain'];
$globalSettings['organisationName'] = $_POST['globalsettings']['organisationName'];
$globalSettings['userDefinedAccounts'] = $_POST['globalsettings']['userDefinedAccounts'];
$globalSettings['ea_appname'] = ($_POST['globalsettings']['ea_appname'] == 'any' ? '' : $_POST['globalsettings']['ea_appname']);
$globalSettings['ea_group'] = ($_POST['globalsettings']['ea_group'] == 'any' ? '' : (int)$_POST['globalsettings']['ea_group']);
// get the settings for the smtp server
$smtpType = $_POST['smtpsettings']['smtpType'];
foreach($this->boemailadmin->getFieldNames($smtpType,'smtp') as $key) {
$smtpSettings[$key] = $_POST['smtpsettings'][$smtpType][$key];
}
$smtpSettings['smtpType'] = $smtpType;
#_debug_array($smtpSettings); exit;
// get the settings for the imap/pop3 server
$imapType = $_POST['imapsettings']['imapType'];
foreach($this->boemailadmin->getFieldNames($imapType,'imap') as $key) {
switch($key) {
case 'imapTLSAuthentication':
$imapSettings[$key] = $_POST['imapsettings'][$imapType][$key] != 'dontvalidate';
break;
default:
$imapSettings[$key] = $_POST['imapsettings'][$imapType][$key];
break;
}
}
$imapSettings['imapType'] = $imapType;
#_debug_array($imapSettings);
$this->boemailadmin->saveProfile($globalSettings, $smtpSettings, $imapSettings);
print "<script type=\"text/javascript\">opener.location.reload(); window.close();</script>";
$GLOBALS['egw']->common->egw_exit();
exit;
}
function translate()
{
# skeleton
# $this->t->set_var('',lang(''));
$this->t->set_var('lang_server_name',lang('server name'));
$this->t->set_var('lang_server_description',lang('description'));
$this->t->set_var('lang_edit',lang('edit'));
$this->t->set_var('lang_save',lang('save'));
$this->t->set_var('lang_delete',lang('delete'));
$this->t->set_var('lang_back',lang('back'));
$this->t->set_var('lang_remove',lang('remove'));
$this->t->set_var('lang_ldap_server',lang('LDAP server'));
$this->t->set_var('lang_ldap_basedn',lang('LDAP basedn'));
$this->t->set_var('lang_ldap_server_admin',lang('admin dn'));
$this->t->set_var('lang_ldap_server_password',lang('admin password'));
$this->t->set_var('lang_add_profile',lang('add profile'));
$this->t->set_var('lang_domain_name',lang('domainname'));
$this->t->set_var('lang_SMTP_server_hostname_or_IP_address',lang('SMTP-Server hostname or IP address'));
$this->t->set_var('lang_SMTP_server_port',lang('SMTP-Server port'));
$this->t->set_var('lang_Use_SMTP_auth',lang('Use SMTP auth'));
$this->t->set_var('lang_Select_type_of_SMTP_Server',lang('Select type of SMTP Server'));
$this->t->set_var('lang_profile_name',lang('Profile Name'));
$this->t->set_var('lang_default_domain',lang('enter your default mail domain (from: user@domain)'));
$this->t->set_var('lang_organisation_name',lang('name of organisation'));
$this->t->set_var('lang_user_defined_accounts',lang('users can define their own emailaccounts'));
$this->t->set_var('lang_LDAP_server_hostname_or_IP_address',lang('LDAP server hostname or ip address'));
$this->t->set_var('lang_LDAP_server_admin_dn',lang('LDAP server admin DN'));
$this->t->set_var('lang_LDAP_server_admin_pw',lang('LDAP server admin password'));
$this->t->set_var('lang_LDAP_server_base_dn',lang('LDAP server accounts DN'));
$this->t->set_var('lang_use_LDAP_defaults',lang('use LDAP defaults'));
$this->t->set_var('lang_LDAP_settings',lang('LDAP settings'));
$this->t->set_var('lang_select_type_of_imap/pop3_server',lang('select type of IMAP/POP3 server'));
$this->t->set_var('lang_pop3_server_hostname_or_IP_address',lang('POP3 server hostname or ip address'));
$this->t->set_var('lang_pop3_server_port',lang('POP3 server port'));
$this->t->set_var('lang_imap_server_hostname_or_IP_address',lang('IMAP server hostname or ip address'));
$this->t->set_var('lang_imap_server_port',lang('IMAP server port'));
$this->t->set_var('lang_use_tls_encryption',lang('use tls encryption'));
$this->t->set_var('lang_use_tls_authentication',lang('use tls authentication'));
$this->t->set_var('lang_sieve_settings',lang('Sieve settings'));
$this->t->set_var('lang_enable_sieve',lang('enable Sieve'));
$this->t->set_var('lang_sieve_server_hostname_or_ip_address',lang('Sieve server hostname or ip address'));
$this->t->set_var('lang_sieve_server_port',lang('Sieve server port'));
$this->t->set_var('lang_enable_cyrus_imap_administration',lang('enable Cyrus IMAP server administration'));
$this->t->set_var('lang_cyrus_imap_administration',lang('Cyrus IMAP server administration'));
$this->t->set_var('lang_admin_username',lang('admin username'));
$this->t->set_var('lang_admin_password',lang('admin password'));
$this->t->set_var('lang_imap_server_logintyp',lang('imap server logintyp'));
$this->t->set_var('lang_standard',lang('username (standard)'));
$this->t->set_var('lang_vmailmgr',lang('username@domainname (Virtual MAIL ManaGeR)'));
$this->t->set_var('lang_pre_2001_c_client',lang('IMAP C-Client Version < 2001'));
$this->t->set_var('lang_user_can_edit_forwarding_address',lang('user can edit forwarding address'));
$this->t->set_var('lang_can_be_used_by_application',lang('can be used by application'));
$this->t->set_var('lang_can_be_used_by_group',lang('can be used by group'));
$this->t->set_var('lang_smtp_auth',lang('smtp authentication'));
$this->t->set_var('lang_username',lang('username'));
$this->t->set_var('lang_password',lang('password'));
$this->t->set_var('lang_smtp_settings',lang('smtp settings'));
$this->t->set_var('lang_smtp_options',lang('smtp options'));
$this->t->set_var('lang_profile_access_rights',lang('profile access rights'));
$this->t->set_var('lang_global_settings',lang(''));
$this->t->set_var('lang_organisation',lang('organisation'));
$this->t->set_var('lang_global_options',lang('global options'));
$this->t->set_var('lang_server_settings',lang('server settings'));
$this->t->set_var('lang_encryption_settings',lang('encryption settings'));
$this->t->set_var('lang_no_encryption',lang('no encryption'));
$this->t->set_var('lang_encrypted_connection',lang('encrypted connection'));
$this->t->set_var('lang_do_not_validate_certificate',lang('do not validate certificate'));
$this->t->set_var('',lang(''));
# $this->t->set_var('',lang(''));
}
}
?>

View File

@ -0,0 +1,215 @@
<?php
/***************************************************************************\
* eGroupWare *
* http://www.egroupware.org *
* http://www.linux-at-work.de *
* Written by : Lars Kneschke [lkneschke@linux-at-work.de] *
* ------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\***************************************************************************/
/* $Id$ */
class uiuserdata
{
var $public_functions = array
(
'editUserData' => True,
'saveUserData' => True
);
function uiuserdata()
{
$this->t =& CreateObject('phpgwapi.Template',EGW_APP_TPL);
$this->boemailadmin =& CreateObject('emailadmin.bo');
}
function display_app_header()
{
if(!@is_object($GLOBALS['egw']->js))
{
$GLOBALS['egw']->js =& CreateObject('phpgwapi.javascript');
}
$GLOBALS['egw']->js->validate_file('jscode','editUserdata','emailadmin');
$GLOBALS['egw_info']['flags']['include_xajax'] = True;
$GLOBALS['egw']->common->egw_header();
echo parse_navbar();
}
function editUserData($_useCache='0')
{
if(!is_object($GLOBALS['egw']->html)) {
$GLOBALS['egw']->html =& CreateObject('phpgwapi.html');
}
$accountID = $_GET['account_id'];
$GLOBALS['account_id'] = $accountID;
$this->display_app_header();
$this->translate();
$this->t->set_file(array("editUserData" => "edituserdata.tpl"));
$this->t->set_block('editUserData','form','form');
$this->t->set_block('editUserData','link_row','link_row');
$this->t->set_var("th_bg",$GLOBALS['egw_info']["theme"]["th_bg"]);
$this->t->set_var("tr_color1",$GLOBALS['egw_info']["theme"]["row_on"]);
$this->t->set_var("tr_color2",$GLOBALS['egw_info']["theme"]["row_off"]);
$this->t->set_var("lang_email_config",lang("edit email settings"));
$this->t->set_var("lang_emailAddress",lang("email address"));
$this->t->set_var("lang_emailaccount_active",lang("email account active"));
$this->t->set_var("lang_mailAlternateAddress",lang("alternate email address"));
$this->t->set_var("lang_mailRoutingAddress",lang("forward email's to"));
$this->t->set_var("lang_forward_also_to",lang("forward also to"));
$this->t->set_var("lang_button",lang("save"));
$this->t->set_var("lang_deliver_extern",lang("deliver extern"));
$this->t->set_var("lang_deliver_extern",lang("deliver extern"));
$this->t->set_var("lang_edit_email_settings",lang("edit email settings"));
$this->t->set_var("lang_ready",lang("Done"));
$this->t->set_var("link_back",$GLOBALS['egw']->link('/admin/accounts.php'));
$linkData = array
(
'menuaction' => 'emailadmin.uiuserdata.saveUserData',
'account_id' => $accountID
);
$this->t->set_var("form_action", $GLOBALS['egw']->link('/index.php',$linkData));
$this->t->set_var('url_image_add',$GLOBALS['egw']->common->image('phpgwapi','new'));
$this->t->set_var('url_image_edit',$GLOBALS['egw']->common->image('phpgwapi','edit'));
$this->t->set_var('url_image_delete',$GLOBALS['egw']->common->image('phpgwapi','delete'));
// only when we show a existing user
if($userData = $this->boemailadmin->getUserData($accountID)) {
$addresses = array();
foreach((array)$userData['mailAlternateAddress'] as $data) {
$addresses[$data] = $data;
}
$this->t->set_var('selectbox_mailAlternateAddress', $GLOBALS['egw']->html->select(
'mailAlternateAddress',
'',
$addresses,
true,
"style='width: 100%;' id='mailAlternateAddress'",
5)
);
$addresses = array();
foreach((array)$userData['mailForwardingAddress'] as $data) {
$addresses[$data] = $data;
}
$this->t->set_var('selectbox_mailRoutingAddress', $GLOBALS['egw']->html->select(
'mailForwardingAddress',
'',
$addresses,
true,
"style='width: 100%;' id='mailRoutingAddress'",
5)
);
$this->t->set_var("quotaLimit",$userData["quotaLimit"]);
$this->t->set_var("mailLocalAddress",$userData["mailLocalAddress"]);
$this->t->set_var("mailAlternateAddress",'');
$this->t->set_var("mailRoutingAddress",'');
$this->t->set_var("selected_".$userData["qmailDotMode"],'selected');
$this->t->set_var("deliveryProgramPath",$userData["deliveryProgramPath"]);
$this->t->set_var("uid",rawurlencode($_accountData["dn"]));
if ($userData["accountStatus"] == "active")
$this->t->set_var("account_checked","checked");
if ($userData["deliveryMode"] == "forwardOnly")
$this->t->set_var("forwardOnly_checked","checked");
if ($_accountData["deliverExtern"] == "active")
$this->t->set_var("deliver_checked","checked");
} else {
$this->t->set_var("mailLocalAddress",'');
$this->t->set_var("mailAlternateAddress",'');
$this->t->set_var("mailRoutingAddress",'');
$this->t->set_var("options_mailAlternateAddress",lang('no alternate email address'));
$this->t->set_var("options_mailRoutingAddress",lang('no forwarding email address'));
$this->t->set_var("account_checked",'');
$this->t->set_var("forwardOnly_checked",'');
$this->t->set_var('selectbox_mailAlternateAddress', $GLOBALS['egw']->html->select(
'mailAlternateAddress',
'',
array(),
true,
"style='width: 100%;' id='mailAlternateAddress'",
5)
);
$this->t->set_var('selectbox_mailRoutingAddress', $GLOBALS['egw']->html->select(
'mailForwardingAddress',
'',
array(),
true,
"style='width: 100%;' id='mailRoutingAddress'",
5)
);
$this->t->set_var('quotaLimit','');
}
// create the menu on the left, if needed
$menuClass =& CreateObject('admin.uimenuclass');
$this->t->set_var('rows',$menuClass->createHTMLCode('edit_user'));
$this->t->pparse("out","form");
}
function saveUserData()
{
if($_POST["accountStatus"] == "on") {
$accountStatus = "active";
}
if($_POST["forwardOnly"] == "on") {
$deliveryMode = "forwardOnly";
}
$formData = array (
'mailLocalAddress' => $_POST["mailLocalAddress"],
'mailAlternateAddress' => $_POST["mailAlternateAddress"],
'mailForwardingAddress' => $_POST["mailForwardingAddress"],
'quotaLimit' => $_POST["quotaLimit"],
'qmailDotMode' => $_POST["qmailDotMode"],
'deliveryProgramPath' => $_POST["deliveryProgramPath"],
'accountStatus' => $accountStatus,
'deliveryMode' => $deliveryMode
);
$this->boemailadmin->saveUserData($_GET['account_id'], $formData);
// read date fresh from ldap storage
$this->editUserData();
}
function translate()
{
$this->t->set_var('th_bg',$GLOBALS['egw_info']['theme']['th_bg']);
$this->t->set_var('lang_add',lang('add'));
$this->t->set_var('lang_done',lang('Done'));
$this->t->set_var('lang_remove',lang('remove'));
$this->t->set_var('lang_remove',lang('remove'));
$this->t->set_var('lang_advanced_options',lang('advanced options'));
$this->t->set_var('lang_qmaildotmode',lang('qmaildotmode'));
$this->t->set_var('lang_default',lang('default'));
$this->t->set_var('lang_quota_settings',lang('quota settings'));
$this->t->set_var('lang_qoutainmbyte',lang('qouta size in MByte'));
$this->t->set_var('lang_inmbyte',lang('in MByte'));
$this->t->set_var('lang_0forunlimited',lang('leave empty for no quota'));
$this->t->set_var('lang_forward_only',lang('forward only'));
$this->t->set_var('lang_enter_new_address',lang('Add new email address:'));
$this->t->set_var('lang_update_current_address',lang('Update current email address:'));
}
}
?>

View File

@ -0,0 +1,23 @@
<?php
/**************************************************************************\
* eGroupWare *
* http://www.egroupware.org *
* Written by Joseph Engo <jengo@phpgroupware.org> *
* -------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\**************************************************************************/
/* $Id$ */
// Only Modify the $file and $title variables.....
$title = $appname;
$file = Array(
'Site Configuration' => $GLOBALS['egw']->link('/index.php','menuaction=emailadmin.ui.listProfiles')
);
//Do not modify below this line
display_section($appname,$title,$file);
?>

26
emailadmin/index.php Normal file
View File

@ -0,0 +1,26 @@
<?php
/**************************************************************************\
* EGroupWare - EMailAdmin *
* http://www.egroupware.org *
* Written by Lars Kneschke [lkneschke@egroupware.org] *
* ----------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\**************************************************************************/
/* $Id$ */
$_GET['menuaction'] = 'emailadmin.ui.listProfiles';
$GLOBALS['egw_info'] = array(
'flags' => array(
'currentapp' => 'emailadmin',
'noheader' => True,
'nonavbar' => True,
),
);
include('../header.inc.php');
execmethod('emailadmin.ui.listProfiles');
?>

View File

@ -0,0 +1,25 @@
var tab = new Tabs(4,'activetab','inactivetab','tab','tabcontent','','','tabpage');
var smtp = new Tabs(5,'activetab','inactivetab','smtp','smtpcontent','smtpselector','','');
var imap = new Tabs(6,'activetab','inactivetab','imap','imapcontent','imapselector','','');
function initAll() {
tab.init();
smtp.init();
imap.init();
}
function ea_setIMAPDefaults(_imapType) {
var currentInput = document.getElementsByName("imapsettings[" + _imapType + "][imapPort]")[0];
if(_imapType > 1) {
// imap
if(currentInput.value == '110') {
currentInput.value = '143';
}
} else {
// pop3
if(currentInput.value == '143') {
currentInput.value = '110';
}
}
}

View File

@ -0,0 +1,59 @@
function addRow(_selectBoxName, _prompt) {
result = prompt(_prompt, '');
if((result == '') || (result == null)) {
return false;
}
var newOption = new Option(result, result);
selectBox = document.getElementById(_selectBoxName);
var length = selectBox.length;
selectBox.options[length] = newOption;
selectBox.selectedIndex = length;
}
function editRow(_selectBoxName, _prompt) {
selectBox = document.getElementById(_selectBoxName);
selectedItem = selectBox.selectedIndex;
if(selectedItem != null && selectedItem != -1) {
value = selectBox.options[selectedItem].text;
result = prompt(_prompt, value);
if((result == '') || (result == null)) {
return false;
}
var newOption = new Option(result, result);
selectBox.options[selectedItem] = newOption;
selectBox.selectedIndex = selectedItem;
}
}
function removeRow(_selectBoxName) {
selectBox = document.getElementById(_selectBoxName);
selectedItem = selectBox.selectedIndex;
if(selectedItem != null) {
selectBox.options[selectedItem] = null;
}
selectedItem--;
if(selectedItem >= 0) {
selectBox.selectedIndex = selectedItem;
} else if (selectBox.length > 0) {
selectBox.selectedIndex = 0;
}
}
function selectAllOptions(_selectBoxName) {
selectBox = document.getElementById(_selectBoxName);
for(var i=0;i<selectBox.length;i++) {
selectBox[i].selected=true;
}
}

View File

@ -0,0 +1,56 @@
function getOrder(tableID) {
order = '';
table = document.getElementById(tableID);
inputElements = table.getElementsByTagName('tr');
for(i=0; i<inputElements.length; i++)
{
//alert(inputElements[i].value);
if(i>0)
order = order + ',';
order = order + inputElements[i].id;
}
return order;
}
function moveUp(node) {
// get the row node
thisRow = node.parentNode.parentNode;
if(thisRow.previousSibling)
{
currentNode = thisRow.previousSibling;
while(currentNode.nodeType != 1)
{
if(!currentNode.previousSibling)
return;
currentNode = currentNode.previousSibling;
}
thisRow.parentNode.insertBefore(thisRow,currentNode);
//getOrder('tabel1');
}
}
function moveDown(node) {
// get the row node
thisRow = node.parentNode.parentNode;
if(thisRow.nextSibling)
{
currentNode = thisRow.nextSibling;
while(currentNode.nodeType != 1)
{
if(!currentNode.nextSibling)
return;
currentNode = currentNode.nextSibling;
}
thisRow.parentNode.insertBefore(currentNode,thisRow);
//getOrder('tabel1');
}
}
function saveOrder()
{
xajax_doXMLHTTP("emailadmin.ajaxemailadmin.setOrder", getOrder('nextMatchBody'));
}

View File

@ -0,0 +1,68 @@
add profile emailadmin ca Afegir perfil
admin dn emailadmin ca dn del administrador
admin password emailadmin ca contrasenya del administrador
admin username emailadmin ca nom d'usuari del administrador
advanced options emailadmin ca opcions avançades
alternate email address emailadmin ca adreça de correu alternativa
cyrus imap server emailadmin ca Servidor IMAP Cyrus
cyrus imap server administration emailadmin ca Administració del servidor IMAP Cyrus
default emailadmin ca predeterminada
deliver extern emailadmin ca entrega externa
do you really want to delete this profile emailadmin ca Realmente voleu esborrar aquest perfil?
domainname emailadmin ca nom del domini
edit email settings emailadmin ca editar configuració del compte
email account active emailadmin ca compte de correu electrònic actiu
email address emailadmin ca adreça de correu electrònic
enable cyrus imap server administration emailadmin ca activar administració del servidor Cyrus IMAP
enable sieve emailadmin ca activar Sieve
enter your default mail domain (from: user@domain) emailadmin ca Entreu el domini predeterminat (de usuari@domini)
forward also to emailadmin ca reeenviar també a
forward email's to emailadmin ca reenviar correus a
forward only emailadmin ca només reenviar
imap admin password admin ca contrasenya de l'administrador IMAP
imap admin user admin ca usuari administrador IMAP
imap c-client version < 2001 emailadmin ca Versió C-Client IMAP < 2001
imap server hostname or ip address emailadmin ca Servidor IMAP o adreça IP
imap server logintyp emailadmin ca Tipus de sessió del servidor IMAP
imap server port emailadmin ca Port del servidor IMAP
imap/pop3 server name emailadmin ca Nom del servidor POP/IMAP
in mbyte emailadmin ca en MBytes
ldap basedn emailadmin ca basedn per a LDAP
ldap server emailadmin ca servidor LDAP
ldap server accounts dn emailadmin ca DN per a comptes del servidor LDAP
ldap server admin dn emailadmin ca DN del administrador del servidor LDAP
ldap server admin password emailadmin ca contrasenya del administrador del servidor LDAP
ldap server hostname or ip address emailadmin ca Nom del servidor LDAP o adreça IP
ldap settings emailadmin ca Configuració LDAP
leave empty for no quota emailadmin ca Deixar en blanc per a no posar quota
mail settings admin ca Configuració del correu.
name of organisation emailadmin ca Nom de l'organització
no alternate email address emailadmin ca Sense adreça de correu alternativa
no forwarding email address emailadmin ca Sense adreça de correu per a reenviar
pop3 server hostname or ip address emailadmin ca Nom del servidor POP3 o adreça IP
pop3 server port emailadmin ca Port del servidor POP3
postfix with ldap emailadmin ca Postfix amb LDAP
profile list emailadmin ca Llista de perfils
profile name emailadmin ca Nom del perfil
qmaildotmode emailadmin ca Modus de punt de qmail
qouta size in mbyte emailadmin ca Tamanyo de la quota en MBytes
quota settings emailadmin ca Configuració de les quotas
remove emailadmin ca esborrar
select type of imap/pop3 server emailadmin ca Seleccioneu el tipus de servidor IMAP/POP3
select type of smtp server emailadmin ca Seleccioneu el tipus de servidor SMTP
sieve server hostname or ip address emailadmin ca Nom del servidor Sieve o adreça IP
sieve server port emailadmin ca Port del servidor Sieve
sieve settings emailadmin ca Configuració de Sieve
smtp server name emailadmin ca Nom del servidor SMTP
smtp-server hostname or ip address emailadmin ca Nom del servidor SMTP o adreça IP
smtp-server port emailadmin ca Port del servidor SMTP
standard emailadmin ca Estàndar
standard imap server emailadmin ca Servidor IMAP estàndar
standard pop3 server emailadmin ca Servidor POP3 estàndar
standard smtp-server emailadmin ca Servidor SMTP estàndar
use ldap defaults emailadmin ca usar les opcions predeterminades per LDAP
use smtp auth emailadmin ca Usar identificació SMTP
use tls authentication emailadmin ca Usar identificació TLS
use tls encryption emailadmin ca Usar xifrat TLS
users can define their own emailaccounts emailadmin ca Els usuaris poden definir els seus propis comptes de correu
virtual mail manager emailadmin ca Gestor de correu virtual

View File

@ -0,0 +1,69 @@
add profile emailadmin da Tilføj Profil
admin dn emailadmin da admin dn
admin password emailadmin da admin adgangskode
admin passwort emailadmin da admin adgangskode
admin username emailadmin da admin brugernavn
advanced options emailadmin da avanceret indstillinger
alternate email address emailadmin da alternativ e-mail adresse
cyrus imap server emailadmin da Cyrus IMAP Server
cyrus imap server administration emailadmin da Cyrus IMAP server administration
default emailadmin da standart
deliver extern emailadmin da lever ekstern
do you really want to delete this profile emailadmin da Vil du virkelig slette denne profil
domainname emailadmin da domæne navn
edit email settings emailadmin da redigere e-mail indstillingerne
email account active emailadmin da e-mail konto aktiv
email address emailadmin da e-mail adresse
enable cyrus imap server administration emailadmin da aktivere Cyrus IMAP server administration
enable sieve emailadmin da aktiver Sieve
enter your default mail domain (from: user@domain) emailadmin da Indtast dit standart post domæne (fra: bruger@domæne)
forward also to emailadmin da videresend også til
forward email's to emailadmin da videresend e-mails til
forward only emailadmin da videresend kun
imap admin password admin da IMAP admin adgangskode
imap admin user admin da IMAP admin bruger
imap c-client version < 2001 emailadmin da IMAP C-Klient Version < 2001
imap server hostname or ip address emailadmin da IMAP server domænenavn eller IP adresse
imap server logintyp emailadmin da IMAP server login type
imap server port emailadmin da IMAP server port
imap/pop3 server name emailadmin da IMAP/POP3 server navn
in mbyte emailadmin da i Megabytes
ldap basedn emailadmin da LDAP basedn
ldap server emailadmin da LDAP server
ldap server accounts dn emailadmin da LDAP server konto DN
ldap server admin dn emailadmin da LDAP server admin DN
ldap server admin password emailadmin da LDAP server admin adgangskode
ldap server hostname or ip address emailadmin da LDAP server domænenavn eller IP adresse
ldap settings emailadmin da LDAP indstillinger
leave empty for no quota emailadmin da efterlad tom hvis ingen citat
mail settings admin da Post indstillinger
name of organisation emailadmin da Navn på organisation
no alternate email address emailadmin da ingen alternativ e-mail adresse
no forwarding email address emailadmin da ingen viderestillet e-mail adresse
pop3 server hostname or ip address emailadmin da POP3 server domænenavn eller IP adresse
pop3 server port emailadmin da POP server port
postfix with ldap emailadmin da Postfix med LDAP
profile list emailadmin da Profil liste
profile name emailadmin da Profil navn
qmaildotmode emailadmin da qmaildotmode
qouta size in mbyte emailadmin da quota størrelse i Megabytes
quota settings emailadmin da quota indstillinger
remove emailadmin da fjern
select type of imap/pop3 server emailadmin da Vælg type IMAP/POP3 server
select type of smtp server emailadmin da Vælg time POP3 server
sieve server hostname or ip address emailadmin da Sieve server domænenavn eller IP adresse
sieve server port emailadmin da Sieve server port
sieve settings emailadmin da Sieve indstillinger
smtp server name emailadmin da SMTP server navn
smtp-server hostname or ip address emailadmin da SMTP server domænenavn eller IP adresse
smtp-server port emailadmin da SMTP server port
standard emailadmin da Standart
standard imap server emailadmin da Standart IMAP server
standard pop3 server emailadmin da Standart POP3 server
standard smtp-server emailadmin da Standart SMTP server
use ldap defaults emailadmin da brug LDAP standarter
use smtp auth emailadmin da Brug SMTP autorisation
use tls authentication emailadmin da Brug TLS autorisation
use tls encryption emailadmin da Brug TLS kryptering
users can define their own emailaccounts emailadmin da Brugere kan selv definere deres egne e-mail kontoer
virtual mail manager emailadmin da Virtuel post håndtering

View File

@ -0,0 +1,117 @@
account '%1' not found !!! emailadmin de Benutzerkonto '%1' nicht gefunden !!!
add new email address: emailadmin de Neue EMailadresse hinzufügen
add profile emailadmin de Profil hinzufügen
admin dn emailadmin de Admin DN
admin password emailadmin de Admin Passwort
admin username emailadmin de Administrator Benutzername
advanced options emailadmin de erweiterte Einstellungen
alternate email address emailadmin de zusätzliche EMailadressen
any application emailadmin de jede Anwendung
any group emailadmin de jede Gruppe
bad login name or password. emailadmin de Falscher Benutzername oder Passwort.
bad or malformed request. server responded: %s emailadmin de Falsche oder ungültige Anfrage. Server antwortet: %s
bad request: %s emailadmin de Falsche Anfrage: %s
can be used by application emailadmin de Kann von folgender Anwendung verwendet werden
can be used by group emailadmin de Kann von folgender Gruppe verwendet werden
connection dropped by imap server. emailadmin de Verbindung von IMAP Server beendet.
could not complete request. reason given: %s emailadmin de Konnte Anfrage nicht beenden. Grund: %s
could not open secure connection to the imap server. %s : %s. emailadmin de Konnte keine sichere Verbindung zum IMAP Server aufbauen. %s: %s.
cram-md5 or digest-md5 requires the auth_sasl package to be installed. emailadmin de CRAM-MD5 oder DIGEST-MD5 erforder das das Auth_SASL Packet instaliert ist.
cyrus imap server emailadmin de Cyrus IMAP-Server
cyrus imap server administration emailadmin de Cyrus IMAP-Server Administration
default emailadmin de Vorgabe
deliver extern emailadmin de extern ausliefern
do you really want to delete this profile emailadmin de Wollen Sie dieses Profil wirklich löschen
domainname emailadmin de Domänenname
edit email settings emailadmin de EMail Einstellungen
email account active emailadmin de EMailkonto aktiv
email address emailadmin de EMailadresse
email settings common de EMailkonto
emailadmin emailadmin de EMailAdmin
enable cyrus imap server administration emailadmin de Cyrus IMAP-Server Administration aktivieren
enable sieve emailadmin de Sieve aktivieren
encryption settings emailadmin de Verschlüsselungseinstellungen
enter your default mail domain (from: user@domain) emailadmin de Standard EMail-Domain (Von: benutzer@domain)
error connecting to imap server. %s : %s. emailadmin de Fehler beim Verbinden mit dem IMAP Server. %s : %s.
error connecting to imap server: [%s] %s. emailadmin de Fehler beim Verbinden mit dem IMAP Server. [%s] %s.
forward also to emailadmin de zusätzlich weiterleiten
forward email's to emailadmin de EMail's weiterleiten an
forward only emailadmin de nur weiterleiten
global options emailadmin de Globale Optionen
if using ssl or tls, you must have the php openssl extension loaded. emailadmin de Wenn Sie SSL oder TLS benutzern, müssen Sie die openssl PHP Erweiterung geladen haben.
imap admin password admin de IMAP Administrator Passwort
imap admin user admin de IMAP Administrator Benutzer
imap c-client version < 2001 emailadmin de IMAP C-Client Version < 2001
imap server closed the connection. emailadmin de IMAP Server hat die Verbindung beendet.
imap server closed the connection. server responded: %s emailadmin de IMAP Server hat die Verbindung beendet. Server Antwort: %s
imap server hostname or ip address emailadmin de IMAP-Server Hostname oder IP-Adresse
imap server logintyp emailadmin de IMAP-Server Loginverfahren
imap server port emailadmin de IMAP-Server Port
imap/pop3 server name emailadmin de IMAP/POP3-Server Name
in mbyte emailadmin de in MByte
ldap basedn emailadmin de LDAP BaseDN
ldap server emailadmin de LDAP Server
ldap server accounts dn emailadmin de LDAP-Server Benutzerkonten DN
ldap server admin dn emailadmin de LDAP-Server Administrator DN
ldap server admin password emailadmin de LDAP-Server Administrator Passwort
ldap server hostname or ip address emailadmin de LDAP-Server Hostname oder IP-Adresse
ldap settings emailadmin de LDAP Einstellungen
leave empty for no quota emailadmin de leer lassen um Quota zu deaktivieren
mail settings admin de Mail Einstellungen
name of organisation emailadmin de Name der Organisation
no alternate email address emailadmin de keine zusätzlichen EMailadressen
no encryption emailadmin de keine Verschlüsselung
no forwarding email address emailadmin de keine Weiterleitungsadresse definiert
no message returned. emailadmin de Keine Nachricht zurückgeliefert.
no supported imap authentication method could be found. emailadmin de Keine unterstützte IMAP Authentifizierungsmethode gefunden.
order emailadmin de Reihenfolge
organisation emailadmin de Organisation
plesk can't rename users --> request ignored emailadmin de Plesk kann keine Benutzer umbenennen --> Anforderung ignoriert
plesk imap server (courier) emailadmin de Plesk IMAP Server (Courier)
plesk mail script '%1' not found !!! emailadmin de Plesk Mail Skript '%1' nicht gefunden !!!
plesk requires passwords to have at least 5 characters and not contain the account-name --> password not set!!! emailadmin de Plesk verlangt, dass Passworte mindestens 5 Zeichen lang sind und nicht den Benutzernamen enthalten --> Passwort nicht gesetzt!!!
plesk smtp-server (qmail) emailadmin de Plesk SMTP-Server (Qmail)
pop3 server hostname or ip address emailadmin de POP3-Server Hostname oder IP-Adresse
pop3 server port emailadmin de POP3-Server Port
postfix with ldap emailadmin de Postfix mit LDAP
profile access rights emailadmin de Profilzugriffsrechte
profile list emailadmin de Profilliste
profile name emailadmin de Profilname
qmaildotmode emailadmin de qmaildotmode
qouta size in mbyte emailadmin de Quota Größe in MByte
quota settings emailadmin de Quota Einstellungen
remove emailadmin de Entfernen
select type of imap/pop3 server emailadmin de IMAP/POP3-Server Typ auswählen
select type of smtp server emailadmin de SMTP-Server Typ auswählen
server settings emailadmin de Server Einstellungen
sieve server hostname or ip address emailadmin de Sieve-Server Hostname oder IP-Adresse
sieve server port emailadmin de Sieve-Server Port
sieve settings emailadmin de Sieve Einstellungen
smtp authentication emailadmin de SMTP Anmeldung
smtp options emailadmin de SMTP Optionen
smtp server name emailadmin de SMTP-Server Name
smtp settings emailadmin de SMTP Einstellungen
smtp-server hostname or ip address emailadmin de SMTP-Server Hostname oder IP-Adresse
smtp-server port emailadmin de SMTP-Server Port
standard emailadmin de Vorgabe
standard imap server emailadmin de Standard IMAP-Server
standard pop3 server emailadmin de Standard POP3-Server
standard smtp-server emailadmin de Standard SMTP-Server
the imap server does not appear to support the authentication method selected. please contact your system administrator. emailadmin de Der IMAP Server scheint die eingestellte Authentifizierungsmethode nicht zu unterstützen. Bitte fragen Sie ihren Systemadministrator.
this php has no imap support compiled in!! emailadmin de Dieses PHP hat keine IMAP Unterstützung!!!
to use a tls connection, you must be running a version of php 5.1.0 or higher. emailadmin de Um eine TLS Verbindung zu verwenden, benötigen Sie PHP 5.1.0 oder neuer.
unexpected response from server to authenticate command. emailadmin de Unerwartete Antwort des Servers auf das AUTHENTICATE Komando.
unexpected response from server to digest-md5 response. emailadmin de Unerwartete Antwort des Servers auf die Digest-MD5 Antwort.
unexpected response from server to login command. emailadmin de Unerwartete Antwort des Servers auf das LOGIN Komando.
unknown imap response from the server. server responded: %s emailadmin de Unbekannte IMAP Antwort vom Server. Server antwortet: %s
unsupported action '%1' !!! emailadmin de Nicht unterstützte Aktion '%1' !!!
update current email address: emailadmin de Aktualisiere aktuelle EMailadresse
use ldap defaults emailadmin de LDAP Standardeinstellungen benutzen
use smtp auth emailadmin de SMTP Auth benutzen
use tls authentication emailadmin de TLS Authentifizierung benutzen
use tls encryption emailadmin de TLS Verschlüsselung benutzen
user can edit forwarding address emailadmin de Anwender können ihre Weiterleitungsadresse bearbeiten
username (standard) emailadmin de Benutzername (Standard)
username@domainname (virtual mail manager) emailadmin de Benutzername@Domänenname (Virtual MAIL ManaGeR)
users can define their own emailaccounts emailadmin de Anwender können ihre eigenen Konten definieren
virtual mail manager emailadmin de Virtual MAIL ManaGeR

117
emailadmin/setup/phpgw_en.lang Executable file
View File

@ -0,0 +1,117 @@
account '%1' not found !!! emailadmin en Account '%1' not found !!!
add new email address: emailadmin en Add new email address:
add profile emailadmin en Add Profile
admin dn emailadmin en Admin dn
admin password emailadmin en Admin password
admin username emailadmin en Admin username
advanced options emailadmin en Advanced options
alternate email address emailadmin en Alternate email address
any application emailadmin en Any application
any group emailadmin en Any group
bad login name or password. emailadmin en Bad login name or password.
bad or malformed request. server responded: %s emailadmin en Bad or malformed request. Server Responded: %s
bad request: %s emailadmin en Bad request: %s
can be used by application emailadmin en Can be used by application
can be used by group emailadmin en Can be used by group
connection dropped by imap server. emailadmin en Connection dropped by IMAP server.
could not complete request. reason given: %s emailadmin en Could not complete request. Reason Given: %s
could not open secure connection to the imap server. %s : %s. emailadmin en Could not open secure connection to the IMAP server. %s : %s.
cram-md5 or digest-md5 requires the auth_sasl package to be installed. emailadmin en CRAM-MD5 or DIGEST-MD5 requires the Auth_SASL package to be installed.
cyrus imap server emailadmin en Cyrus IMAP Server
cyrus imap server administration emailadmin en Cyrus IMAP server administration
default emailadmin en default
deliver extern emailadmin en deliver extern
do you really want to delete this profile emailadmin en Do you really want to delete this Profile
domainname emailadmin en Domainname
edit email settings emailadmin en Edit email settings
email account active emailadmin en Email account active
email address emailadmin en Email address
email settings common en Email settings
emailadmin emailadmin en EMailAdmin
enable cyrus imap server administration emailadmin en enable Cyrus IMAP server administration
enable sieve emailadmin en Enable Sieve
encryption settings emailadmin en Encryption settings
enter your default mail domain (from: user@domain) emailadmin en Enter your default mail domain (from: user@domain)
error connecting to imap server. %s : %s. emailadmin en Error connecting to IMAP server. %s : %s.
error connecting to imap server: [%s] %s. emailadmin en Error connecting to IMAP server: [%s] %s.
forward also to emailadmin en Forward also to
forward email's to emailadmin en Forward email's to
forward only emailadmin en Forward only
global options emailadmin en Global options
if using ssl or tls, you must have the php openssl extension loaded. emailadmin en If using SSL or TLS, you must have the PHP openssl extension loaded.
imap admin password admin en IMAP admin password
imap admin user admin en IMAP admin user
imap c-client version < 2001 emailadmin en IMAP C-Client Version < 2001
imap server closed the connection. emailadmin en IMAP server closed the connection.
imap server closed the connection. server responded: %s emailadmin en IMAP Server closed the connection. Server Responded: %s
imap server hostname or ip address emailadmin en IMAP server hostname or ip address
imap server logintyp emailadmin en IMAP server login type
imap server port emailadmin en IMAP server port
imap/pop3 server name emailadmin en IMAP/POP3 server name
in mbyte emailadmin en in MByte
ldap basedn emailadmin en LDAP basedn
ldap server emailadmin en LDAP server
ldap server accounts dn emailadmin en LDAP server accounts DN
ldap server admin dn emailadmin en LDAP server admin DN
ldap server admin password emailadmin en LDAP server admin password
ldap server hostname or ip address emailadmin en LDAP server hostname or ip address
ldap settings emailadmin en LDAP settings
leave empty for no quota emailadmin en leave empty for no quota
mail settings admin en Mail settings
name of organisation emailadmin en Name of organization
no alternate email address emailadmin en no alternate email address
no encryption emailadmin en no encryption
no forwarding email address emailadmin en no forwarding email address
no message returned. emailadmin en No message returned.
no supported imap authentication method could be found. emailadmin en No supported IMAP authentication method could be found.
order emailadmin en Order
organisation emailadmin en Organisation
plesk can't rename users --> request ignored emailadmin en Plesk can't rename users --> request ignored
plesk imap server (courier) emailadmin en Plesk IMAP Server (Courier)
plesk mail script '%1' not found !!! emailadmin en Plesk mail script '%1' not found !!!
plesk requires passwords to have at least 5 characters and not contain the account-name --> password not set!!! emailadmin en Plesk requires passwords to have at least 5 characters and not contain the account-name --> password NOT set!!!
plesk smtp-server (qmail) emailadmin en Plesk SMTP-Server (Qmail)
pop3 server hostname or ip address emailadmin en POP3 server hostname or ip address
pop3 server port emailadmin en POP3 server port
postfix with ldap emailadmin en Postfix with LDAP
profile access rights emailadmin en profile access rights
profile list emailadmin en Profile List
profile name emailadmin en Profile Name
qmaildotmode emailadmin en qmaildotmode
qouta size in mbyte emailadmin en Qouta size in MByte
quota settings emailadmin en Quota settings
remove emailadmin en Remove
select type of imap/pop3 server emailadmin en Select type of IMAP/POP3 server
select type of smtp server emailadmin en Select type of SMTP Server
server settings emailadmin en Server settings
sieve server hostname or ip address emailadmin en Sieve server hostname or ip address
sieve server port emailadmin en Sieve server port
sieve settings emailadmin en Sieve settings
smtp authentication emailadmin en SMTP authentication
smtp options emailadmin en SMTP options
smtp server name emailadmin en SMTP server name
smtp settings emailadmin en SMTP settings
smtp-server hostname or ip address emailadmin en SMTP server hostname or IP address
smtp-server port emailadmin en SMTP server port
standard emailadmin en Standard
standard imap server emailadmin en Standard IMAP server
standard pop3 server emailadmin en Standard POP3 server
standard smtp-server emailadmin en Standard SMTP server
the imap server does not appear to support the authentication method selected. please contact your system administrator. emailadmin en The IMAP server does not appear to support the authentication method selected. Please contact your system administrator.
this php has no imap support compiled in!! emailadmin en This PHP has no IMAP support compiled in!!
to use a tls connection, you must be running a version of php 5.1.0 or higher. emailadmin en To use a TLS connection, you must be running a version of PHP 5.1.0 or higher.
unexpected response from server to authenticate command. emailadmin en Unexpected response from server to AUTHENTICATE command.
unexpected response from server to digest-md5 response. emailadmin en Unexpected response from server to Digest-MD5 response.
unexpected response from server to login command. emailadmin en Unexpected response from server to LOGIN command.
unknown imap response from the server. server responded: %s emailadmin en Unknown IMAP response from the server. Server Responded: %s
unsupported action '%1' !!! emailadmin en Unsupported action '%1' !!!
update current email address: emailadmin en Update current email address:
use ldap defaults emailadmin en Use LDAP defaults
use smtp auth emailadmin en Use SMTP auth
use tls authentication emailadmin en Use TLS authentication
use tls encryption emailadmin en Use TLS encryption
user can edit forwarding address emailadmin en User can edit forwarding address
username (standard) emailadmin en username (standard)
username@domainname (virtual mail manager) emailadmin en username@domainname (Virtual MAIL ManaGeR)
users can define their own emailaccounts emailadmin en Users can define their own email accounts
virtual mail manager emailadmin en Virtual MAIL ManaGeR

View File

@ -0,0 +1,117 @@
account '%1' not found !!! emailadmin es-es ¡No se encontró la cuenta '%1'!
add new email address: emailadmin es-es Añadir nueva dirección de correo
add profile emailadmin es-es Añadir perfil
admin dn emailadmin es-es dn del administrador
admin password emailadmin es-es contraseña del administrador
admin username emailadmin es-es usuario del administrador
advanced options emailadmin es-es opciones avanzadas
alternate email address emailadmin es-es dirección de correo alternativa
any application emailadmin es-es cualquier aplicación
any group emailadmin es-es cualquier grupo
bad login name or password. emailadmin es-es Nombre de usuario o contraseña incorrectos
bad or malformed request. server responded: %s emailadmin es-es Petición errónea o mal formado. El servidor respondió: %s
bad request: %s emailadmin es-es Petición errónea: %s
can be used by application emailadmin es-es puede usarse por la aplicación
can be used by group emailadmin es-es puede usarse por el grupo
connection dropped by imap server. emailadmin es-es El servidor IMAP ha interrumpido la conexión
could not complete request. reason given: %s emailadmin es-es No se pudo completar la solicitud. Motivo: %s
could not open secure connection to the imap server. %s : %s. emailadmin es-es No se pudo abrir una conexión segura con el servidor IMAP. %s: %s.
cram-md5 or digest-md5 requires the auth_sasl package to be installed. emailadmin es-es CRAM-MD5 o DIGEST-MD5 necesitan el paquete Auth_SASL para estar instalado.
cyrus imap server emailadmin es-es Servidor IMAP Cyrus
cyrus imap server administration emailadmin es-es Administración del servidor IMAP Cyrus
default emailadmin es-es predeterminada
deliver extern emailadmin es-es entrega externa
do you really want to delete this profile emailadmin es-es ¿Realmente desea borrar este perfil?
domainname emailadmin es-es nombre del dominio
edit email settings emailadmin es-es editar configuración de la cuenta
email account active emailadmin es-es cuenta de correo electrónico activa
email address emailadmin es-es dirección de correo electrónico
email settings common es-es Configuración del correo electrónico
emailadmin emailadmin es-es Administración del correo electrónico
enable cyrus imap server administration emailadmin es-es activar administración del servidor Cyrus IMAP
enable sieve emailadmin es-es activar Sieve
encryption settings emailadmin es-es configuración del cifrado
enter your default mail domain (from: user@domain) emailadmin es-es introduzca el dominio predeterminado (de usuario@dominio)
error connecting to imap server. %s : %s. emailadmin es-es Error al conectar con el servidor IMAP. %s: %s.
error connecting to imap server: [%s] %s. emailadmin es-es Error al conectar con el servidor IMAP: [%s] %s.
forward also to emailadmin es-es reenviar también a
forward email's to emailadmin es-es reenviar correos a
forward only emailadmin es-es sólo reenviar
global options emailadmin es-es opciones globales
if using ssl or tls, you must have the php openssl extension loaded. emailadmin es-es Si usa SSL o TLS, debe tener cargada la extensión openssl de PHP.
imap admin password admin es-es contraseña del administrador IMAP
imap admin user admin es-es usuario administrador IMAP
imap c-client version < 2001 emailadmin es-es Versión C-Cliente IMAP < 2001
imap server closed the connection. emailadmin es-es El servidor IMAP cerró la conexión.
imap server closed the connection. server responded: %s emailadmin es-es El servidor IMAP cerró la conexión. El servidor respondió: %s
imap server hostname or ip address emailadmin es-es Servidor IMAP o dirección IP
imap server logintyp emailadmin es-es Tipo de sesión del servidor IMAP
imap server port emailadmin es-es Puerto del servidor IMAP
imap/pop3 server name emailadmin es-es Nombre del servidor POP/IMAP
in mbyte emailadmin es-es en MBytes
ldap basedn emailadmin es-es basedn para LDAP
ldap server emailadmin es-es servidor LDAP
ldap server accounts dn emailadmin es-es DN para cuentas del servidor LDAP
ldap server admin dn emailadmin es-es DN del administrador del servidor LDAP
ldap server admin password emailadmin es-es contraseña del administrador del servidor LDAP
ldap server hostname or ip address emailadmin es-es Nombre del servidor LDAP o dirección IP
ldap settings emailadmin es-es Configuración LDAP
leave empty for no quota emailadmin es-es Dejar en blanco para no poner cuota
mail settings admin es-es Configuración del correo.
name of organisation emailadmin es-es Nombre de la organización
no alternate email address emailadmin es-es Sin dirección de correo alternativa
no encryption emailadmin es-es Sin cifrar
no forwarding email address emailadmin es-es Sin dirección de correo para reenviar
no message returned. emailadmin es-es No se devolvió ningún mensaje.
no supported imap authentication method could be found. emailadmin es-es No se pudo encontrar ningún método soportado de identificación IMAP.
order emailadmin es-es orden
organisation emailadmin es-es organización
plesk can't rename users --> request ignored emailadmin es-es Plesk no puede renombrar usuarios --> Se ignora la solicitud
plesk imap server (courier) emailadmin es-es Servidor IMAP Plesk (Courier)
plesk mail script '%1' not found !!! emailadmin es-es ¡No se encontró el script de correo de Plesk '%1'!
plesk requires passwords to have at least 5 characters and not contain the account-name --> password not set!!! emailadmin es-es Plesk requiere que las contraseñas tengan al menos 5 caracteres y no contengan el nombre de la cuenta --> NO se establece la contraseña
plesk smtp-server (qmail) emailadmin es-es Servidor SMTP de Plesk (Qmail)
pop3 server hostname or ip address emailadmin es-es Nombre del servidor POP3 o dirección IP
pop3 server port emailadmin es-es Puerto del servidor POP3
postfix with ldap emailadmin es-es Postfix con LDAP
profile access rights emailadmin es-es Derechos de acceso del perfil
profile list emailadmin es-es Lista de perfiles
profile name emailadmin es-es Nombre del perfil
qmaildotmode emailadmin es-es Modo de punto de qmail
qouta size in mbyte emailadmin es-es Tamaño de la cuota en MBytes
quota settings emailadmin es-es Configuración de las cuotas
remove emailadmin es-es borrar
select type of imap/pop3 server emailadmin es-es Seleccione el tipo de servidor IMAP/POP3
select type of smtp server emailadmin es-es Seleccione el tipo de servidor SMTP
server settings emailadmin es-es configuración del servidor
sieve server hostname or ip address emailadmin es-es Nombre del servidor Sieve o dirección IP
sieve server port emailadmin es-es Puerto del servidor Sieve
sieve settings emailadmin es-es Configuración de Sieve
smtp authentication emailadmin es-es identificación SMTP
smtp options emailadmin es-es opciones SMTP
smtp server name emailadmin es-es Nombre del servidor SMTP
smtp settings emailadmin es-es configuración SMTP
smtp-server hostname or ip address emailadmin es-es Nombre del servidor SMTP o dirección IP
smtp-server port emailadmin es-es Puerto del servidor SMTP
standard emailadmin es-es Estándar
standard imap server emailadmin es-es Servidor IMAP estándar
standard pop3 server emailadmin es-es Servidor POP3 estándar
standard smtp-server emailadmin es-es Servidor SMTP estándar
the imap server does not appear to support the authentication method selected. please contact your system administrator. emailadmin es-es El servidor IMAP no parece soportar el método de identificación seleccionado. Por favor, póngase en contacto el administrador de su sistema.
this php has no imap support compiled in!! emailadmin es-es ¡¡Esta instalación de PHP no tiene soporte IMAP!!
to use a tls connection, you must be running a version of php 5.1.0 or higher. emailadmin es-es Para usar una conexión TLS, debe ejecutar una versión de PHP 5.1.0 o superior.
unexpected response from server to authenticate command. emailadmin es-es Respuesta inesperada del servidor al comando AUTHENTICATE.
unexpected response from server to digest-md5 response. emailadmin es-es Respuesta inesperada del servidor a la respuesta Digest-MD5.
unexpected response from server to login command. emailadmin es-es Respuesta inesperada del servidor al comando LOGIN.
unknown imap response from the server. server responded: %s emailadmin es-es Respuesta IMAP desconocida del servidor. El servidor respondió: %s
unsupported action '%1' !!! emailadmin es-es ¡La acción '%1' no está soportada!
update current email address: emailadmin es-es Actualizar la dirección de correo actual:
use ldap defaults emailadmin es-es usar las opciones predeterminadas para LDAP
use smtp auth emailadmin es-es Usar identificación SMTP
use tls authentication emailadmin es-es Usar identificación TLS
use tls encryption emailadmin es-es Usar cifrado TLS
user can edit forwarding address emailadmin es-es El usuario puede editar la dirección de reenvío
username (standard) emailadmin es-es usuario (estándar)
username@domainname (virtual mail manager) emailadmin es-es usuario@dominio (Gestor de correo virtual)
users can define their own emailaccounts emailadmin es-es Los usuarios pueden definir sus propias cuentas de correo
virtual mail manager emailadmin es-es Gestor de correo virtual

View File

@ -0,0 +1,113 @@
account '%1' not found !!! emailadmin fi Tiliä '%1' ei löytynyt !!!
add new email address: emailadmin fi Lisää uusi sähköpostiosoite
add profile emailadmin fi Lisää profiili
admin dn emailadmin fi admin dn
admin password emailadmin fi admin salasana
admin username emailadmin fi admin käyttäjätunnus
advanced options emailadmin fi lisäasetukset
alternate email address emailadmin fi vaihtoehtoinen sähköpostiosoite
any application emailadmin fi Mikä vain sovellus
any group emailadmin fi Mikä vain ryhmä
bad login name or password. emailadmin fi Väärä käyttäjätunnus tai salasana
bad or malformed request. server responded: %s emailadmin fi Väärä tai viallinen pyyntö. Serveri palauttaa: %s
bad request: %s emailadmin fi Väärä pyyntö: %s
can be used by application emailadmin fi Voidaan käyttää sovelluksessa
can be used by group emailadmin fi Voidaan käyttää ryhmällä
connection dropped by imap server. emailadmin fi Yhteys IMAP serveriin katkesi.
could not complete request. reason given: %s emailadmin fi Pyyntöä ei voitu toteuttaa. Syynä oli: %s
could not open secure connection to the imap server. %s : %s. emailadmin fi Turvattua yhteyttä IMAP palvelimeen ei voitu avata. %s : %s.
cram-md5 or digest-md5 requires the auth_sasl package to be installed. emailadmin fi CRAM-MD5 tai DIGEST-MD5 käyttö edellyttää Auth_SASL paketin asentamista.
cyrus imap server emailadmin fi Cyrus IMAP -palvelin
cyrus imap server administration emailadmin fi Cyrus IMAP -palvelimen hallinta
default emailadmin fi oletus
deliver extern emailadmin fi deliver extern
do you really want to delete this profile emailadmin fi Haluatko varmasti poistaa tämän profiilin
domainname emailadmin fi verkkotunnus
edit email settings emailadmin fi muokkaa sähköpostin asetuksia
email account active emailadmin fi Sähköpostitunnus käytössä
email address emailadmin fi Sähköpostiosoite
email settings common fi Sähköpostin asetukset
emailadmin emailadmin fi Sähköpostin ylläpitäjä
enable cyrus imap server administration emailadmin fi ota Cyrus IMAP -palvelimen hallinta käyttöön
enable sieve emailadmin fi ota Sieve käyttöön
encryption settings emailadmin fi Encryptaus asetukset
enter your default mail domain (from: user@domain) emailadmin fi Anna oletusverkkotunnus (lähettäjä: käyttäjä@verkkotunnus)
error connecting to imap server. %s : %s. emailadmin fi Virhe yhdistettäessä IMAP palvelimeen. %s : %s.
error connecting to imap server: [%s] %s. emailadmin fi Virhe yhdistettäessä IMAP palvelimeen. [%s] %s.
forward also to emailadmin fi lähetä kopio myös osoitteeseen
forward email's to emailadmin fi lähetä edelleen osoitteeseen
forward only emailadmin fi lähetä edelleen vain
global options emailadmin fi Yleiset asetukset
if using ssl or tls, you must have the php openssl extension loaded. emailadmin fi Jos käytät SSL tai TLS, sinulla pitää olla PHP openssl lisäosa ladattuna
imap admin password admin fi IMAP admin salasana
imap admin user admin fi IMAP admin käyttäjätunnus
imap c-client version < 2001 emailadmin fi IMAP C-Client versio < 2001
imap server closed the connection. emailadmin fi IMAP palvelin katkaisi yhteyden.
imap server closed the connection. server responded: %s emailadmin fi IMAP palvelin katkaisi yhteyden. Palvelin vastaa: %s
imap server hostname or ip address emailadmin fi IMAP -palvelimen nimi tai IP-osoite
imap server logintyp emailadmin fi IMAP -palvelimen käyttäjätunnistus
imap server port emailadmin fi IMAP -palvelimen portti
imap/pop3 server name emailadmin fi IMAP / POP3 -palvelimen nimi
in mbyte emailadmin fi megatavua
ldap basedn emailadmin fi LDAP basedn
ldap server emailadmin fi LDAP -palvelin
ldap server accounts dn emailadmin fi LDAP tunnusten DN
ldap server admin dn emailadmin fi LDAP ylläpidon DN
ldap server admin password emailadmin fi LDAP hallinnan salasana
ldap server hostname or ip address emailadmin fi LDAP -palvelimen nimi tai IP-osoite
ldap settings emailadmin fi LDAP -asetukset
leave empty for no quota emailadmin fi jätä tyhjäksi, jos ei rajoiteta
mail settings admin fi Sähköpostin asetukset
name of organisation emailadmin fi Yrityksen nimi
no alternate email address emailadmin fi ei vahtoehtoista osoitetta
no encryption emailadmin fi Ei enkryptausta
no forwarding email address emailadmin fi ei edelleenlähetyksen osoitetta
no message returned. emailadmin fi Viestiä ei palautettu
no supported imap authentication method could be found. emailadmin fi Tuettua IMAP tunnistustapaa ei löydetty.
order emailadmin fi Tilaa
organisation emailadmin fi Organisaatio
plesk can't rename users --> request ignored emailadmin fi Plesk ei voi nimetä käyttäjiä --> pyyntö hylätty
plesk imap server (courier) emailadmin fi Plesk IMAP palvelin (Courier)
plesk mail script '%1' not found !!! emailadmin fi Plesk sähköpostiskriptiä '%1' ei löydy !!!
plesk requires passwords to have at least 5 characters and not contain the account-name --> password not set!!! emailadmin fi Plesk;n salasanassa pitää olla vähintään 5 merkkiä, eikä se saa olla käyttäjäntilin nimi --> salasanaa EI ole asetettu !!!
plesk smtp-server (qmail) emailadmin fi Plesk SMTP-palvelin (Qmail)
pop3 server hostname or ip address emailadmin fi POP3 -palvelimen nimi tai IP-osoite
pop3 server port emailadmin fi POP3 -palvelimen portti
postfix with ldap emailadmin fi Postfix ja LDAP
profile access rights emailadmin fi profiilin pääsy oikeudet
profile list emailadmin fi Lista profiileista
profile name emailadmin fi Profiilin nimi
qmaildotmode emailadmin fi qmaildotmode
qouta size in mbyte emailadmin fi tallennuskiintiö Mt
quota settings emailadmin fi tallennuskiintiö
remove emailadmin fi poista
select type of imap/pop3 server emailadmin fi Valitse IMAP / POP3 -palvelimen tyyppi
select type of smtp server emailadmin fi Valitse SMTP -palvelimen tyyppi
server settings emailadmin fi Palvelimen asetukset
sieve server hostname or ip address emailadmin fi Sieve -palvelimen nimi tai IP-osoite
sieve server port emailadmin fi Sieve -palvelimen portti
sieve settings emailadmin fi Sieven asetukset
smtp authentication emailadmin fi SMTP tunnistus
smtp options emailadmin fi SMTP asetukset
smtp server name emailadmin fi SMTP -palvelimen nimi
smtp settings emailadmin fi SMTP asetukset
smtp-server hostname or ip address emailadmin fi SMTP -palvelimen nimi tai IP-osoite
smtp-server port emailadmin fi SMTP -palvelimen portti
standard emailadmin fi Vakio
standard imap server emailadmin fi Vakio IMAP -palvelin
standard pop3 server emailadmin fi Vakio POP3 -palvelin
standard smtp-server emailadmin fi Vakio SMTP -palvelin
the imap server does not appear to support the authentication method selected. please contact your system administrator. emailadmin fi IMAP palvelimelta ei löydy tukea valitulle tunnistus muodolle, ote yhteyttä järjestelmän pääkäyttäjään
this php has no imap support compiled in!! emailadmin fi Tämä PHP ei sisällä IMAP tukea!!
to use a tls connection, you must be running a version of php 5.1.0 or higher. emailadmin fi Käyttääksesi TLS yhteyttä, sinulla pitää olla käytössä PHP 5.1.0 tai uudempi.
unsupported action '%1' !!! emailadmin fi Toiminto jota ei tueta '%1' !!!
update current email address: emailadmin fi Päivitä nykyinen sähköpostiosoite:
use ldap defaults emailadmin fi Käytä LDAP -oletuksia
use smtp auth emailadmin fi Käytä SMTP -käyttäjäntunnistusta
use tls authentication emailadmin fi Käytä TLS -käyttäjäntunnistusta
use tls encryption emailadmin fi Käytä TLS -salausta
user can edit forwarding address emailadmin fi Käyttäjä voi muokata eteenpäinlähetyksen osoitetta
username (standard) emailadmin fi käyttäjätunus (standardi)
username@domainname (virtual mail manager) emailadmin fi käyttäjätunus@palvelimennimi (Virtual MAIL ManaGeR)
users can define their own emailaccounts emailadmin fi Käyttäjät voivat määritellä omat postilaatikkonsa
virtual mail manager emailadmin fi Virtual MAIL ManaGeR

View File

@ -0,0 +1,117 @@
account '%1' not found !!! emailadmin fr Le compte %1 n'a pas été trouvé!!!
add new email address: emailadmin fr Ajouter une nouvelle adresse email:
add profile emailadmin fr Ajouter un profil
admin dn emailadmin fr DN administrateur
admin password emailadmin fr Mot de passe administrateur
admin username emailadmin fr Nom d'utilisateur de l'administrateur
advanced options emailadmin fr Options avancées
alternate email address emailadmin fr Adresse email alternative
any application emailadmin fr Toutes les applications
any group emailadmin fr Tous les groupes
bad login name or password. emailadmin fr ID login ou mot de passe erroné
bad or malformed request. server responded: %s emailadmin fr Requête invalide ou erronnée. Réponse serveur: %s
bad request: %s emailadmin fr Requête invalide: %s
can be used by application emailadmin fr Peut être utilisée par application
can be used by group emailadmin fr Peut être utilisée par groupe
connection dropped by imap server. emailadmin fr Connexion interrompue par le Serveur IMAP.
could not complete request. reason given: %s emailadmin fr Impossible d'effectuer la requête. Raison invoquée: %s
could not open secure connection to the imap server. %s : %s. emailadmin fr Impossible d'ouvrir la connexion sécurisée avec le serveur IMAP. %s: %s
cram-md5 or digest-md5 requires the auth_sasl package to be installed. emailadmin fr CRAM-MD5 ou DIGEST-MD5 requiert l'installation du progiciel Auth_SASL
cyrus imap server emailadmin fr Serveur Cyrus IMAP
cyrus imap server administration emailadmin fr Administration du serveur Cyrus IMAP
default emailadmin fr défaut
deliver extern emailadmin fr Relai de messagerie
do you really want to delete this profile emailadmin fr Voulez-vous vraiment supprimer ce profil?
domainname emailadmin fr Nom de domaine
edit email settings emailadmin fr Modifier les paramètres de messagerie
email account active emailadmin fr Compte de messagerie actif
email address emailadmin fr Adresse de messagerie
email settings common fr Paramètres de messagerie
emailadmin emailadmin fr Administration de la messagerie
enable cyrus imap server administration emailadmin fr Activer la gestion du serveur Cyrus IMAP
enable sieve emailadmin fr Activer Sieve
encryption settings emailadmin fr Paramètres de chiffrement
enter your default mail domain (from: user@domain) emailadmin fr Introduisez votre domaine par défaut (utilisateur@domaine.com)
error connecting to imap server. %s : %s. emailadmin fr Erreur de connexion avec le serveur IMAP. %s: %s.
error connecting to imap server: [%s] %s. emailadmin fr Erreur de connexion avec le serveur IMAP. [%s] %s.
forward also to emailadmin fr Transférer aussi à
forward email's to emailadmin fr Transférer les emails à
forward only emailadmin fr Seulement transférer
global options emailadmin fr Options globales
if using ssl or tls, you must have the php openssl extension loaded. emailadmin fr Si vous utilisez SSl ou TLS, vous devez avoir chargé l'extension PHP openssl
imap admin password admin fr Mot de passe de l'administrateur IMAP
imap admin user admin fr ID administrateur IMAP
imap c-client version < 2001 emailadmin fr IMAP C-Client Version < 2001
imap server closed the connection. emailadmin fr Le serveur IMAP a interrompu la connexion.
imap server closed the connection. server responded: %s emailadmin fr Le serveur IMAP a interrompu la connexion. Réponse du serveur: %s.
imap server hostname or ip address emailadmin fr Nom du serveur IMAP ou adresse IP
imap server logintyp emailadmin fr Type d'authentification IMAP
imap server port emailadmin fr Port IMAP
imap/pop3 server name emailadmin fr Nom du serveur IMAP/POP3
in mbyte emailadmin fr en Mo
ldap basedn emailadmin fr LDAP DN de base
ldap server emailadmin fr LDAP Serveur
ldap server accounts dn emailadmin fr LDAP DN contenant les comptes utilisateurs
ldap server admin dn emailadmin fr LDAP DN administrateur
ldap server admin password emailadmin fr LDAP Mot de passe administateur
ldap server hostname or ip address emailadmin fr LDAP Nom du serveur ou adresse IP
ldap settings emailadmin fr LDAP Paramètres
leave empty for no quota emailadmin fr Laisser vide pour ne pas avoir de quota
mail settings admin fr Paramètres de messagerie
name of organisation emailadmin fr Nom de l'entreprise
no alternate email address emailadmin fr Pas d'adresse email alternative
no encryption emailadmin fr pas de chiffrement
no forwarding email address emailadmin fr Pas d'adresse email de transfert
no message returned. emailadmin fr Aucun message n'est retourné.
no supported imap authentication method could be found. emailadmin fr Il n'a été trouvé aucune méthode d'authentification IMAP supportée
order emailadmin fr Ordre
organisation emailadmin fr Organisation
plesk can't rename users --> request ignored emailadmin fr Plesk ne peut pas renommer les utilisateurs --> requête ignorée
plesk imap server (courier) emailadmin fr Serveur IMAP Plesk (Courier)
plesk mail script '%1' not found !!! emailadmin fr Le script email Plesk '%1' introuvable!!!
plesk requires passwords to have at least 5 characters and not contain the account-name --> password not set!!! emailadmin fr Plesk requiert des mots de passe d'au moins 5 caractères qui ne comprennent pas le nom du compte --> le mot de passe n'est PAS fixé!!!
plesk smtp-server (qmail) emailadmin fr Serveur SMTP Plesk (Qmail)
pop3 server hostname or ip address emailadmin fr Nom ou adresse IP du POP3
pop3 server port emailadmin fr Port POP3
postfix with ldap emailadmin fr Postfix avec support LDAP
profile access rights emailadmin fr droits d'accès du profil
profile list emailadmin fr Liste des profils
profile name emailadmin fr Nom de profil
qmaildotmode emailadmin fr qmaildotmode
qouta size in mbyte emailadmin fr Taille du quota en Mo
quota settings emailadmin fr Paramètres de quota
remove emailadmin fr Supprimer
select type of imap/pop3 server emailadmin fr Sélectionner le type de serveur IMAP/POP3
select type of smtp server emailadmin fr Sélectionner le type de serveur SMTP
server settings emailadmin fr Configuration du serveur
sieve server hostname or ip address emailadmin fr Nom ou adresse IP du serveur Sieve
sieve server port emailadmin fr Port Sieve
sieve settings emailadmin fr Paramètres Sieve
smtp authentication emailadmin fr Authentication SMTP
smtp options emailadmin fr Options SMTP
smtp server name emailadmin fr Nom du serveur SMTP
smtp settings emailadmin fr Paramètres SMTP
smtp-server hostname or ip address emailadmin fr Nom ou adresse IP du serveur SMTP
smtp-server port emailadmin fr Port SMTP
standard emailadmin fr Standard
standard imap server emailadmin fr Serveur IMAP standard
standard pop3 server emailadmin fr Serveur POP3 standard
standard smtp-server emailadmin fr Serveur SMTP standard
the imap server does not appear to support the authentication method selected. please contact your system administrator. emailadmin fr Le serveur IMAP ne supporterait pas la méthode d'authentication sélectionnée. Veuillez contacter votre administrateur système.
this php has no imap support compiled in!! emailadmin fr Ce PHP ne comprend pas de support IMAP!!
to use a tls connection, you must be running a version of php 5.1.0 or higher. emailadmin fr Pour utiliser une connexion TLS, vous devez utiliser une version PHP 5.1.0 ou plus élevée.
unexpected response from server to authenticate command. emailadmin fr Réponse inattendue du serveur à la commande AUTHENTICATE.
unexpected response from server to digest-md5 response. emailadmin fr Réponse inattendue du serveur à la réponse Digest-MD5.
unexpected response from server to login command. emailadmin fr Réponse inattendue du serveur à la commande LOGIN.
unknown imap response from the server. server responded: %s emailadmin fr Réponse IMAP inconnue du serveur. Le serveur a répondu: %s
unsupported action '%1' !!! emailadmin fr Action '%1' non supportée!!!
update current email address: emailadmin fr Mettre à jour l'adresse email actuelle:
use ldap defaults emailadmin fr Utiliser les paramètres LDAP par défaut
use smtp auth emailadmin fr Utiliser l'authentification SMTP
use tls authentication emailadmin fr Utiliser l'authentification TLS
use tls encryption emailadmin fr Utiliser le cryptage TLS
user can edit forwarding address emailadmin fr L'utilisateur peut modifier l'adresse de transfert.
username (standard) emailadmin fr nom de l'utilisateur (standard)
username@domainname (virtual mail manager) emailadmin fr utilisateur@domaine (Virtual MAIL ManaGeR)
users can define their own emailaccounts emailadmin fr Les utilisateurs peuvent définir leurs propres comptes de messagerie
virtual mail manager emailadmin fr Virtual MAIL ManaGeR

68
emailadmin/setup/phpgw_hr.lang Executable file
View File

@ -0,0 +1,68 @@
add profile emailadmin hr Add Profile
admin dn emailadmin hr admin dn
admin password emailadmin hr admin password
admin username emailadmin hr admin username
advanced options emailadmin hr advanced options
alternate email address emailadmin hr alternate email address
cyrus imap server emailadmin hr Cyrus IMAP Server
cyrus imap server administration emailadmin hr Cyrus IMAP server administration
default emailadmin hr default
deliver extern emailadmin hr deliver extern
do you really want to delete this profile emailadmin hr Do you really want to delete this Profile
domainname emailadmin hr domainname
edit email settings emailadmin hr edit email settings
email account active emailadmin hr email account active
email address emailadmin hr email address
enable cyrus imap server administration emailadmin hr enable Cyrus IMAP server administration
enable sieve emailadmin hr enable Sieve
enter your default mail domain (from: user@domain) emailadmin hr Enter your default mail domain (from: user@domain)
forward also to emailadmin hr forward also to
forward email's to emailadmin hr forward email's to
forward only emailadmin hr forward only
imap admin password admin hr IMAP admin password
imap admin user admin hr IMAP admin user
imap server hostname or ip address emailadmin hr IMAP server hostname or ip address
imap server logintyp emailadmin hr IMAP server login type
imap server port emailadmin hr IMAP server port
imap/pop3 server name emailadmin hr IMAP/POP3 server name
in mbyte emailadmin hr in MByte
ldap basedn emailadmin hr LDAP basedn
ldap server emailadmin hr LDAP server
ldap server accounts dn emailadmin hr LDAP server accounts DN
ldap server admin dn emailadmin hr LDAP server admin DN
ldap server admin password emailadmin hr LDAP server admin password
ldap server hostname or ip address emailadmin hr LDAP server hostname or ip address
ldap settings emailadmin hr LDAP settings
leave empty for no quota emailadmin hr leave empty for no quota
mail settings admin hr Mail settings
name of organisation emailadmin hr Name of organization
no alternate email address emailadmin hr no alternate email address
no forwarding email address emailadmin hr no forwarding email address
pop3 server hostname or ip address emailadmin hr POP3 server hostname or ip address
pop3 server port emailadmin hr POP3 server port
postfix with ldap emailadmin hr Postfix with LDAP
profile list emailadmin hr Profile List
profile name emailadmin hr Profile Name
qmaildotmode emailadmin hr qmaildotmode
qouta size in mbyte emailadmin hr qouta size in MByte
quota settings emailadmin hr quota settings
remove emailadmin hr remove
select type of imap/pop3 server emailadmin hr Select type of IMAP/POP3 server
select type of smtp server emailadmin hr Select type of SMTP Server
sieve server hostname or ip address emailadmin hr Sieve server hostname or ip address
sieve server port emailadmin hr Sieve server port
sieve settings emailadmin hr Sieve settings
smtp server name emailadmin hr SMTP server name
smtp-server hostname or ip address emailadmin hr SMTP server hostname or IP address
smtp-server port emailadmin hr SMTP server port
standard emailadmin hr Standard
standard imap server emailadmin hr Standard IMAP server
standard pop3 server emailadmin hr Standard POP3 server
standard smtp-server emailadmin hr Standard SMTP server
use ldap defaults emailadmin hr use LDAP defaults
use smtp auth emailadmin hr Use SMTP auth
use tls authentication emailadmin hr Use TLS authentication
use tls encryption emailadmin hr Use TLS encryption
users can define their own emailaccounts emailadmin hr Users can define their own email accounts
virtual mail manager emailadmin hr Virtual MAIL ManaGeR
IMAP C-Client Version < 2001 emailadmin hr IMAP C-Client Version < 2001

View File

@ -0,0 +1,97 @@
account '%1' not found !!! emailadmin it Account '%1' non trovato !!!
add profile emailadmin it Aggiungi Profilo
admin dn emailadmin it dn amministratore
admin password emailadmin it password amministratore
admin username emailadmin it username amministratore
advanced options emailadmin it opzioni avanzate
alternate email address emailadmin it indirizzo email alternativo
any application emailadmin it ogni applicazione
any group emailadmin it ogni gruppo
bad login name or password. emailadmin it Nome utente o password errati.
bad or malformed request. server responded: %s emailadmin it Richiesta errata o mal composta. Il Server ha risposto: %s
bad request: %s emailadmin it Richiesta errata: %s
can be used by application emailadmin it può essere usato da applicazione
can be used by group emailadmin it può essere usato da gruppo
connection dropped by imap server. emailadmin it Connessione interrotta dal sever IMAP.
could not complete request. reason given: %s emailadmin it Impossibile completare la richiesta. Motivazione data: %s
could not open secure connection to the imap server. %s : %s. emailadmin it Non è possibile aprire una connessione sicura al server IMAP. %s : %s.
cram-md5 or digest-md5 requires the auth_sasl package to be installed. emailadmin it CRAM-MD5 o DIGEST-MD5 richiede che il pacchetto Auth_SASL sia installato.
cyrus imap server emailadmin it Server IMAP Cyrus
cyrus imap server administration emailadmin it Amministrazione Server IMAP Cyrus
default emailadmin it predefinito
do you really want to delete this profile emailadmin it Vuoi davvero cancellare questo Profilo
domainname emailadmin it nome dominio
edit email settings emailadmin it modifica impostazioni email
email account active emailadmin it account email attivo
email address emailadmin it indirizzo email
email settings common it Impostazioni email
emailadmin emailadmin it Gestione Email
enable cyrus imap server administration emailadmin it abilita amministrazione Server IMAP Cyrus
enable sieve emailadmin it abilita Sieve
encryption settings emailadmin it impostazioni cifratura
enter your default mail domain (from: user@domain) emailadmin it Inserisci il tuo dominio di posta predefinito (da: utente@dominio)
error connecting to imap server. %s : %s. emailadmin it Errore in connessione al server IMAP. %s : %s.
error connecting to imap server: [%s] %s. emailadmin it Errore in connessione al server IMAP: [%s] %s.
forward also to emailadmin it Inoltra anche a
forward email's to emailadmin it Inoltra email a
forward only emailadmin it Inoltra solo
global options emailadmin it Opzioni globali
imap admin password admin it Password amministratore IMAP
imap admin user admin it User amministratore IMAP
imap c-client version < 2001 emailadmin it Versione C-Cliente < 2001
imap server hostname or ip address emailadmin it Nome Host o IP del server IMAP
imap server logintyp emailadmin it Tipo login server IMAP
imap server port emailadmin it Porta server IMAP
imap/pop3 server name emailadmin it Nome server IMAP/POP3
in mbyte emailadmin it in MByte
ldap basedn emailadmin it LDAP basedn
ldap server emailadmin it server LDAP
ldap server accounts dn emailadmin it DN account server LDAP
ldap server admin dn emailadmin it DN amministratore server LDAP
ldap server admin password emailadmin it password amministratore server LDAP
ldap server hostname or ip address emailadmin it Nome host o IP server LDAP
ldap settings emailadmin it impostazioni LDAP
leave empty for no quota emailadmin it lascia vuoto per nessuna quota
mail settings admin it Impostazioni Posta
name of organisation emailadmin it Nome dell'organizzazione
no alternate email address emailadmin it nessun indirizzo email alternativo
no forwarding email address emailadmin it nessun indirizzo email di inoltro
no message returned. emailadmin it nessun messaggio ricevuto
order emailadmin it ordine
organisation emailadmin it organizzazione
pop3 server hostname or ip address emailadmin it Nome host o IP server POP3
pop3 server port emailadmin it porta server POP3
postfix with ldap emailadmin it Postfix con LDAP
profile access rights emailadmin it diritti di accesso profilo
profile list emailadmin it Elenco Profili
profile name emailadmin it Nome Profilo
qmaildotmode emailadmin it qmaildotmode
qouta size in mbyte emailadmin it dimensione quota in MByte
quota settings emailadmin it impostazioni quota
remove emailadmin it rimuovi
select type of imap/pop3 server emailadmin it Seleziona il tipo si server IMAP/POP3
select type of smtp server emailadmin it Seleziona il tipo di server SMTP
server settings emailadmin it impostazioni server
sieve server hostname or ip address emailadmin it Nome host o IP server Sieve
sieve server port emailadmin it porta server Sieve
sieve settings emailadmin it impostazioni SIeve
smtp authentication emailadmin it autenticazione smtp
smtp options emailadmin it opzioni smtp
smtp server name emailadmin it nome server SMTP
smtp settings emailadmin it impostazioni smtp
smtp-server hostname or ip address emailadmin it Nome host o IP server SMTP
smtp-server port emailadmin it porta server SMTP
standard emailadmin it Standard
standard imap server emailadmin it Server IMAP standard
standard pop3 server emailadmin it Server POP3 standard
standard smtp-server emailadmin it Server SMTP standard
unsupported action '%1' !!! emailadmin it Azione non supportata '%1' !!!
use ldap defaults emailadmin it usa predefiniti LDAP
use smtp auth emailadmin it usa autenticazione SMTP
use tls authentication emailadmin it usa autenticazione TLS
use tls encryption emailadmin it usa crittografia TLS
user can edit forwarding address emailadmin it l'utente può modificare indirizzo di inoltro
username (standard) emailadmin it nome utente (standard)
username@domainname (virtual mail manager) emailadmin it nomeutente@nome dominio (ManaGeR MAIL Virtuale)
users can define their own emailaccounts emailadmin it Gli utenti possono definire i propri account email
virtual mail manager emailadmin it ManaGeR MAIL Virtuale

68
emailadmin/setup/phpgw_iw.lang Executable file
View File

@ -0,0 +1,68 @@
add profile emailadmin iw הוסף פרופיל
admin dn emailadmin iw של המנהל dn
admin password emailadmin iw סיסמת מנהל
admin username emailadmin iw שם משתמש של המנהל
advanced options emailadmin iw אופציות מתקדמות
alternate email address emailadmin iw כתובת דואר אלקטרוני חילופי
cyrus imap server emailadmin iw Cyrus IMAP שרת
cyrus imap server administration emailadmin iw Cyrus IMAP ניהול שרת
default emailadmin iw ברירת מחדל
deliver extern emailadmin iw מסירה חיצונית
do you really want to delete this profile emailadmin iw בטוח שברצונך למחוק פרופיל זה
domainname emailadmin iw שם הדומיין
edit email settings emailadmin iw ערוך הגדרות דואר אלקטרוני
email account active emailadmin iw חשבון דואר אלקטרוני פעיל
email address emailadmin iw כתובת דואר אלקטרוני
enable cyrus imap server administration emailadmin iw Cyrus IMAP איפשור ניהול שרת
enable sieve emailadmin iw Sieve אישפור
enter your default mail domain (from: user@domain) emailadmin iw (user@domain :ציין את דומיין דואר המחדלי שלך (לדוגמא
forward also to emailadmin iw להעביר גם אל
forward email's to emailadmin iw להעביר דואר אלקטרוני אל
forward only emailadmin iw העבר בלבד
imap admin password admin iw IMAP סיסמת ניהול
imap admin user admin iw IMAP שם מנהל
imap c-client version < 2001 emailadmin iw IMAP C-Client Version < 2001
imap server hostname or ip address emailadmin iw שלו IP- או כתובת הIMAP שם שרת
imap server logintyp emailadmin iw IMAP סוג כניסה לשרת
imap server port emailadmin iw IMAP פורט שרת
imap/pop3 server name emailadmin iw IMAP/POP3 שם שרת
in mbyte emailadmin iw MB-ב
ldap basedn emailadmin iw dn הביסי של LDAP
ldap server emailadmin iw LDAP שרת
ldap server accounts dn emailadmin iw LDAP של שרת חשבונות DN
ldap server admin dn emailadmin iw LDAP מנהל שרת של DN
ldap server admin password emailadmin iw LDAP סיסמה של מנהל שרת
ldap server hostname or ip address emailadmin iw IP או כתובת LDAP שם שרת
ldap settings emailadmin iw LDAP הגדרות
leave empty for no quota emailadmin iw השאר ריק ללא הקצאה
mail settings admin iw הגדרות דואר
name of organisation emailadmin iw שם האירגון
no alternate email address emailadmin iw אין כתובת דואר אלקטרוני חלופי
no forwarding email address emailadmin iw אין כתובת להעברת דואר אלקטרוני
pop3 server hostname or ip address emailadmin iw IP או כתובת pop3 שם שרת
pop3 server port emailadmin iw POP3 פורט שרת
postfix with ldap emailadmin iw LDAP עם Postfix
profile list emailadmin iw רשימת פרופילים
profile name emailadmin iw שם פרופיל
qmaildotmode emailadmin iw qmaildotmode
qouta size in mbyte emailadmin iw MB-גודל הקצאה ב
quota settings emailadmin iw הגדרות הקצאה
remove emailadmin iw הסר
select type of imap/pop3 server emailadmin iw IMAP/POP3 בחר סוג שרת
select type of smtp server emailadmin iw SMTP בחר סוג שרת
sieve server hostname or ip address emailadmin iw IP או כתובת Sieve שם שרת
sieve server port emailadmin iw Sieve פורט שרת
sieve settings emailadmin iw Sieve הגדרות
smtp server name emailadmin iw SMTP שם שרת
smtp-server hostname or ip address emailadmin iw IP או כתובת SMTP שם שרת
smtp-server port emailadmin iw SMTP פורת שרת
standard emailadmin iw תקני
standard imap server emailadmin iw תקני IMAP שרת
standard pop3 server emailadmin iw תקני POP3 שרת
standard smtp-server emailadmin iw תקני SMTP שרת
use ldap defaults emailadmin iw LDAP השתמש בברירות מחדל של
use smtp auth emailadmin iw LDAP השתמש באימות משתמשים של
use tls authentication emailadmin iw TLS השתמש באימות
use tls encryption emailadmin iw TLS השתמש בהצפנת
users can define their own emailaccounts emailadmin iw משתמשים יכולים להגדיר בעצמם את חשבונות דואר האלקטרוני שלהם
virtual mail manager emailadmin iw מלהל דואר וירטואלי

View File

@ -0,0 +1 @@

View File

@ -0,0 +1,61 @@
add profile emailadmin lv Pievienot profilu
admin dn emailadmin lv administratora dn
admin password emailadmin lv administratora parole
admin username emailadmin lv administratora lietotājvārds
advanced options emailadmin lv uzlabotās iespējas
alternate email address emailadmin lv alternatīvas e-pasta adreses
cyrus imap server emailadmin lv Cyrus IMAP serveris
cyrus imap server administration emailadmin lv Cyrus IMAP servera administrēšana
default emailadmin lv noklusējums
do you really want to delete this profile emailadmin lv Vai tu tiešām vēlies dzēst šo profilu?
domainname emailadmin lv domēna vārds
edit email settings emailadmin lv rediģēt e-pasta uzstādījumus
email account active emailadmin lv e-pasta konts aktīvs
email address emailadmin lv e-pasta adrese
enable cyrus imap server administration emailadmin lv atļaut Cyrus IMAP servera administrēšanu
enable sieve emailadmin lv atļaut Sieve
enter your default mail domain (from: user@domain) emailadmin lv Ievadi noklusēto pasta domēnu (no: lietotājs@domēns)
forward also to emailadmin lv pārsūtīt arī
forward email's to emailadmin lv pārsūtīt e-pasta vēstules
forward only emailadmin lv tikai pārsūtīt
imap admin password admin lv IMAP administratora parole
imap admin user admin lv IMAP administrators
imap c-client version < 2001 emailadmin lv IMAP C-Client Version <2001
imap server hostname or ip address emailadmin lv IMAP servera hosta vārds vai IP adrese
imap server logintyp emailadmin lv IMAP servera autorizācijas veids
imap server port emailadmin lv IMAP servera ports
imap/pop3 server name emailadmin lv IMAP/POP3 servera nosaukums
ldap basedn emailadmin lv LDAP bāzes dn
ldap server emailadmin lv LDAP serveris
ldap server accounts dn emailadmin lv LDAP servera konti DN
ldap server admin dn emailadmin lv LDAP servera administratora DN
ldap server admin password emailadmin lv LDAP servera administratora parole
ldap server hostname or ip address emailadmin lv LDAP servera hosta vārds vai IP adrese
ldap settings emailadmin lv LDAP uzstādījumi
mail settings admin lv Pasta uzstādījumi
name of organisation emailadmin lv Organizācijas nosaukums
no alternate email address emailadmin lv nav alternatīvas e-pasta adreses
no forwarding email address emailadmin lv nav pārsūtāmās e-pasta adreses
pop3 server hostname or ip address emailadmin lv POP3 servera hosta vārds vai IP adrese
pop3 server port emailadmin lv POP3 servera ports
profile list emailadmin lv Profila saraksts
profile name emailadmin lv Profila vārds
remove emailadmin lv pārvietot
select type of imap/pop3 server emailadmin lv Atzīmēt IMAP/POP3 servera tipu
select type of smtp server emailadmin lv Atzīmēt SMTP servera tipu
sieve server hostname or ip address emailadmin lv <b>?Sieve?</b> servera hosta vārds vai IP adrese
sieve server port emailadmin lv Sieve servera ports
sieve settings emailadmin lv Sieve uzstadījumi
smtp server name emailadmin lv SMTP servera nosaukums
smtp-server hostname or ip address emailadmin lv SMTP servera hosta vārds vai IP adrese
smtp-server port emailadmin lv SMTP servera ports
standard emailadmin lv Standarta
standard imap server emailadmin lv Standarta IMAP serveris
standard pop3 server emailadmin lv Standarta POP3 serveris
standard smtp-server emailadmin lv Standarta SMTP serveris
use ldap defaults emailadmin lv lieto LDAP noklusējumus
use smtp auth emailadmin lv Lieto SMTP autentifikāciju
use tls authentication emailadmin lv Lieto TLS autentifikāciju
use tls encryption emailadmin lv Lieto TLS šifrēšanu
users can define their own emailaccounts emailadmin lv LIetotāji paši var definēt savus e-pasta kontus
virtual mail manager emailadmin lv VIrtuālais MAIL ManaGeR

View File

@ -0,0 +1,114 @@
account '%1' not found !!! emailadmin nl Account '%1' niet gevonden !!!
add profile emailadmin nl Profiel toevoegen
admin dn emailadmin nl admin dn
admin password emailadmin nl Admin wachtwoord
admin username emailadmin nl Admin gebruikersnaam
advanced options emailadmin nl Geavanceerde opties
alternate email address emailadmin nl Alternatief emailadres
any application emailadmin nl Iedere toepassing
any group emailadmin nl Iedere groep
bad login name or password. emailadmin nl Ongeldige login of paswoord
bad or malformed request. server responded: %s emailadmin nl Ongeldig of slecht geformuleerde aanvraag. Server reageerde: %s
bad request: %s emailadmin nl Slechte vraag: %s
can be used by application emailadmin nl Kan gebruikt worden door toepassing
can be used by group emailadmin nl Kan gebruikt worden door groep
connection dropped by imap server. emailadmin nl Verbinding viel uit door IMAP server
could not complete request. reason given: %s emailadmin nl Kan verzoek niet afmaken. Opgegeven reden: %s
could not open secure connection to the imap server. %s : %s. emailadmin nl Kon geen veilige verbinding openen met de IMAP server. %s : %s
cram-md5 or digest-md5 requires the auth_sasl package to be installed. emailadmin nl CRAM-MDS of DIGEST-MDS vereist de installatie van het Auth_SASL pakket.
cyrus imap server emailadmin nl Cyrus IMAP-server
cyrus imap server administration emailadmin nl Cyrus IMAP-serverbeheer
default emailadmin nl standaard
deliver extern emailadmin nl bezorg extern
do you really want to delete this profile emailadmin nl Weet u zeker dat u dit profiel wilt verwijderen
domainname emailadmin nl Domeinnaam
edit email settings emailadmin nl Wijzig emailinstellingen
email account active emailadmin nl Emailaccount actief
email address emailadmin nl Emailadres
email settings common nl Emailinstellingen
emailadmin emailadmin nl EmailAdmin
enable cyrus imap server administration emailadmin nl activier Cyrus IMAP serverbeheer
enable sieve emailadmin nl activeer Sieve
encryption settings emailadmin nl encryptie instellingen
enter your default mail domain (from: user@domain) emailadmin nl Voer uw standaard emaildomein in (uit: gebruiker@domein)
error connecting to imap server. %s : %s. emailadmin nl Fout verbinden met de IMAP server. %s : %s
error connecting to imap server: [%s] %s. emailadmin nl Fout verbinden met de IMAP server: [%s] %s
forward also to emailadmin nl Ook doorsturen naar
forward email's to emailadmin nl Emails doorsturen naar
forward only emailadmin nl Alleen doorsturen
global options emailadmin nl Algemene opties
if using ssl or tls, you must have the php openssl extension loaded. emailadmin nl Indien SSL of TSL wordt gebruikt, moet u de PHP openssl extensie opgeladen hebben
imap admin password admin nl IMAP beheerders wachtwoord
imap admin user admin nl IMAP beheerdersgebruiker
imap c-client version < 2001 emailadmin nl IMAP C-Client Versie < 2001
imap server closed the connection. emailadmin nl IMAP server sloot de verbinding
imap server closed the connection. server responded: %s emailadmin nl IMAP Server sloot de verbinding. Server reageerde: %s
imap server hostname or ip address emailadmin nl IMAP-server hostnaam of IP-adres
imap server logintyp emailadmin nl IMAP-server logintype
imap server port emailadmin nl IMAP-serverpoort
imap/pop3 server name emailadmin nl IMAP/POP3-servernaam
in mbyte emailadmin nl in MBytes
ldap basedn emailadmin nl LDAP basedn
ldap server emailadmin nl LDAP-server
ldap server accounts dn emailadmin nl LDAP server accounts DN
ldap server admin dn emailadmin nl LDAP server admin DN
ldap server admin password emailadmin nl LDAP-server admin wachtwoord
ldap server hostname or ip address emailadmin nl LDAP-serverhostnaam of IP-adres
ldap settings emailadmin nl LDAP-instellingen
leave empty for no quota emailadmin nl Laat leeg voor geen quota
mail settings admin nl Mailinstellingen
name of organisation emailadmin nl Naam van de Organisatie
no alternate email address emailadmin nl geen alternatief emailadres
no forwarding email address emailadmin nl geen emailadres om naar door te sturen
no message returned. emailadmin nl Geen bericht teruggekomen.
no supported imap authentication method could be found. emailadmin nl Geen ondersteunde IMAP authenticatiemethode kon gevonden worden.
order emailadmin nl Volgorde
organisation emailadmin nl Organisatie
plesk can't rename users --> request ignored emailadmin nl Plesk kan gebruikers niet hernoemen --> verzoek genegeerd
plesk imap server (courier) emailadmin nl Plesk IMAP Server (Courier)
plesk mail script '%1' not found !!! emailadmin nl Plesk mail script '%1' niet gevonden !!!
plesk requires passwords to have at least 5 characters and not contain the account-name --> password not set!!! emailadmin nl Plesk vereist dat wachtwoorden minstens 5 karakters bevatten en niet de accountnaam mogen bevatten --> wachtwoord niet gewijzigd !!!
plesk smtp-server (qmail) emailadmin nl Plesk SMTP-Server (Qmail)
pop3 server hostname or ip address emailadmin nl POP3-server hostnaam of IP-adres
pop3 server port emailadmin nl POP3-serverpoort
postfix with ldap emailadmin nl Postfix met LDAP
profile access rights emailadmin nl profiel toegangsrechten
profile list emailadmin nl Profiellijst
profile name emailadmin nl Profielnaam
qmaildotmode emailadmin nl qmaildotmode
qouta size in mbyte emailadmin nl quota grootte in MBytes
quota settings emailadmin nl Quota-installingen
remove emailadmin nl Verwijderen
select type of imap/pop3 server emailadmin nl Selecteer IMAP/POP3-servertype
select type of smtp server emailadmin nl Selecteer SMTP-servertype
server settings emailadmin nl server instellingen
sieve server hostname or ip address emailadmin nl Sieve-serverhostnaam of IP-adres
sieve server port emailadmin nl Sieve-serverpoort
sieve settings emailadmin nl Sieve instellingen
smtp authentication emailadmin nl SMTP authenticatie
smtp options emailadmin nl SMTP opties
smtp server name emailadmin nl SMTP-servernaam
smtp settings emailadmin nl SMTP instellingen
smtp-server hostname or ip address emailadmin nl SMTP-serverhostnaam of IP-adres
smtp-server port emailadmin nl SMTP-serverpoort
standard emailadmin nl Standaard
standard imap server emailadmin nl Standaard IMAP-server
standard pop3 server emailadmin nl Standaard POP3-server
standard smtp-server emailadmin nl Standaard SMTP-server
the imap server does not appear to support the authentication method selected. please contact your system administrator. emailadmin nl The IMAP server blijkt geen authenticatiemethode te ondersteunen. Gelieve uw systeembeheerder te contacteren.
this php has no imap support compiled in!! emailadmin nl Deze PHP heeft geen IMAP ondersteuning verzamelt in!!
to use a tls connection, you must be running a version of php 5.1.0 or higher. emailadmin nl Om een TLS verbinding te gebruiken, moet u een versie van PHP 5.1.0 of hoger gebruiken.
unexpected response from server to authenticate command. emailadmin nl Onverwachte reactie van de server om de opdracht te AUTHENTICEREN.
unexpected response from server to digest-md5 response. emailadmin nl Onverwachte reactie van de server op Digest-MD5 reactie.
unexpected response from server to login command. emailadmin nl Onverwachte reactie van de server op LOGIN opdracht.
unknown imap response from the server. server responded: %s emailadmin nl Onverwachte IMAP reactie van de server. Server reageerde: %s
unsupported action '%1' !!! emailadmin nl Niet-ondersteunde actie '%1'
use ldap defaults emailadmin nl gebruik LDAP standaard instellingen
use smtp auth emailadmin nl Gebruik SMTP authenticatie
use tls authentication emailadmin nl Gebruik TLS authenticatie
use tls encryption emailadmin nl Gebruik TLS-encryptie
user can edit forwarding address emailadmin nl Gebruiker kan het doorstuuradres aanpassen
username (standard) emailadmin nl gebruikersnaam (standaard)
username@domainname (virtual mail manager) emailadmin nl gebruikersnaam@domeinnaam (Virtual MAIL ManaGeR)
users can define their own emailaccounts emailadmin nl Gebruikers kunnen hun eigen emailaccounts definiëren
virtual mail manager emailadmin nl Virtual MAIL ManaGeR

View File

@ -0,0 +1,68 @@
add profile emailadmin no Legg til profil
admin dn emailadmin no Admin dn
admin password emailadmin no Admin passord
admin username emailadmin no Admin brukernavn
advanced options emailadmin no Avanserte valg
alternate email address emailadmin no Alternativ e-mailadresse
cyrus imap server emailadmin no Cyrus IMAP tjener
cyrus imap server administration emailadmin no Cyrys IMAP tjeneradministrasjon
default emailadmin no standard
deliver extern emailadmin no lever eksternt
do you really want to delete this profile emailadmin no Ønsker du virkelig å slette denne profilen
domainname emailadmin no Domenenavn
edit email settings emailadmin no Rediger e-mail oppsett
email account active emailadmin no E-mailkonto aktiv
email address emailadmin no E-mailadresse
enable cyrus imap server administration emailadmin no Tillat Cyrus IMAP-tjener administrasjon
enable sieve emailadmin no Tillat Sieve
enter your default mail domain (from: user@domain) emailadmin no Registrer ditt standard Emaildomene (fra: bruker@domene)
forward also to emailadmin no videresend også til
forward email's to emailadmin no videresend e-mailer til
forward only emailadmin no bare videresending
imap admin password admin no IMAP Administrasjonspassord
imap admin user admin no IMAP Administrasjonsbruker
imap c-client version < 2001 emailadmin no IMAP C-klient versjon < 2001
imap server hostname or ip address emailadmin no Tjenernavn eller IP-adresse for IMAP tjener
imap server logintyp emailadmin no IMAP Tjener påloggingstype
imap server port emailadmin no IMAP Tjenerport
imap/pop3 server name emailadmin no IMAP/POP3 tjenernavn
in mbyte emailadmin no i MByte
ldap basedn emailadmin no LDAP basedn
ldap server emailadmin no LDAP Tjener
ldap server accounts dn emailadmin no LDAP Tjenerkonti DN
ldap server admin dn emailadmin no LDAP Tjeneradmin. DN
ldap server admin password emailadmin no LDAP Tjeneradmin. passord
ldap server hostname or ip address emailadmin no Tjenernavn eller IP-adresse for LDAP tjener
ldap settings emailadmin no LDAP Instillinger
leave empty for no quota emailadmin no La stå tomt for ingen begrensning.
mail settings admin no E-post innstillinger
name of organisation emailadmin no Navn på organisasjon
no alternate email address emailadmin no ingen alternativ e-mailadresse
no forwarding email address emailadmin no ingen e-mailadresse for videresending
pop3 server hostname or ip address emailadmin no Tjenernavn eller IP-adresse for POP3 tjener
pop3 server port emailadmin no POP3 Tjenerport
postfix with ldap emailadmin no Postfix med LDAP
profile list emailadmin no Profilliste
profile name emailadmin no Profilnavn
qmaildotmode emailadmin no qmaildotmodus
qouta size in mbyte emailadmin no Grense Str. i Mbyte
quota settings emailadmin no Grenseinstillinger
remove emailadmin no fjern
select type of imap/pop3 server emailadmin no Velg type for IMAP/POP3 Tjener
select type of smtp server emailadmin no Velg type SMTP Tjener
sieve server hostname or ip address emailadmin no Tjenernavn eller IP-adresse for Sieve-tjener
sieve server port emailadmin no Sieve tjenerport
sieve settings emailadmin no Sieve innstillinger
smtp server name emailadmin no SMTP Tjenernavn
smtp-server hostname or ip address emailadmin no Tjenernavn eller IP-Adresse for SMTP-Tjener
smtp-server port emailadmin no SMTP Tjenerport
standard emailadmin no standard
standard imap server emailadmin no Standard IMAP tjener
standard pop3 server emailadmin no Standard POP3 tjener
standard smtp-server emailadmin no Standard SMTP tjener
use ldap defaults emailadmin no Bruk LDAP standaroppsett
use smtp auth emailadmin no Bruk SMTP autentisering
use tls authentication emailadmin no Bruk TLS autentisering
use tls encryption emailadmin no Bruk TLS kryptering
users can define their own emailaccounts emailadmin no Brukere kan definere egne e-post kontoer
virtual mail manager emailadmin no Virtuell Mail Manager

View File

@ -0,0 +1,10 @@
add profile emailadmin pl Dodaj profil
alternate email address emailadmin pl alternatywny adres email
email address emailadmin pl adres email
imap/pop3 server name emailadmin pl Nazwa serwera IMAP/POP3
ldap server emailadmin pl Serwer LDAP
ldap settings emailadmin pl Ustawienia LDAP
profile name emailadmin pl Nazwa Profilu
qouta size in mbyte emailadmin pl rozmiar quoty w megabajtach
quota settings emailadmin pl ustawnienia quoty
standard emailadmin pl Standard

View File

@ -0,0 +1,117 @@
account '%1' not found !!! emailadmin pt-br Conta '%1' não encontrada !!!
add new email address: emailadmin pt-br Adicionar novo e-mail:
add profile emailadmin pt-br Adicionar Perfil
admin dn emailadmin pt-br dn do administrador
admin password emailadmin pt-br senha do administrador
admin username emailadmin pt-br nome de usuário do administrador
advanced options emailadmin pt-br opções avançadas
alternate email address emailadmin pt-br endereço de e-mail alternativo
any application emailadmin pt-br qualquer aplicação
any group emailadmin pt-br qualquer grupo
bad login name or password. emailadmin pt-br Nome de usuário ou senha inválido(s).
bad or malformed request. server responded: %s emailadmin pt-br Solicitação inválida. Resposta do servidor: %s
bad request: %s emailadmin pt-br Solicitação inválida: %s
can be used by application emailadmin pt-br pode ser usado pela aplicação
can be used by group emailadmin pt-br pode ser usado pelo grupo
connection dropped by imap server. emailadmin pt-br Conexão interrompida pelo servidor IMAP.
could not complete request. reason given: %s emailadmin pt-br Não foi possível completar a solicitação. Resposta do servidor: %s
could not open secure connection to the imap server. %s : %s. emailadmin pt-br Não foi possível abrir conexão segura com o servidor IMAP. %s : %s.
cram-md5 or digest-md5 requires the auth_sasl package to be installed. emailadmin pt-br CRAM-MD5 ou DIGEST-MD5 necessitam que o pacote Auth_SASL esteja instalado.
cyrus imap server emailadmin pt-br Servidor Cyrus IMAP
cyrus imap server administration emailadmin pt-br Administração do Servidor Cyrus IMAP
default emailadmin pt-br padrão
deliver extern emailadmin pt-br entrega externa
do you really want to delete this profile emailadmin pt-br Tem certeza que deseja remover esse perfil?
domainname emailadmin pt-br nome do domínio
edit email settings emailadmin pt-br editar configurações de e-mail
email account active emailadmin pt-br conta de e-mail ativa
email address emailadmin pt-br endrereço de e-mail
email settings common pt-br Configurações do E-mail
emailadmin emailadmin pt-br Administração do E-Mail
enable cyrus imap server administration emailadmin pt-br habilitar administração do Servidor Cyrus IMAP
enable sieve emailadmin pt-br habilitar Sieve
encryption settings emailadmin pt-br configurações de criptografia
enter your default mail domain (from: user@domain) emailadmin pt-br Entre com o domínio de e-mail padrão (de: usuario@dominio)
error connecting to imap server. %s : %s. emailadmin pt-br Erro conectando ao servidor IMAP. %s : %s.
error connecting to imap server: [%s] %s. emailadmin pt-br Erro conectando ao servidor IMAP: [%s] %s.
forward also to emailadmin pt-br encaminhar também para
forward email's to emailadmin pt-br encaminhar mensagens para
forward only emailadmin pt-br encaminhar somente
global options emailadmin pt-br opções globais
if using ssl or tls, you must have the php openssl extension loaded. emailadmin pt-br Se estiver usando SSL ou TLS, você deverá ter a extensão PHP 'openssl' carretada.
imap admin password admin pt-br Senha do administrador IMAP
imap admin user admin pt-br Usuário administrador do IMAP
imap c-client version < 2001 emailadmin pt-br IMAP C-Cliente Versão < 2001
imap server closed the connection. emailadmin pt-br O servidor IMAP fechou a conexão.
imap server closed the connection. server responded: %s emailadmin pt-br O servidor IMAP fechou a conexão. Resposta do servidor: %s
imap server hostname or ip address emailadmin pt-br Nome ou IP do servidor IMAP
imap server logintyp emailadmin pt-br Tipo de login do servidor IMAP
imap server port emailadmin pt-br Porta do servidor IMAP
imap/pop3 server name emailadmin pt-br Nome do servidor IMAP/POP3
in mbyte emailadmin pt-br em Mbytes
ldap basedn emailadmin pt-br DN Base do LDAP
ldap server emailadmin pt-br Servidor LDAP
ldap server accounts dn emailadmin pt-br Contas DN de servidores LDAP
ldap server admin dn emailadmin pt-br Administrador DN de servidor LDAP
ldap server admin password emailadmin pt-br Senha do administrador DN de servidor LDAP
ldap server hostname or ip address emailadmin pt-br Nome ou endereço IP do servidor LDAP
ldap settings emailadmin pt-br Configurações do LDAP
leave empty for no quota emailadmin pt-br deixe em branco para nenhuma quota
mail settings admin pt-br Configurações de E-Mail
name of organisation emailadmin pt-br Nome da organização
no alternate email address emailadmin pt-br sem conta de e-mail alternativa
no encryption emailadmin pt-br sem criptografia
no forwarding email address emailadmin pt-br sem conta de e-mail para encaminhar
no message returned. emailadmin pt-br Nenhuma mensagem retornada.
no supported imap authentication method could be found. emailadmin pt-br Nenhum método de autenticação IMAP suportado pôde ser encontrado.
order emailadmin pt-br ordem
organisation emailadmin pt-br organização
plesk can't rename users --> request ignored emailadmin pt-br Plesk não pode renomear usuários --> solicitação ignorada
plesk imap server (courier) emailadmin pt-br Servidor IMAP Plesk (Courier)
plesk mail script '%1' not found !!! emailadmin pt-br Script de e-mail Plesk '%1' não encontrado !!!
plesk requires passwords to have at least 5 characters and not contain the account-name --> password not set!!! emailadmin pt-br Plesk exige que senhas tenha no mínimo 5 caracteres e não contenham o nome da conta --> senha NÃO configurada!!!
plesk smtp-server (qmail) emailadmin pt-br Servidor SMTP Plesk (Qmail)
pop3 server hostname or ip address emailadmin pt-br Nome ou endereço IP do servidor POP3
pop3 server port emailadmin pt-br Porta do servidor POP3
postfix with ldap emailadmin pt-br Postfix com LDAP
profile access rights emailadmin pt-br direito de acesso aos perfis
profile list emailadmin pt-br Lista de perfis
profile name emailadmin pt-br Nome do perfil
qmaildotmode emailadmin pt-br modo dos arquivos qmail (.qmail)
qouta size in mbyte emailadmin pt-br tamanho da quota em MBytes
quota settings emailadmin pt-br configurações de quota
remove emailadmin pt-br remover
select type of imap/pop3 server emailadmin pt-br Selecione o tipo de servidor IMAP/POP3
select type of smtp server emailadmin pt-br Selecione o tipo de servidor SMTP
server settings emailadmin pt-br configurações do servidor
sieve server hostname or ip address emailadmin pt-br Nome ou endereço IP do servidor Sieve
sieve server port emailadmin pt-br Porta do Servidor Sieve
sieve settings emailadmin pt-br Configurações Sieve
smtp authentication emailadmin pt-br autenticação smtp
smtp options emailadmin pt-br opções smtp
smtp server name emailadmin pt-br Nome do Servidor SMTP
smtp settings emailadmin pt-br configurações SMTP
smtp-server hostname or ip address emailadmin pt-br Nome ou endereço IP do servidor SMTP
smtp-server port emailadmin pt-br Porta do servidor SMTP
standard emailadmin pt-br Padrão
standard imap server emailadmin pt-br Servidor IMAP padrão
standard pop3 server emailadmin pt-br Servidor POP3 padrão
standard smtp-server emailadmin pt-br Servidor SMTP padrão
the imap server does not appear to support the authentication method selected. please contact your system administrator. emailadmin pt-br O servidor IMAP não parece suportar o método de autenticação selecionado. Por favor contacte o administrador do seu sistema.
this php has no imap support compiled in!! emailadmin pt-br Este PHP não tem suporte a IMAP compilado nele!
to use a tls connection, you must be running a version of php 5.1.0 or higher. emailadmin pt-br Para usar uma conexão TLS, você deve estar rodando PHP versão 5.1.0 ou maior.
unexpected response from server to authenticate command. emailadmin pt-br Resposta inesperada do servidor para o comando AUTHENTICATE.
unexpected response from server to digest-md5 response. emailadmin pt-br Resposta inesperada do servidor para a resposta Digest-MD5.
unexpected response from server to login command. emailadmin pt-br Resposta inesperada do servidor para o comando LOGIN.
unknown imap response from the server. server responded: %s emailadmin pt-br Resposta desconhecida do servidor IMAP. Resposta do servidor: %s
unsupported action '%1' !!! emailadmin pt-br Ação não suportada: '%1' !!!
update current email address: emailadmin pt-br Atualizar e-mail atual:
use ldap defaults emailadmin pt-br usar padrões LDAP
use smtp auth emailadmin pt-br usar SMTP Autenticado
use tls authentication emailadmin pt-br Usar autenticação TLS
use tls encryption emailadmin pt-br Usar encriptação TLS
user can edit forwarding address emailadmin pt-br usuário pode editar endereço de encaminhamento
username (standard) emailadmin pt-br nome do usuário (padrão)
username@domainname (virtual mail manager) emailadmin pt-br nomedousuario@nomedodominio (Gerenciador Virtual Mail)
users can define their own emailaccounts emailadmin pt-br Os usuários podem definir sua próprias contas de correio
virtual mail manager emailadmin pt-br Gerenciador Virtual Mail

View File

@ -0,0 +1,85 @@
add profile emailadmin pt Adicionar perfil
admin dn emailadmin pt DN do administrador
admin password emailadmin pt Senha do administrador
admin passwort emailadmin pt Senha do administrador
admin username emailadmin pt Nome do utilizador do administrador
advanced options emailadmin pt Opções avançadas
alternate email address emailadmin pt Endereço de correio electrónico alternativo
any application emailadmin pt Qualquer aplicação
any group emailadmin pt Qualquer grupo
can be used by application emailadmin pt Pode ser utilizado pela aplicação
can be used by group emailadmin pt Pode ser utilizado pelo grupo
cyrus imap server emailadmin pt Servidor IMAP Cyrus
cyrus imap server administration emailadmin pt Administração do servidor IMAP Cyrus
default emailadmin pt Por omissão
deliver extern emailadmin pt Entrega externa
do you really want to delete this profile emailadmin pt Deseja relamente eliminar este perfil
domainname emailadmin pt Nome de domínio
edit email settings emailadmin pt Editar configurações do correio electrónico
email account active emailadmin pt Conta de correio electrónico activa
email address emailadmin pt Endereço de correio electrónico
enable cyrus imap server administration emailadmin pt Activar administração do servidor IMAP Cyrus
enable sieve emailadmin pt Activar Sieve
encryption settings emailadmin pt Definições de cifragem
enter your default mail domain (from: user@domain) emailadmin pt Insira o seu domínio de correio electrónico por omissão (de: utilizador@domínio)
forward also to emailadmin pt Reencaminhar também para
forward email's to emailadmin pt Reencaminhar mensagens para
forward only emailadmin pt Reencaminhar apenas
global options emailadmin pt Opções gerais
imap admin password admin pt Senha do administrador IMAP
imap admin user admin pt Utilizador do administrador IMAP
imap c-client version < 2001 emailadmin pt Versão C-Client IMAP < 2001
imap server hostname or ip address emailadmin pt Nome do servidor ou endereço IP do servidor IMAP
imap server logintyp emailadmin pt Tipo de acesso do servidor IMAP
imap server port emailadmin pt Porto do servidor IMAP
imap/pop3 server name emailadmin pt Nome do servidor IMAP/POP3
in mbyte emailadmin pt em MBytes
ldap basedn emailadmin pt Base DN LDAP
ldap server emailadmin pt Servidor LDAP
ldap server accounts dn emailadmin pt DN das contas de servidor LDAP
ldap server admin dn emailadmin pt DN do administrador de servidor LDAP
ldap server admin password emailadmin pt Senha do administrador de servidor LDAP
ldap server hostname or ip address emailadmin pt Nome do servidor ou endereço IP do servidor LDAP
ldap settings emailadmin pt Configurações do LDAP
leave empty for no quota emailadmin pt Deixar vazio para quota sem limites
mail settings admin pt Configurações do correio electrónico
name of organisation emailadmin pt Nome da empresa
no alternate email address emailadmin pt Sem endereço de correio electrónico alternativo
no forwarding email address emailadmin pt Sem endereço de correio electrónico para reencaminhamento
order emailadmin pt Ordem
organisation emailadmin pt Empresa
pop3 server hostname or ip address emailadmin pt Nome do servidor ou endereço IP do servidor POP3
pop3 server port emailadmin pt Porto de servidor POP3
postfix with ldap emailadmin pt Postfix com LDAP
profile access rights emailadmin pt Perfil de direitos de acesso
profile list emailadmin pt Lista de perfis
profile name emailadmin pt Nome do perfil
qmaildotmode emailadmin pt Quota do correio electrónico no modo Idot
qouta size in mbyte emailadmin pt Quota em MBytes
quota settings emailadmin pt Configurações da quota
remove emailadmin pt Remover
select type of imap/pop3 server emailadmin pt Seleccionar tipo de servidor IMAP/POP3
select type of smtp server emailadmin pt Seleccionar tipo de servidor SMTP
server settings emailadmin pt Definições do servidor
sieve server hostname or ip address emailadmin pt Nome do servidor ou endereço IP do servidor Sieve
sieve server port emailadmin pt Porto do servidor Sieve
sieve settings emailadmin pt Configurações do SIeve
smtp authentication emailadmin pt Autenticação SMTP
smtp options emailadmin pt Opções do SMTP
smtp server name emailadmin pt Nome do servidor SMTP
smtp settings emailadmin pt Definições do SMTP
smtp-server hostname or ip address emailadmin pt Nome do servidor ou endereço IP do servidor SMTP
smtp-server port emailadmin pt Porto do servidor SMTP
standard emailadmin pt Por omissão
standard imap server emailadmin pt Servidor IMAP por omissão
standard pop3 server emailadmin pt Servidor POP3 por omissão
standard smtp-server emailadmin pt Servidor SMTP por omissão
use ldap defaults emailadmin pt Utilizar definições por omissão do LDAP
use smtp auth emailadmin pt Utilizar autenticação SMTP
use tls authentication emailadmin pt Utilizar autenticação TLS
use tls encryption emailadmin pt Utilizar cifra TLS
user can edit forwarding address emailadmin pt O utilizador pode editar endereços reencaminhados
username (standard) emailadmin pt Nome de utilizador (por omissão)
username@domainname (virtual mail manager) emailadmin pt utilizador@dominio (Gestor virtual de correio electrónico)
users can define their own emailaccounts emailadmin pt Os utilizadores podem definir as suas contas de correio electrónico
virtual mail manager emailadmin pt Gestor virtual de correio electrónico

View File

@ -0,0 +1,117 @@
account '%1' not found !!! emailadmin sk Úèet '%1' sa nena¹iel !!!
add new email address: emailadmin sk Prida» novú emailovú adresu:
add profile emailadmin sk Prida» profil
admin dn emailadmin sk správcov dn
admin password emailadmin sk heslo správcu
admin username emailadmin sk pou¾ívateµské meno správcu
advanced options emailadmin sk Roz¹írené mo¾nosti
alternate email address emailadmin sk alternatívna emailová adresa
any application emailadmin sk ktorákoµvek aplikácia
any group emailadmin sk ktorákoµvek skupina
bad login name or password. emailadmin sk Chybné prihlasovacie meno alebo heslo.
bad or malformed request. server responded: %s emailadmin sk Chybná alebo po¹kodená po¾iadavka. Odpoveï servera: %s
bad request: %s emailadmin sk Chybná po¾iadavka: %s
can be used by application emailadmin sk mô¾e by» pou¾ité aplikáciou
can be used by group emailadmin sk mô¾e by» pou¾ité skupinou
connection dropped by imap server. emailadmin sk Spojenie preru¹ené IMAP serverom.
could not complete request. reason given: %s emailadmin sk Nedá sa dokonèi» po¾iadavku. Dôvod: %s
could not open secure connection to the imap server. %s : %s. emailadmin sk Nepodarilo sa nadviaza» zabezpeèené pripojenie k IMAP serveru. %s : %s.
cram-md5 or digest-md5 requires the auth_sasl package to be installed. emailadmin sk CRAM-MD5 alebo DIGEST-MD5 vy¾aduje, aby bol nain¹talovaný balík Auth_SASL.
cyrus imap server emailadmin sk Cyrus IMAP Server
cyrus imap server administration emailadmin sk administrácia Cyrus IMAP Servera
default emailadmin sk ¹tandardný
deliver extern emailadmin sk doruèi» extern
do you really want to delete this profile emailadmin sk Naozaj chcete zmaza» tento Profil
domainname emailadmin sk názov domény
edit email settings emailadmin sk upravi» nastavenia emailu
email account active emailadmin sk emailový úèet aktívny
email address emailadmin sk emailová adresa
email settings common sk Nastavenia Email-u
emailadmin emailadmin sk EMailAdmin
enable cyrus imap server administration emailadmin sk zapnú» administráciu Cyrus IMAP Servera
enable sieve emailadmin sk zapnú» Sieve
encryption settings emailadmin sk nastavenia kryptovania
enter your default mail domain (from: user@domain) emailadmin sk Zadajte va¹u predvolenú doménu (z tvaru: user@domain|
error connecting to imap server. %s : %s. emailadmin sk Chyba poèas pripájania k IMAP serveru. %s : %s.
error connecting to imap server: [%s] %s. emailadmin sk Chyba poèas pripájania k IMAP serveru: [%s] %s.
forward also to emailadmin sk preposla» taktie¾ (komu)
forward email's to emailadmin sk preposla» emaily (kam)
forward only emailadmin sk preposla» iba
global options emailadmin sk Globálne nastavenia
if using ssl or tls, you must have the php openssl extension loaded. emailadmin sk Ak pou¾ívate SSL alebo TLS, musíte ma» nahraté roz¹írenie PHP openssl.
imap admin password admin sk heslo správcu IMAP
imap admin user admin sk pou¾ívateµ pre správu IMAP
imap c-client version < 2001 emailadmin sk IMAP C-klient verzia < 2001
imap server closed the connection. emailadmin sk IMAP server ukonèil spojenie.
imap server closed the connection. server responded: %s emailadmin sk IMAP server ukonèil spojenie. Odpoveï servera: %s
imap server hostname or ip address emailadmin sk názov (hostname) alebo IP adresa IMAP servera
imap server logintyp emailadmin sk typ prihlásenia IMAP servera
imap server port emailadmin sk port IMAP servera
imap/pop3 server name emailadmin sk názov IMAP/POP3 servera
in mbyte emailadmin sk v Megabajtoch
ldap basedn emailadmin sk LDAP basedn
ldap server emailadmin sk LDAP server
ldap server accounts dn emailadmin sk DN úètov LDAP servera
ldap server admin dn emailadmin sk DN správcu LDAP servera
ldap server admin password emailadmin sk heslo správcu LDAP servera
ldap server hostname or ip address emailadmin sk názov (hostname) alebo IP adresa LDAP servera
ldap settings emailadmin sk nastavenia LDAP
leave empty for no quota emailadmin sk ak nechcete kvóty, ponechajte prázdne
mail settings admin sk nastavenia Po¹ty
name of organisation emailadmin sk Názov organizácie
no alternate email address emailadmin sk ¾iadna alternatívna emailová adresa
no encryption emailadmin sk bez ¹ifrovania
no forwarding email address emailadmin sk ¾iadna emailová adresa pre preposielanie
no message returned. emailadmin sk ®iadne správy sa nevrátili.
no supported imap authentication method could be found. emailadmin sk Nena¹iel som ¾iadnu podporovanú metódu IMAP autentifikácie.
order emailadmin sk Poradie
organisation emailadmin sk organizácia
plesk can't rename users --> request ignored emailadmin sk Plesk pou¾ívatelia sa nedajú premenova» --> po¾iadavka ignorovaná
plesk imap server (courier) emailadmin sk Plesk IMAP Server (Courier)
plesk mail script '%1' not found !!! emailadmin sk Plesk mail script '%1' sa nena¹lo !!!
plesk requires passwords to have at least 5 characters and not contain the account-name --> password not set!!! emailadmin sk Plesk vy¾aduje, aby heslá mali aspoò 5 znakov a neobsahovali názov úètu --> heslo NEBOLO nastavené!!!
plesk smtp-server (qmail) emailadmin sk Plesk SMTP-Server (qmail)
pop3 server hostname or ip address emailadmin sk názov (hostname) alebo IP adresa POP3 servera
pop3 server port emailadmin sk port POP3 servera
postfix with ldap emailadmin sk Postfix + LDAP
profile access rights emailadmin sk prístupové práva profilu
profile list emailadmin sk Zoznam profilov
profile name emailadmin sk Názov profilu
qmaildotmode emailadmin sk qmail bodkový re¾im
qouta size in mbyte emailadmin sk veµkos» kvóty v Megabajtoch
quota settings emailadmin sk nastavenia kvóty
remove emailadmin sk odstráni»
select type of imap/pop3 server emailadmin sk Vyberte typ IMAP/POP3 servera
select type of smtp server emailadmin sk Vyberte typ SMTP servera
server settings emailadmin sk nastavenia servera
sieve server hostname or ip address emailadmin sk názov (hostname) alebo IP Sieve servera
sieve server port emailadmin sk port Sieve servera
sieve settings emailadmin sk nastavenia Sieve
smtp authentication emailadmin sk smtp autentifikácia
smtp options emailadmin sk smtp voµby
smtp server name emailadmin sk názov SMTP servera
smtp settings emailadmin sk smtp nastavenia
smtp-server hostname or ip address emailadmin sk názov (hostname) alebo IP adresa SMTP servera
smtp-server port emailadmin sk port SMTP servera
standard emailadmin sk ©tandard
standard imap server emailadmin sk ©tandardný IMAP server
standard pop3 server emailadmin sk ©tandardný POP3 server
standard smtp-server emailadmin sk ©tandardný SMTP server
the imap server does not appear to support the authentication method selected. please contact your system administrator. emailadmin sk Tento IMAP server, zdá sa, nepodporuje zvolenú autentifikaènú metódu. Prosím kontaktujte systémového administrátora.
this php has no imap support compiled in!! emailadmin sk Toto PHP nemá zakompilovanú podporu pre IMAP !!
to use a tls connection, you must be running a version of php 5.1.0 or higher. emailadmin sk Ak chcete pou¾íva» pripojenie TLS, musíte fungova» na verzii PHP 5.1.0 alebo vy¹¹ej.
unexpected response from server to authenticate command. emailadmin sk Neoèakávaná odpoveï od servera na príkaz AUTENTICATE.
unexpected response from server to digest-md5 response. emailadmin sk Neoèakávaná odpoveï od servera na Digest-MD5 odpoveï.
unexpected response from server to login command. emailadmin sk Neoèakávaná odpoveï od servera na príkaz LOGIN.
unknown imap response from the server. server responded: %s emailadmin sk Neznáma IMAP odpoveï od servera. Server odpovedal: %s
unsupported action '%1' !!! emailadmin sk Nepodporovaná akcia '%1' !!!
update current email address: emailadmin sk Aktualizova» súèasnú Emailovú adresu:
use ldap defaults emailadmin sk pou¾i» predvolené hodnoty LDAP
use smtp auth emailadmin sk Pou¾i» SMTP autentifikáciu
use tls authentication emailadmin sk Pou¾i» TLS autentifikáciu
use tls encryption emailadmin sk Pou¾i» TLS kryptovanie
user can edit forwarding address emailadmin sk pou¾ívateµ mô¾e upravi» adresu preposielania
username (standard) emailadmin sk pou¾ívateµské meno (¹tandardné)
username@domainname (virtual mail manager) emailadmin sk pou¾ívateµ@doména (Virtuálny Mail ManaGeR)
users can define their own emailaccounts emailadmin sk Pou¾ívatelia mô¾u definova» ich vlastné emailové úèty
virtual mail manager emailadmin sk Virtuálny MAIL ManaGeR

View File

@ -0,0 +1,117 @@
account '%1' not found !!! emailadmin sl Račun '%1' ni bil najden!
add new email address: emailadmin sl Dodaj nov e-naslov:
add profile emailadmin sl Dodaj profil
admin dn emailadmin sl Oskrbnikov dn
admin password emailadmin sl Oskrbnikovo geslo
admin username emailadmin sl Oskrbnikovo uporabniško ime
advanced options emailadmin sl Napredne izbire
alternate email address emailadmin sl Alternativen E-naslov
any application emailadmin sl Katerakoli aplikacija
any group emailadmin sl Katerakoli skupina
bad login name or password. emailadmin sl Napačno uporabniško ime ali geslo.
bad or malformed request. server responded: %s emailadmin sl Napačna ali napačno oblikovana zahteva. Odgovor strežnika: %s
bad request: %s emailadmin sl Napačna zahteva: %s
can be used by application emailadmin sl Je lahko uporabljen iz aplikacije
can be used by group emailadmin sl Je lahko uporabljen iz skupine
connection dropped by imap server. emailadmin sl Strežnik IMAP je prekinil povezavo.
could not complete request. reason given: %s emailadmin sl Ne morem dokončati zahteve. Podan vzrok: %s
could not open secure connection to the imap server. %s : %s. emailadmin sl Ne morem odpreti varne povezave s strežnikom IMAP. %s : %s.
cram-md5 or digest-md5 requires the auth_sasl package to be installed. emailadmin sl CRAM-MD5 ali DIGEST-MD5 zahteva, da je nameščen paket Auth_SASL.
cyrus imap server emailadmin sl Cyrus IMAP strežnik
cyrus imap server administration emailadmin sl Upravljanje Cyrus IMAP strežnika
default emailadmin sl Privzeto
deliver extern emailadmin sl Zunanja dostava
do you really want to delete this profile emailadmin sl Ali res želite izbrisati ta profil?
domainname emailadmin sl Ime domene
edit email settings emailadmin sl Uredi nastavitve E-pošte
email account active emailadmin sl Nabiralnik E-pošte je aktiven
email address emailadmin sl E-naslov
email settings common sl Nastavitve E-pošte
emailadmin emailadmin sl EMailAdmin
enable cyrus imap server administration emailadmin sl Omogoči upravljanje Cyrus IMAP strežnika
enable sieve emailadmin sl Omogoči Sieve
encryption settings emailadmin sl Nastavitve šifriranja
enter your default mail domain (from: user@domain) emailadmin sl Vnesite privzeto domeno (oblika: uporabnik@domena)
error connecting to imap server. %s : %s. emailadmin sl Napaka pri povezavi s strežnikom IMAP. %s: %s.
error connecting to imap server: [%s] %s. emailadmin sl Napaka pri povezavi s strežnikom IMAP: [%s] %s.
forward also to emailadmin sl Posreduj tudi
forward email's to emailadmin sl Posreduj sporočila k
forward only emailadmin sl Samo posreduj
global options emailadmin sl Globalne možnosti
if using ssl or tls, you must have the php openssl extension loaded. emailadmin sl Če uporabljate SSL ali TLS, morate imeti naloženo razširitev PHP openssl
imap admin password admin sl Geslo oskrbnika IMAPa
imap admin user admin sl Uporabniško ime oskrbnika IMAP-a
imap c-client version < 2001 emailadmin sl IMAP C-klient različica pred 2001
imap server closed the connection. emailadmin sl Strežnik IMAP je prekinil povezavo.
imap server closed the connection. server responded: %s emailadmin sl Strežnik IMAP je prekinil povezavo. Odgovor strežnika: %s
imap server hostname or ip address emailadmin sl Ime ali IP IMAP strežnika
imap server logintyp emailadmin sl Način prijave na IMAP strežnik
imap server port emailadmin sl Vrata IMAP strežnika
imap/pop3 server name emailadmin sl Ime IMAP/POP3 strežnika
in mbyte emailadmin sl v MB
ldap basedn emailadmin sl Osnovni DN LDAP
ldap server emailadmin sl LDAP strežnik
ldap server accounts dn emailadmin sl DN računov LDAP strežnika
ldap server admin dn emailadmin sl Oskrbnikov DN LDAP strežnika
ldap server admin password emailadmin sl Geslo oskrbnika LDAP strežnika
ldap server hostname or ip address emailadmin sl Ime ali IP strežnika LDAP
ldap settings emailadmin sl LDAP nastavitve
leave empty for no quota emailadmin sl Pustite prazno za neomejeno
mail settings admin sl Nastavitve E-pošte
name of organisation emailadmin sl Ime organizacije
no alternate email address emailadmin sl Ni alternativnega E-naslova
no encryption emailadmin sl Brez šifriranja
no forwarding email address emailadmin sl Ni E-naslova za posredovanje
no message returned. emailadmin sl Ni vrnjenega sporočila.
no supported imap authentication method could be found. emailadmin sl Ni najdena metoda avtentikacije IMAP.
order emailadmin sl Vrstni red
organisation emailadmin sl Organizacija
plesk can't rename users --> request ignored emailadmin sl Plesk ne more preimenovati uporabnikov --> zahteva preslišana
plesk imap server (courier) emailadmin sl Strežnik Plesk IMAP (Courier)
plesk mail script '%1' not found !!! emailadmin sl Poštni skript Plesk '%1' ni bil najden!
plesk requires passwords to have at least 5 characters and not contain the account-name --> password not set!!! emailadmin sl Plesk zahteva geslo, dolga najmanj 5 znakov in ne sme vsebovati imena računa --> geslo ni bilo nastavljeno!
plesk smtp-server (qmail) emailadmin sl Strežnik Plesk IMAP (Qmail)
pop3 server hostname or ip address emailadmin sl Ime ali IP POP3 strežnika
pop3 server port emailadmin sl Vrata POP3 strežnika
postfix with ldap emailadmin sl Končnica pri LDAP
profile access rights emailadmin sl Pravice dostopa do profila
profile list emailadmin sl Seznam profilov
profile name emailadmin sl Ime profila
qmaildotmode emailadmin sl Način za qmaildot
qouta size in mbyte emailadmin sl Kvota v MB
quota settings emailadmin sl Nastavitvev kvote
remove emailadmin sl Odstrani
select type of imap/pop3 server emailadmin sl Izberite tip IMAP/POP3 strežnika
select type of smtp server emailadmin sl Izberite tip SMTP strežnika
server settings emailadmin sl Nastavitve strežnika
sieve server hostname or ip address emailadmin sl IP ali naslov strežnika za sito (Sieve)
sieve server port emailadmin sl Vrata strežnika za sito (Sieve)
sieve settings emailadmin sl Nastavitve sita (Sieve)
smtp authentication emailadmin sl SMTP avtentikacija
smtp options emailadmin sl SMTP možnosti
smtp server name emailadmin sl ime SMTP strežnika
smtp settings emailadmin sl SMTP nastavitve
smtp-server hostname or ip address emailadmin sl Ime ali IP SMTP strežnika
smtp-server port emailadmin sl Vrata SMTP strežnika
standard emailadmin sl Standarden
standard imap server emailadmin sl Standardni IMAP strežnik
standard pop3 server emailadmin sl Standardni POP3 strežnik
standard smtp-server emailadmin sl Standardni SMTP strežnik
the imap server does not appear to support the authentication method selected. please contact your system administrator. emailadmin sl Strežnik IMAP ne podpira izbrane metode avtentikacije. Kontaktirajte sistemskega upravitelja.
this php has no imap support compiled in!! emailadmin sl Ta PHP ne vsebuje podpore za IMAP!
to use a tls connection, you must be running a version of php 5.1.0 or higher. emailadmin sl Če želite uporabljati povezavo TLS, morate imeti nameščeno različico PHP 5.1.0 ali višjo.
unexpected response from server to authenticate command. emailadmin sl Nepričakovan odgovor strežnika na ukaz AUTHENTICATE.
unexpected response from server to digest-md5 response. emailadmin sl Nepričakovan odgovor strežnika na odgovor Digest-MD5.
unexpected response from server to login command. emailadmin sl Nepričakovan odgovor strežnika na ukaz LOGIN.
unknown imap response from the server. server responded: %s emailadmin sl Neznan odgovor IMAP s strai strežnika. Odgovor strežnika: %s
unsupported action '%1' !!! emailadmin sl Nepodprto dejanje '%1'!
update current email address: emailadmin sl Posodobi trenutni e-naslov:
use ldap defaults emailadmin sl Uporabi privzeto za LDAP
use smtp auth emailadmin sl Uporabi SMTP avtentikacijo
use tls authentication emailadmin sl Uporabi TLS avtentikacijo
use tls encryption emailadmin sl Uporabi TLS enkripcijo
user can edit forwarding address emailadmin sl Uporabnik lahko določa posredovalni naslov
username (standard) emailadmin sl Uporabnik (standardno)
username@domainname (virtual mail manager) emailadmin sl uporabnik@domena (Virtual MAIL ManaGeR)
users can define their own emailaccounts emailadmin sl Uporabniki lahko določajo lastne E-poštne predale
virtual mail manager emailadmin sl Virtualni upravljalec E-pošte

View File

@ -0,0 +1,68 @@
add profile emailadmin sv Skapa profil
admin dn emailadmin sv Admin dn
admin password emailadmin sv Admin lösenord
admin username emailadmin sv Admin användare
advanced options emailadmin sv Avanserade alternativ
alternate email address emailadmin sv Alternerande e-post adress
cyrus imap server emailadmin sv Cyrus IMAP Server
cyrus imap server administration emailadmin sv Cyrus IMAP server administration
default emailadmin sv Standard
deliver extern emailadmin sv Leverera extern
do you really want to delete this profile emailadmin sv Vill du verkligen radera profilen?
domainname emailadmin sv Domän namn
edit email settings emailadmin sv Redigera e-post alternativ
email account active emailadmin sv Aktivt e-post konto
email address emailadmin sv E-post adress
enable cyrus imap server administration emailadmin sv Aktivera Cyrus IMAP server administration
enable sieve emailadmin sv Aktivera Sieve
enter your default mail domain (from: user@domain) emailadmin sv Standard e-post domän (från: user@domain)
forward also to emailadmin sv Vidarebefodra även till
forward email's to emailadmin sv Vidarebefodra e-post till
forward only emailadmin sv Vidarebefodra endast
imap admin password admin sv IMAP admin lösenord
imap admin user admin sv IMAP admin användare
imap c-client version < 2001 emailadmin sv IMAP C-Client version < 2001
imap server hostname or ip address emailadmin sv IMAP server hostnamn eller IP adress
imap server logintyp emailadmin sv IMAP server inloggnings typ
imap server port emailadmin sv IMAP server port
imap/pop3 server name emailadmin sv IMAP/POP3 server namn
in mbyte emailadmin sv i MByte
ldap basedn emailadmin sv LDAP basedn
ldap server emailadmin sv LDAP server
ldap server accounts dn emailadmin sv LDAP server konton DN
ldap server admin dn emailadmin sv LDAP server admin DN
ldap server admin password emailadmin sv LDAP server admin lösenord
ldap server hostname or ip address emailadmin sv LDAP server hostnamn eller IP adress
ldap settings emailadmin sv LDAP alternativ
leave empty for no quota emailadmin sv Lämna tomt för ingen kvot
mail settings admin sv E-post alternativ
name of organisation emailadmin sv Organisations namn
no alternate email address emailadmin sv Ingen alternerande e-post adress
no forwarding email address emailadmin sv Ingen e-post vidarebefodrings adress
pop3 server hostname or ip address emailadmin sv POP3 server hostnamn eller IP adress
pop3 server port emailadmin sv POP3 server port
postfix with ldap emailadmin sv Postfix med LDAP
profile list emailadmin sv Profil lista
profile name emailadmin sv Profil namn
qmaildotmode emailadmin sv qmaildotmode
qouta size in mbyte emailadmin sv Kvot storlek i Mb
quota settings emailadmin sv Kvot alternativ
remove emailadmin sv Radera
select type of imap/pop3 server emailadmin sv Välj typ av IMAP/POP3 server
select type of smtp server emailadmin sv Välj typ av SMTP Server
sieve server hostname or ip address emailadmin sv Sieve server hostnamn eller IP adress
sieve server port emailadmin sv Sieve server port
sieve settings emailadmin sv Sieve alternativ
smtp server name emailadmin sv SMTP server namn
smtp-server hostname or ip address emailadmin sv SMTP server hostnamn eller IP adress
smtp-server port emailadmin sv SMTP server port
standard emailadmin sv Standard
standard imap server emailadmin sv Standard IMAP server
standard pop3 server emailadmin sv Standard POP3 server
standard smtp-server emailadmin sv Standard SMTP server
use ldap defaults emailadmin sv använd LDAP standarder
use smtp auth emailadmin sv Använd SMTP autentisering
use tls authentication emailadmin sv Använd TLS autentisering
use tls encryption emailadmin sv Använd TLS kryptering
users can define their own emailaccounts emailadmin sv Användare kan definiera egna epost konton?
virtual mail manager emailadmin sv Virtuell E-post administration

View File

@ -0,0 +1,117 @@
account '%1' not found !!! emailadmin zh-tw 找不到帳號 '%1'
add new email address: emailadmin zh-tw 新增信箱:
add profile emailadmin zh-tw 新增資料
admin dn emailadmin zh-tw 管理 dn
admin password emailadmin zh-tw 管理密碼
admin username emailadmin zh-tw 管理帳號
advanced options emailadmin zh-tw 進階選項
alternate email address emailadmin zh-tw 替代郵件位址
any application emailadmin zh-tw 任何模組
any group emailadmin zh-tw 任何群組
bad login name or password. emailadmin zh-tw 帳號或密碼有誤。
bad or malformed request. server responded: %s emailadmin zh-tw 錯誤的請求,伺服器回應: %s
bad request: %s emailadmin zh-tw 錯誤的請求: %s
can be used by application emailadmin zh-tw 可以取用資料的模組
can be used by group emailadmin zh-tw 可以取用資料的群組
connection dropped by imap server. emailadmin zh-tw 連線被 IMAP 伺服器中斷了
could not complete request. reason given: %s emailadmin zh-tw 無法完成請求,理由: %s
could not open secure connection to the imap server. %s : %s. emailadmin zh-tw 無法開啟安全連線到 IMAP 伺服器。%s : %s.
cram-md5 or digest-md5 requires the auth_sasl package to be installed. emailadmin zh-tw CRAM-MD5 或 DIGEST-MD5 需要先安裝 Auth_SASL 才能使用。
cyrus imap server emailadmin zh-tw Cyrus IMAP伺服器
cyrus imap server administration emailadmin zh-tw Cyrus IMAP伺服器管理
default emailadmin zh-tw 預設
deliver extern emailadmin zh-tw 傳送到外部
do you really want to delete this profile emailadmin zh-tw 您確定要刪除這個資料
domainname emailadmin zh-tw 網域名稱
edit email settings emailadmin zh-tw 編輯郵件設定
email account active emailadmin zh-tw 郵件帳號啟用
email address emailadmin zh-tw 郵件位址
email settings common zh-tw 郵件設定
emailadmin emailadmin zh-tw 郵件管理
enable cyrus imap server administration emailadmin zh-tw 啟用Cyrus IMAP伺服器管理
enable sieve emailadmin zh-tw 啟用Sieve
encryption settings emailadmin zh-tw 加密設定
enter your default mail domain (from: user@domain) emailadmin zh-tw 輸入您的預設郵件網域(小老鼠後面所有字:帳號@網域)
error connecting to imap server. %s : %s. emailadmin zh-tw 連線到 IMAP 伺服器時發生錯誤。 %s : %s
error connecting to imap server: [%s] %s. emailadmin zh-tw 連線到 IMAP 伺服器時發生錯誤。 [%s] %s
forward also to emailadmin zh-tw 同時轉寄到
forward email's to emailadmin zh-tw 轉寄信件到
forward only emailadmin zh-tw 轉寄
global options emailadmin zh-tw 全域選項
if using ssl or tls, you must have the php openssl extension loaded. emailadmin zh-tw 如果使用 SSL 或 TLS您必須先載入 PHP openssl 外掛。
imap admin password admin zh-tw IMAP管理者密碼
imap admin user admin zh-tw IMAP管理者帳號
imap c-client version < 2001 emailadmin zh-tw IMAP C-終端的版本小於2001
imap server closed the connection. emailadmin zh-tw IMAP伺服器關閉連線
imap server closed the connection. server responded: %s emailadmin zh-tw IMAP伺服器關閉連線伺服器回應 %s
imap server hostname or ip address emailadmin zh-tw IMAP伺服器的主機名稱或是IP位址
imap server logintyp emailadmin zh-tw IMAP伺服器登入類型
imap server port emailadmin zh-tw IMAP伺服器連接埠
imap/pop3 server name emailadmin zh-tw IMAP/POP3伺服器名稱
in mbyte emailadmin zh-tw 以MB顯示
ldap basedn emailadmin zh-tw LDAP basedn
ldap server emailadmin zh-tw LDAP 伺服器
ldap server accounts dn emailadmin zh-tw LDAP 伺服器帳號 DN
ldap server admin dn emailadmin zh-tw LDAP 伺服器管理者 DN
ldap server admin password emailadmin zh-tw LDAP 伺服器管理者密碼
ldap server hostname or ip address emailadmin zh-tw LDAP 伺服器主機名稱或是IP位址
ldap settings emailadmin zh-tw LDAP 設定
leave empty for no quota emailadmin zh-tw 不填入任何資料表示無限制
mail settings admin zh-tw 郵件設定
name of organisation emailadmin zh-tw 組織名稱
no alternate email address emailadmin zh-tw 沒有可替換的郵件位址
no encryption emailadmin zh-tw 沒有加密
no forwarding email address emailadmin zh-tw 沒有轉寄郵件位址
no message returned. emailadmin zh-tw 沒有訊息回應。
no supported imap authentication method could be found. emailadmin zh-tw 找不到可以支援的 IMAP 認證方式。
order emailadmin zh-tw 順序
organisation emailadmin zh-tw 組織
plesk can't rename users --> request ignored emailadmin zh-tw Plesk 無法修改使用者名稱 --> 忽略
plesk imap server (courier) emailadmin zh-tw Plesk IMAP 伺服器(Courier)
plesk mail script '%1' not found !!! emailadmin zh-tw 找不到 Plesk 郵件指令 '%1'
plesk requires passwords to have at least 5 characters and not contain the account-name --> password not set!!! emailadmin zh-tw Plesk 要求密碼至少必須有 5 個字元而且不能包含帳號名稱 --> 密碼沒有設定!
plesk smtp-server (qmail) emailadmin zh-tw Plesk SMTP伺服器 (Qmail)
pop3 server hostname or ip address emailadmin zh-tw POP3伺服器主機名稱或是IP位址
pop3 server port emailadmin zh-tw POP3伺服器連接埠
postfix with ldap emailadmin zh-tw 使用LDAP與 Postfix
profile access rights emailadmin zh-tw 存取資料權限
profile list emailadmin zh-tw 資料清單
profile name emailadmin zh-tw 資料名稱
qmaildotmode emailadmin zh-tw qmaildotmode
qouta size in mbyte emailadmin zh-tw 配額(MB)
quota settings emailadmin zh-tw 配額設定
remove emailadmin zh-tw 移除
select type of imap/pop3 server emailadmin zh-tw 選擇IMAP/POP3伺服器的格式
select type of smtp server emailadmin zh-tw 選擇SMTP伺服器的格式
server settings emailadmin zh-tw 伺服器設定
sieve server hostname or ip address emailadmin zh-tw Sieve伺服器主機名稱或是IP位址
sieve server port emailadmin zh-tw Sieve伺服器連接埠
sieve settings emailadmin zh-tw Sieve設定
smtp authentication emailadmin zh-tw SMTP 認證
smtp options emailadmin zh-tw SMTP 選項
smtp server name emailadmin zh-tw SMTP伺服器名稱
smtp settings emailadmin zh-tw SMTP 設定
smtp-server hostname or ip address emailadmin zh-tw SMTP伺服器主機名稱或是IP位址
smtp-server port emailadmin zh-tw SMTP伺服器連接埠
standard emailadmin zh-tw 標準
standard imap server emailadmin zh-tw 標準IMAP伺服器
standard pop3 server emailadmin zh-tw 標準POP3伺服器
standard smtp-server emailadmin zh-tw 標準SMTP伺服器
the imap server does not appear to support the authentication method selected. please contact your system administrator. emailadmin zh-tw IMAP 伺服器不支援指定的認證方式,請聯絡您的系統管理員。
this php has no imap support compiled in!! emailadmin zh-tw 您的PHP並未編譯為支援IMAP的狀態
to use a tls connection, you must be running a version of php 5.1.0 or higher. emailadmin zh-tw 要使用 TLS 連線,您必須執行在 PHP 5.1.0 或是更新版本。
unexpected response from server to authenticate command. emailadmin zh-tw AUTHENTICATE 指令讓伺服器傳回不如預期的回應。
unexpected response from server to digest-md5 response. emailadmin zh-tw 伺服器傳回不如預期的 Digest-MD5 回應。
unexpected response from server to login command. emailadmin zh-tw 伺服器傳回不如預期的 LOGIN 指令。
unknown imap response from the server. server responded: %s emailadmin zh-tw 不知名的 IMAP 伺服器回應,回應內容: %s
unsupported action '%1' !!! emailadmin zh-tw 不支援 '%1' 這個操作!
update current email address: emailadmin zh-tw 更新目前信箱:
use ldap defaults emailadmin zh-tw 使用LDAP預設值
use smtp auth emailadmin zh-tw 使用SMTP認證
use tls authentication emailadmin zh-tw 使用TLS認證
use tls encryption emailadmin zh-tw 使用TLS加密
user can edit forwarding address emailadmin zh-tw 使用者可以編輯自動轉寄信箱
username (standard) emailadmin zh-tw 帳號(標準)
username@domainname (virtual mail manager) emailadmin zh-tw 帳號@網域(虛擬郵件管理)
users can define their own emailaccounts emailadmin zh-tw 使用者可以自行定義郵件帳號
virtual mail manager emailadmin zh-tw 虛擬郵件管理者

View File

@ -0,0 +1,68 @@
add profile emailadmin zt 新增基本資料
admin dn emailadmin zt 管理 dn
admin password emailadmin zt 管理密碼
admin username emailadmin zt 管理帳號
advanced options emailadmin zt 進階選項
alternate email address emailadmin zt 替代郵件位址
cyrus imap server emailadmin zt Cyrus IMAP伺服器
cyrus imap server administration emailadmin zt Cyrus IMAP伺服器管理
default emailadmin zt 預設
deliver extern emailadmin zt 傳送到外部
do you really want to delete this profile emailadmin zt 您確定要刪除這個資料
domainname emailadmin zt 網域名稱
edit email settings emailadmin zt 編輯郵件設定
email account active emailadmin zt 郵件帳號啟用
email address emailadmin zt 郵件位址
enable cyrus imap server administration emailadmin zt 啟用Cyrus IMAP伺服器管理
enable sieve emailadmin zt 啟用Sieve
enter your default mail domain (from: user@domain) emailadmin zt 輸入您的預設郵件網域(小老鼠後面所有字:帳號@網域)
forward also to emailadmin zt 同時轉寄到
forward email's to emailadmin zt 轉寄信件到
forward only emailadmin zt 轉寄
imap admin password admin zt IMAP管理者密碼
imap admin user admin zt IMAP管理者帳號
imap c-client version < 2001 emailadmin zt IMAP C-終端的版本小於2001
imap server hostname or ip address emailadmin zt IMAP伺服器的主機名稱或是IP位址
imap server logintyp emailadmin zt IMAP伺服器登入類型
imap server port emailadmin zt IMAP伺服器連接埠
imap/pop3 server name emailadmin zt IMAP/POP3伺服器名稱
in mbyte emailadmin zt 以MB顯示
ldap basedn emailadmin zt LDAP basedn
ldap server emailadmin zt LDAP 伺服器
ldap server accounts dn emailadmin zt LDAP 伺服器帳號 DN
ldap server admin dn emailadmin zt LDAP 伺服器管理者 DN
ldap server admin password emailadmin zt LDAP 伺服器管理者密碼
ldap server hostname or ip address emailadmin zt LDAP 伺服器主機名稱或是IP位址
ldap settings emailadmin zt LDAP 設定
leave empty for no quota emailadmin zt 不填入任何資料表示無限制
mail settings admin zt 郵件設定
name of organisation emailadmin zt 組織名稱
no alternate email address emailadmin zt 沒有可替換的郵件位址
no forwarding email address emailadmin zt 沒有轉寄郵件位址
pop3 server hostname or ip address emailadmin zt POP3伺服器主機名稱或是IP位址
pop3 server port emailadmin zt POP3伺服器連接埠
postfix with ldap emailadmin zt 使用LDAP與 Postfix
profile list emailadmin zt 資料清單
profile name emailadmin zt 資料名稱
qmaildotmode emailadmin zt qmaildotmode
qouta size in mbyte emailadmin zt 配額(MB)
quota settings emailadmin zt 配額設定
remove emailadmin zt 移除
select type of imap/pop3 server emailadmin zt 選擇IMAP/POP3伺服器的格式
select type of smtp server emailadmin zt 選擇SMTP伺服器的格式
sieve server hostname or ip address emailadmin zt Sieve伺服器主機名稱或是IP位址
sieve server port emailadmin zt Sieve伺服器連接埠
sieve settings emailadmin zt Sieve設定
smtp server name emailadmin zt SMTP伺服器名稱
smtp-server hostname or ip address emailadmin zt SMTP伺服器主機名稱或是IP位址
smtp-server port emailadmin zt SMTP伺服器連接埠
standard emailadmin zt 標準
standard imap server emailadmin zt 標準IMAP伺服器
standard pop3 server emailadmin zt 標準POP3伺服器
standard smtp-server emailadmin zt 標準SMTP伺服器
use ldap defaults emailadmin zt 使用LDAP預設值
use smtp auth emailadmin zt 使用SMTP認證
use tls authentication emailadmin zt 使用TLS認證
use tls encryption emailadmin zt 使用TLS加密
users can define their own emailaccounts emailadmin zt 使用者可以自行定義郵件帳號
virtual mail manager emailadmin zt 虛擬郵件管理者

View File

@ -0,0 +1,67 @@
<?php
/**************************************************************************\
* EGroupWare - EMailAdmin *
* http://www.egroupware.org *
* http://www.phpgw.de *
* Author: lkneschke@egroupware.org *
* -------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\**************************************************************************/
/* $Id$ */
$setup_info['emailadmin']['name'] = 'emailadmin';
$setup_info['emailadmin']['title'] = 'EMailAdmin';
$setup_info['emailadmin']['version'] = '1.2.002';
$setup_info['emailadmin']['app_order'] = 10;
$setup_info['emailadmin']['enable'] = 2;
$setup_info['emailadmin']['author'] = 'Lars Kneschke';
$setup_info['emailadmin']['license'] = 'GPL';
$setup_info['emailadmin']['description'] =
'A central Mailserver management application for EGroupWare.';
$setup_info['emailadmin']['note'] =
'';
$setup_info['emailadmin']['maintainer'] = array(
'name' => 'Lars Kneschke',
'email' => 'lkneschke@linux-at-work.de'
);
$setup_info['emailadmin']['tables'][] = 'egw_emailadmin';
/* The hooks this app includes, needed for hooks registration */
#$setup_info['emailadmin']['hooks'][] = 'preferences';
$setup_info['emailadmin']['hooks'][] = 'admin';
/* Dependencies for this app to work */
$setup_info['emailadmin']['depends'][] = array(
'appname' => 'phpgwapi',
'versions' => Array('1.0.0','1.0.1','1.2','1.3','1.4')
);
$setup_info['felamimail']['depends'][] = array(
'appname' => 'egw-pear',
'versions' => Array('1.4.000')
);
// installation checks for felamimail
$setup_info['emailadmin']['check_install'] = array(
'' => array(
'func' => 'pear_check',
'from' => 'EMailAdmin',
),
'Auth_SASL' => array(
'func' => 'pear_check',
'from' => 'EMailAdmin',
),
'Net_IMAP' => array(
'func' => 'pear_check',
'from' => 'FeLaMiMail',
),
'imap' => array(
'func' => 'extension_check',
'from' => 'EMailAdmin',
),
);

View File

@ -0,0 +1,59 @@
<?php
/**************************************************************************\
* EGroupWare *
* http://www.egroupware.org *
* http://www.phpgw.de *
* Author: lkneschke@phpgw.de *
* -------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\**************************************************************************/
/* $Id$ */
$phpgw_baseline = array(
'egw_emailadmin' => array(
'fd' => array(
'ea_profile_id' => array('type' => 'auto','nullable' => False),
'ea_smtp_server' => array('type' => 'varchar','precision' => '80'),
'ea_smtp_type' => array('type' => 'int','precision' => '4'),
'ea_smtp_port' => array('type' => 'int','precision' => '4'),
'ea_smtp_auth' => array('type' => 'varchar','precision' => '3'),
'ea_editforwardingaddress' => array('type' => 'varchar','precision' => '3'),
'ea_smtp_ldap_server' => array('type' => 'varchar','precision' => '80'),
'ea_smtp_ldap_basedn' => array('type' => 'varchar','precision' => '200'),
'ea_smtp_ldap_admindn' => array('type' => 'varchar','precision' => '200'),
'ea_smtp_ldap_adminpw' => array('type' => 'varchar','precision' => '30'),
'ea_smtp_ldap_use_default' => array('type' => 'varchar','precision' => '3'),
'ea_imap_server' => array('type' => 'varchar','precision' => '80'),
'ea_imap_type' => array('type' => 'int','precision' => '4'),
'ea_imap_port' => array('type' => 'int','precision' => '4'),
'ea_imap_login_type' => array('type' => 'varchar','precision' => '20'),
'ea_imap_tsl_auth' => array('type' => 'varchar','precision' => '3'),
'ea_imap_tsl_encryption' => array('type' => 'varchar','precision' => '3'),
'ea_imap_enable_cyrus' => array('type' => 'varchar','precision' => '3'),
'ea_imap_admin_user' => array('type' => 'varchar','precision' => '40'),
'ea_imap_admin_pw' => array('type' => 'varchar','precision' => '40'),
'ea_imap_enable_sieve' => array('type' => 'varchar','precision' => '3'),
'ea_imap_sieve_server' => array('type' => 'varchar','precision' => '80'),
'ea_imap_sieve_port' => array('type' => 'int','precision' => '4'),
'ea_description' => array('type' => 'varchar','precision' => '200'),
'ea_default_domain' => array('type' => 'varchar','precision' => '100'),
'ea_organisation_name' => array('type' => 'varchar','precision' => '100'),
'ea_user_defined_accounts' => array('type' => 'varchar','precision' => '3'),
'ea_imapoldcclient' => array('type' => 'varchar','precision' => '3'),
'ea_order' => array('type' => 'int','precision' => '4'),
'ea_appname' => array('type' => 'varchar','precision' => '80'),
'ea_group' => array('type' => 'varchar','precision' => '80'),
'ea_smtp_auth_username' => array('type' => 'varchar','precision' => '80'),
'ea_smtp_auth_password' => array('type' => 'varchar','precision' => '80')
),
'pk' => array('ea_profile_id'),
'fk' => array(),
'ix' => array('ea_appname','ea_group'),
'uc' => array()
)
);
?>

View File

@ -0,0 +1,198 @@
<?php
/**************************************************************************\
* EGroupWare - EMailadmin *
* http://www.egroupware.org *
* http://www.phpgw.de *
* Author: lkneschke@phpgw.de *
* -------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\**************************************************************************/
/* $Id$ */
$test[] = '0.0.3';
function emailadmin_upgrade0_0_3()
{
$GLOBALS['egw_setup']->oProc->AddColumn('phpgw_emailadmin','smtpType', array('type' => 'int', 'precision' => 4));
return $setup_info['emailadmin']['currentver'] = '0.0.4';
}
$test[] = '0.0.4';
function emailadmin_upgrade0_0_4()
{
$GLOBALS['egw_setup']->oProc->AddColumn('phpgw_emailadmin','defaultDomain', array('type' => 'varchar', 'precision' => 100));
return $setup_info['emailadmin']['currentver'] = '0.0.5';
}
$test[] = '0.0.5';
function emailadmin_upgrade0_0_5()
{
$GLOBALS['egw_setup']->oProc->AddColumn('phpgw_emailadmin','organisationName', array('type' => 'varchar', 'precision' => 100));
$GLOBALS['egw_setup']->oProc->AddColumn('phpgw_emailadmin','userDefinedAccounts', array('type' => 'varchar', 'precision' => 3));
return $setup_info['emailadmin']['currentver'] = '0.0.6';
}
$test[] = '0.0.6';
function emailadmin_upgrade0_0_6()
{
$GLOBALS['egw_setup']->oProc->AddColumn('phpgw_emailadmin','oldimapcclient',array(
'type' => 'varchar',
'precision' => '3'
));
return $GLOBALS['setup_info']['emailadmin']['currentver'] = '0.0.007';
}
$test[] = '0.0.007';
function emailadmin_upgrade0_0_007()
{
$GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_emailadmin','oldimapcclient','imapoldcclient');
return $GLOBALS['setup_info']['emailadmin']['currentver'] = '0.0.008';
}
$test[] = '0.0.008';
function emailadmin_upgrade0_0_008()
{
return $GLOBALS['setup_info']['emailadmin']['currentver'] = '1.0.0';
}
$test[] = '1.0.0';
function emailadmin_upgrade1_0_0()
{
$GLOBALS['egw_setup']->oProc->AddColumn('phpgw_emailadmin','editforwardingaddress',array(
'type' => 'varchar',
'precision' => '3'
));
return $GLOBALS['setup_info']['emailadmin']['currentver'] = '1.0.1';
}
$test[] = '1.0.1';
function emailadmin_upgrade1_0_1()
{
$GLOBALS['egw_setup']->oProc->AddColumn('phpgw_emailadmin','ea_order', array('type' => 'int', 'precision' => 4));
return $GLOBALS['setup_info']['emailadmin']['currentver'] = '1.0.2';
}
$test[] = '1.0.2';
function emailadmin_upgrade1_0_2()
{
$GLOBALS['egw_setup']->oProc->AddColumn('phpgw_emailadmin','ea_appname', array('type' => 'varchar','precision' => '80'));
$GLOBALS['egw_setup']->oProc->AddColumn('phpgw_emailadmin','ea_group', array('type' => 'varchar','precision' => '80'));
return $GLOBALS['setup_info']['emailadmin']['currentver'] = '1.0.3';
}
$test[] = '1.0.3';
function emailadmin_upgrade1_0_3()
{
$GLOBALS['egw_setup']->oProc->RenameTable('phpgw_emailadmin','egw_emailadmin');
return $GLOBALS['setup_info']['emailadmin']['currentver'] = '1.2';
}
$test[] = '1.2';
function emailadmin_upgrade1_2()
{
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','profileID','ea_profile_id');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','smtpServer','ea_smtp_server');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','smtpType','ea_smtp_type');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','smtpPort','ea_smtp_port');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','smtpAuth','ea_smtp_auth');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','editforwardingaddress','ea_editforwardingaddress');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','smtpLDAPServer','ea_smtp_ldap_server');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','smtpLDAPBaseDN','ea_smtp_ldap_basedn');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','smtpLDAPAdminDN','ea_smtp_ldap_admindn');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','smtpLDAPAdminPW','ea_smtp_ldap_adminpw');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','smtpLDAPUseDefault','ea_smtp_ldap_use_default');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','imapServer','ea_imap_server');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','imapType','ea_imap_type');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','imapPort','ea_imap_port');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','imapLoginType','ea_imap_login_type');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','imapTLSAuthentication','ea_imap_tsl_auth');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','imapTLSEncryption','ea_imap_tsl_encryption');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','imapEnableCyrusAdmin','ea_imap_enable_cyrus');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','imapAdminUsername','ea_imap_admin_user');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','imapAdminPW','ea_imap_admin_pw');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','imapEnableSieve','ea_imap_enable_sieve');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','imapSieveServer','ea_imap_sieve_server');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','imapSievePort','ea_imap_sieve_port');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','description','ea_description');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','defaultDomain','ea_default_domain');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','organisationName','ea_organisation_name');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','userDefinedAccounts','ea_user_defined_accounts');
$GLOBALS['egw_setup']->oProc->RenameColumn('egw_emailadmin','imapoldcclient','ea_imapoldcclient');
return $GLOBALS['setup_info']['emailadmin']['currentver'] = '1.2.001';
}
$test[] = '1.2.001';
function emailadmin_upgrade1_2_001()
{
/* done by RefreshTable() anyway
$GLOBALS['egw_setup']->oProc->AddColumn('egw_emailadmin','ea_smtp_auth_username',array(
'type' => 'varchar',
'precision' => '80'
));*/
/* done by RefreshTable() anyway
$GLOBALS['egw_setup']->oProc->AddColumn('egw_emailadmin','ea_smtp_auth_password',array(
'type' => 'varchar',
'precision' => '80'
));*/
$GLOBALS['egw_setup']->oProc->RefreshTable('egw_emailadmin',array(
'fd' => array(
'ea_profile_id' => array('type' => 'auto','nullable' => False),
'ea_smtp_server' => array('type' => 'varchar','precision' => '80'),
'ea_smtp_type' => array('type' => 'int','precision' => '4'),
'ea_smtp_port' => array('type' => 'int','precision' => '4'),
'ea_smtp_auth' => array('type' => 'varchar','precision' => '3'),
'ea_editforwardingaddress' => array('type' => 'varchar','precision' => '3'),
'ea_smtp_ldap_server' => array('type' => 'varchar','precision' => '80'),
'ea_smtp_ldap_basedn' => array('type' => 'varchar','precision' => '200'),
'ea_smtp_ldap_admindn' => array('type' => 'varchar','precision' => '200'),
'ea_smtp_ldap_adminpw' => array('type' => 'varchar','precision' => '30'),
'ea_smtp_ldap_use_default' => array('type' => 'varchar','precision' => '3'),
'ea_imap_server' => array('type' => 'varchar','precision' => '80'),
'ea_imap_type' => array('type' => 'int','precision' => '4'),
'ea_imap_port' => array('type' => 'int','precision' => '4'),
'ea_imap_login_type' => array('type' => 'varchar','precision' => '20'),
'ea_imap_tsl_auth' => array('type' => 'varchar','precision' => '3'),
'ea_imap_tsl_encryption' => array('type' => 'varchar','precision' => '3'),
'ea_imap_enable_cyrus' => array('type' => 'varchar','precision' => '3'),
'ea_imap_admin_user' => array('type' => 'varchar','precision' => '40'),
'ea_imap_admin_pw' => array('type' => 'varchar','precision' => '40'),
'ea_imap_enable_sieve' => array('type' => 'varchar','precision' => '3'),
'ea_imap_sieve_server' => array('type' => 'varchar','precision' => '80'),
'ea_imap_sieve_port' => array('type' => 'int','precision' => '4'),
'ea_description' => array('type' => 'varchar','precision' => '200'),
'ea_default_domain' => array('type' => 'varchar','precision' => '100'),
'ea_organisation_name' => array('type' => 'varchar','precision' => '100'),
'ea_user_defined_accounts' => array('type' => 'varchar','precision' => '3'),
'ea_imapoldcclient' => array('type' => 'varchar','precision' => '3'),
'ea_order' => array('type' => 'int','precision' => '4'),
'ea_appname' => array('type' => 'varchar','precision' => '80'),
'ea_group' => array('type' => 'varchar','precision' => '80'),
'ea_smtp_auth_username' => array('type' => 'varchar','precision' => '80'),
'ea_smtp_auth_password' => array('type' => 'varchar','precision' => '80')
),
'pk' => array('ea_profile_id'),
'fk' => array(),
'ix' => array('ea_appname','ea_group'),
'uc' => array()
));
return $GLOBALS['setup_info']['emailadmin']['currentver'] = '1.2.002';
}
?>

View File

@ -0,0 +1,42 @@
<!-- BEGIN header -->
<form method="POST" action="{action_url}">
<table border="0" align="center">
<tr bgcolor="{th_bg}">
<td colspan="2"><font color="{th_text}">&nbsp;<b>{title}</b></font></td>
</tr>
<!-- END header -->
<!-- BEGIN body -->
<tr bgcolor="{row_on}">
<td colspan="2">&nbsp;</td>
</tr>
<tr bgcolor="{row_off}">
<td colspan="2">&nbsp;<b>{lang_Mail_settings}</b></td>
</tr>
<tr bgcolor="{row_on}">
<td>{lang_IMAP_admin_user}:</td>
<td><input name="newsettings[imapAdminUser]" value="{value_imapAdminUser}"></td>
</tr>
<tr bgcolor="{row_off}">
<td>{lang_IMAP_admin_password}:</td>
<td><input name="newsettings[imapAdminPassword]" value="{value_imapAdminPassword}"></td>
</tr>
<!-- END body -->
<!-- BEGIN footer -->
<tr bgcolor="{th_bg}">
<td colspan="2">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="submit" value="{lang_submit}">
<input type="submit" name="cancel" value="{lang_cancel}">
</td>
</tr>
</table>
</form>
<!-- END footer -->

View File

@ -0,0 +1,64 @@
<!-- BEGIN main -->
<center>
<table border="0" cellspacing="1" cellpading="0" width="95%">
<tr>
<td width="10%" valign="top">
<table border="0" cellspacing="1" cellpading="0" width="100%">
{menu_rows}
<tr>
<td>
&nbsp;
</td>
</tr>
{activation_rows}
<tr bgcolor="{done_row_color}">
<td>
<a href="{done_link}">{lang_done}</a>
</td>
</tr>
</table>
</td>
<td width="90%" valign="top">
<form action="{form_action}" method="post">
<table width="100%" cellspacing="1" cellpading="0" border="0">
<tr>
<td>
Data
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</center>
<!-- END main -->
<!-- BEGIN menu_row -->
<tr bgcolor="{menu_row_color}">
<td>
<nobr><a href="{menu_link}">{menu_description}</a><nobr>
</td>
</tr>
<!-- END menu_row -->
<!-- BEGIN menu_row_bold -->
<tr bgcolor="{menu_row_color}">
<td>
<nobr><b><a href="{menu_link}">{menu_description}</a></b><nobr>
</td>
</tr>
<!-- END menu_row_bold -->
<!-- BEGIN activation_row -->
<tr bgcolor="{bg_01}">
<td>
<a href="{activation_link}">{lang_activate}</a>
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<!-- END activation_row -->

View File

@ -0,0 +1,136 @@
<!-- BEGIN main -->
<center>
<table border="0" cellspacing="1" cellpading="0" width="95%">
<tr>
<td width="10%" valign="top">
<table border="0" cellspacing="1" cellpading="0" width="100%">
{menu_rows}
<tr>
<td>
&nbsp;
</td>
</tr>
{activation_rows}
<tr bgcolor="{done_row_color}">
<td>
<a href="{done_link}">{lang_done}</a>
</td>
</tr>
</table>
</td>
<td width="90%" valign="top">
<table width="100%" cellspacing="1" cellpading="0" border="0">
<tr bgcolor="{th_bg}">
<td colspan="2">
Domains we receive email for
</td>
</tr>
<form action="{form_action}" method="post">
<tr bgcolor="{bg_01}">
<td width="50%" rowspan="5" align="center">
{rcpt_selectbox}
</td>
<td width="50%" align="center">
<input type="submit" value="{lang_remove} -->">
<input type="hidden" name="bo_action" value="remove_rcpthosts">
</td>
</tr>
</form>
<tr bgcolor="{bg_02}">
<td width="50%" align="center">
&nbsp;
</td>
</tr>
<form action="{form_action}" method="post">
<tr bgcolor="{bg_01}">
<td width="50%" align="center">
<input type="text" size="30" name="new_rcpthost">
</td>
</tr>
<tr bgcolor="{bg_02}">
<td width="50%" align="center">
<input type="checkbox" name="add_to_local">{lang_add_to_local}
</td>
</tr>
<tr bgcolor="{bg_01}">
<td width="50%" align="center">
<input type="submit" value="<-- {lang_add}">
<input type="hidden" name="bo_action" value="add_rcpthosts">
</td>
</tr>
</form>
<tr>
<td colspan="2">
&nbsp;
</td>
</tr>
<tr bgcolor="{th_bg}">
<td colspan="2">
Domains which email we handle local
</td>
</tr>
<form action="{form_action}" method="post">
<tr bgcolor="{bg_01}">
<td width="50%" rowspan="4" align="center">
{locals_selectbox}
</td>
<td width="50%" align="center">
<input type="submit" value="{lang_remove} -->">
<input type="hidden" name="bo_action" value="remove_locals">
</td>
</tr>
</form>
<tr bgcolor="{bg_02}">
<td width="50%" align="center">
&nbsp;
</td>
</tr>
<form action="{form_action}" method="post">
<tr bgcolor="{bg_01}">
<td width="50%" align="center">
<input type="text" size="30" name="new_local">
</td>
</tr>
<tr bgcolor="{bg_02}">
<td width="50%" align="center">
<input type="submit" value="<-- {lang_add}">
<input type="hidden" name="bo_action" value="add_locals">
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</form>
</center>
<!-- END main -->
<!-- BEGIN menu_row -->
<tr bgcolor="{menu_row_color}">
<td>
<nobr><a href="{menu_link}">{menu_description}</a><nobr>
</td>
</tr>
<!-- END menu_row -->
<!-- BEGIN menu_row_bold -->
<tr bgcolor="{menu_row_color}">
<td>
<nobr><b><a href="{menu_link}">{menu_description}</a></b><nobr>
</td>
</tr>
<!-- END menu_row_bold -->
<!-- BEGIN activation_row -->
<tr bgcolor="{bg_01}">
<td>
<a href="{activation_link}">{lang_activate}</a>
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<!-- END activation_row -->

View File

@ -0,0 +1,803 @@
<!-- BEGIN main -->
<center>
<div style="background-color: white">
<form action="{action_url}" name="mailsettings" method="post">
<table width="670px" border="0" cellspacing="0" cellpading="0">
<tr>
<th width="33%" id="tab1" class="activetab" onclick="javascript:tab.display(1);"><a href="#" tabindex="1" accesskey="1" onfocus="tab.display(1);" onclick="tab.display(1); return(false);">Global</a></th>
<th width="33%" id="tab2" class="activetab" onclick="javascript:tab.display(2);"><a href="#" tabindex="2" accesskey="2" onfocus="tab.display(2);" onclick="tab.display(2); return(false);">SMTP</a></th>
<th width="33%" id="tab3" class="activetab" onclick="javascript:tab.display(3);"><a href="#" tabindex="3" accesskey="3" onfocus="tab.display(3);" onclick="tab.display(3); return(false);">POP3/IMAP</a></th>
<!-- <th id="tab4" class="activetab" onclick="javascript:tab.display(4);"><a href="#" tabindex="4" accesskey="4" onfocus="tab.display(4);" onclick="tab.display(4); return(false);">extern</a></th> -->
</tr>
</table>
<br><br>
<!-- The code for Global Tab -->
<div id="tabcontent1" class="inactivetab">
<table width="670px" border="0" cellspacing="0" cellpadding="5">
<tr class="th">
<td width="300px">
<b>{lang_profile_name}</b>
</td>
<td align="right">
<input style="width: 250px;" type="text" size="30" name="globalsettings[description]" value="{value_description}">
</td>
</tr>
</table>
<p>
<fieldset style="width:650px;" class="row_on"><legend>{lang_organisation}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">
{lang_default_domain}:
</td>
<td>
<input style='width: 350px;' type="text" size="30" name="globalsettings[defaultDomain]" value="{value_defaultDomain}">
</td>
</tr>
<tr>
<td>
{lang_organisation_name}:
</td>
<td>
<input style='width: 350px;' type="text" size="30" name="globalsettings[organisationName]" value="{value_organisationName}">
</td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;" class="row_off"><legend>{lang_profile_access_rights}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">
{lang_can_be_used_by_application}:
</td>
<td>
{application_select_box}
</td>
</tr>
<tr>
<td>
{lang_can_be_used_by_group}:
</td>
<td>
{group_select_box}
</td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;" class="row_off"><legend>{lang_global_options}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">
{lang_user_defined_accounts}:
</td>
<td>
<input type="checkbox" name="globalsettings[userDefinedAccounts]" {selected_userDefinedAccounts} value="yes">
</td>
</tr>
</table>
</fieldset>
</div>
<!-- The code for SMTP Tab -->
<div id="tabcontent2" class="inactivetab">
<table width="670px" border="0" cellspacing="0" cellpadding="5">
<tr class="th">
<td width="50%" cclass="td_left">
<b>{lang_Select_type_of_SMTP_Server}<b>
</td>
<td width="50%" align="right" cclass="td_right">
{smtptype}
</td>
</tr>
</table>
<p>
<!-- The code for standard SMTP Server -->
<div id="smtpcontent1" class="inactivetab">
<fieldset style="width:650px;" class="row_on"><legend>{lang_smtp_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_SMTP_server_hostname_or_IP_address}:</td>
<td><input name="smtpsettings[1][smtpServer]" size="40" value="{value_smtpServer}"></td>
</tr>
<tr class="row_on">
<td>{lang_SMTP_server_port}:</td>
<td><input name="smtpsettings[1][smtpPort]" maxlength="5" size="5" value="{value_smtpPort}"></td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;"><legend>{lang_smtp_auth}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr class="row_off">
<td width="300px">{lang_Use_SMTP_auth}:</td>
<td>
<input type="checkbox" name="smtpsettings[1][smtpAuth]" {selected_smtpAuth} value="yes">
</td>
</tr>
<tr class="row_off">
<td>{lang_username}:</td>
<td>
<input type="text" name="smtpsettings[1][ea_smtp_auth_username]" style="width: 350px;" value="{value_ea_smtp_auth_username}">
</td>
</tr>
<tr class="row_off">
<td>{lang_password}:</td>
<td>
<input type="password" name="smtpsettings[1][ea_smtp_auth_password]" style="width: 350px;" value="{value_ea_smtp_auth_password}">
</td>
</tr>
</table>
</fieldset>
</div>
<!-- The code for Postfix/LDAP Server -->
<div id="smtpcontent2" class="inactivetab">
<fieldset style="width:650px;" class="row_on"><legend>{lang_smtp_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_SMTP_server_hostname_or_IP_address}:</td>
<td><input name="smtpsettings[2][smtpServer]" size="40" value="{value_smtpServer}"></td>
</tr>
<tr>
<td>{lang_SMTP_server_port}:</td>
<td><input name="smtpsettings[2][smtpPort]" maxlength="5" size="5" value="{value_smtpPort}"></td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;" class="row_off"><legend>{lang_smtp_auth}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr class="row_off">
<td width="300px">{lang_Use_SMTP_auth}:</td>
<td>
<input type="checkbox" name="smtpsettings[2][smtpAuth]" {selected_smtpAuth} value="yes">
</td>
</tr>
<tr>
<td>{lang_username}:</td>
<td>
<input type="text" name="smtpsettings[2][ea_smtp_auth_username]" style="width: 350px;" value="{value_ea_smtp_auth_username}">
</td>
</tr>
<tr>
<td>{lang_password}:</td>
<td>
<input type="password" name="smtpsettings[2][ea_smtp_auth_password]" style="width: 350px;" value="{value_ea_smt_pauth_password}">
</td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;" class="row_off"><legend>{lang_smtp_options}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_user_can_edit_forwarding_address}:</td>
<td>
<input type="checkbox" name="smtpsettings[2][editforwardingaddress]" {selected_editforwardingaddress} value="yes">
</td>
</tr>
</table>
</fieldset>
<!-- <table>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
</table>
<table width="90%" border="0" cellspacing="0" cellpading="1">
<tr class="th">
<td width="50%" class="td_left">
<b>{lang_LDAP_settings}<b>
</td>
<td class="td_right">
&nbsp;
</td>
</tr>
<tr class="row_off">
<td class="td_left">{lang_use_LDAP_defaults}:</td>
<td class="td_right">
<input type="checkbox" name="smtpsettings[2][smtpLDAPUseDefault]" {selected_smtpLDAPUseDefault} value="yes">
</td>
</tr>
<tr class="row_on">
<td width="50%" class="td_left">{lang_LDAP_server_hostname_or_IP_address}:</td>
<td width="50%" class="td_right"><input name="smtpsettings[2][smtpLDAPServer]" maxlength="80" size="40" value="{value_smtpLDAPServer}"></td>
</tr>
<tr class="row_off">
<td class="td_left">{lang_LDAP_server_admin_dn}:</td>
<td class="td_right"><input name="smtpsettings[2][smtpLDAPAdminDN]" maxlength="200" size="40" value="{value_smtpLDAPAdminDN}"></td>
</tr>
<tr class="row_on">
<td class="td_left">{lang_LDAP_server_admin_pw}:</td>
<td class="td_right"><input type="password" name="smtpsettings[2][smtpLDAPAdminPW]" maxlength="30" size="40" value="{value_smtpLDAPAdminPW}"></td>
</tr>
<tr class="row_off">
<td class="td_left">{lang_LDAP_server_base_dn}:</td>
<td class="td_right"><input name="smtpsettings[2][smtpLDAPBaseDN]" maxlength="200" size="40" value="{value_smtpLDAPBaseDN}"></td>
</tr>
</table> -->
</div>
<!-- The code for Postfix SMTP Server (inetOrgPerson Schema) -->
<div id="smtpcontent3" class="inactivetab">
<fieldset style="width:650px;" class="row_on"><legend>{lang_smtp_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_SMTP_server_hostname_or_IP_address}:</td>
<td><input name="smtpsettings[3][smtpServer]" size="40" value="{value_smtpServer}"></td>
</tr>
<tr class="row_on">
<td>{lang_SMTP_server_port}:</td>
<td><input name="smtpsettings[3][smtpPort]" maxlength="5" size="5" value="{value_smtpPort}"></td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;"><legend>{lang_smtp_auth}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr class="row_off">
<td width="300px">{lang_Use_SMTP_auth}:</td>
<td>
<input type="checkbox" name="smtpsettings[3][smtpAuth]" {selected_smtpAuth} value="yes">
</td>
</tr>
<tr class="row_off">
<td>{lang_username}:</td>
<td>
<input type="text" name="smtpsettings[3][ea_smtp_auth_username]" style="width: 350px;" value="{value_ea_smtp_auth_username}">
</td>
</tr>
<tr class="row_off">
<td>{lang_password}:</td>
<td>
<input type="password" name="smtpsettings[3][ea_smtp_auth_password]" style="width: 350px;" value="{value_ea_smtp_auth_password}">
</td>
</tr>
</table>
</fieldset>
</div>
<!-- The code for Plesk SMTP Server -->
<div id="smtpcontent4" class="inactivetab">
<fieldset style="width:650px;" class="row_on"><legend>{lang_smtp_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_SMTP_server_hostname_or_IP_address}:</td>
<td><input name="smtpsettings[4][smtpServer]" size="40" value="{value_smtpServer}"></td>
</tr>
<tr class="row_on">
<td>{lang_SMTP_server_port}:</td>
<td><input name="smtpsettings[4][smtpPort]" maxlength="5" size="5" value="{value_smtpPort}"></td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;"><legend>{lang_smtp_auth}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr class="row_off">
<td width="300px">{lang_Use_SMTP_auth}:</td>
<td>
<input type="checkbox" name="smtpsettings[4][smtpAuth]" {selected_smtpAuth} value="yes">
</td>
</tr>
<tr class="row_off">
<td>{lang_username}:</td>
<td>
<input type="text" name="smtpsettings[4][ea_smtp_auth_username]" style="width: 350px;" value="{value_ea_smtp_auth_username}">
</td>
</tr>
<tr class="row_off">
<td>{lang_password}:</td>
<td>
<input type="password" name="smtpsettings[4][ea_smtp_auth_password]" style="width: 350px;" value="{value_ea_smtp_auth_password}">
</td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;" class="row_off"><legend>{lang_smtp_options}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_user_can_edit_forwarding_address}:</td>
<td>
<input type="checkbox" name="smtpsettings[4][editforwardingaddress]" {selected_editforwardingaddress} value="yes">
</td>
</tr>
</table>
</fieldset>
</div>
<!-- The code for Postfix/LDAP Server with dbmailldapschema-->
<div id="smtpcontent5" class="inactivetab">
<fieldset style="width:650px;" class="row_on"><legend>{lang_smtp_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_SMTP_server_hostname_or_IP_address}:</td>
<td><input name="smtpsettings[5][smtpServer]" size="40" value="{value_smtpServer}"></td>
</tr>
<tr>
<td>{lang_SMTP_server_port}:</td>
<td><input name="smtpsettings[5][smtpPort]" maxlength="5" size="5" value="{value_smtpPort}"></td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;" class="row_off"><legend>{lang_smtp_auth}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr class="row_off">
<td width="300px">{lang_Use_SMTP_auth}:</td>
<td>
<input type="checkbox" name="smtpsettings[5][smtpAuth]" {selected_smtpAuth} value="yes">
</td>
</tr>
<tr>
<td>{lang_username}:</td>
<td>
<input type="text" name="smtpsettings[5][ea_smtp_auth_username]" style="width: 350px;" value="{value_ea_smtp_auth_username}">
</td>
</tr>
<tr>
<td>{lang_password}:</td>
<td>
<input type="password" name="smtpsettings[5][ea_smtp_auth_password]" style="width: 350px;" value="{value_ea_smt_pauth_password}">
</td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;" class="row_off"><legend>{lang_smtp_options}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_user_can_edit_forwarding_address}:</td>
<td>
<input type="checkbox" name="smtpsettings[5][editforwardingaddress]" {selected_editforwardingaddress} value="yes">
</td>
</tr>
</table>
</fieldset>
</div>
</div>
<!-- The code for IMAP/POP3 Tab -->
<div id="tabcontent3" class="inactivetab">
<table width="670px" border="0" cellspacing="0" cellpadding="5">
<tr class="th">
<td width="50%">
<b>{lang_select_type_of_imap/pop3_server}</b>
</td>
<td width="50%" align="right">
{imaptype}
</td>
</tr>
</table>
<p>
<!-- The code for standard POP3 Server -->
<div id="imapcontent1" class="inactivetab">
<fieldset style="width:650px;" class="row_on"><legend>{lang_server_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_pop3_server_hostname_or_IP_address}:</td>
<td><input name="imapsettings[1][imapServer]" maxlength="80" style="width: 350px;" value="{value_imapServer}"></td>
</tr>
<tr>
<td>{lang_pop3_server_port}:</td>
<td><input name="imapsettings[1][imapPort]" maxlength="5" size="5" value="{value_imapPort}"></td>
</tr>
<tr>
<td>{lang_imap_server_logintyp}:</td>
<td>
<select name="imapsettings[1][imapLoginType]" style="width: 350px;" size="1">
<option value="standard" {selected_imapLoginType_standard}>{lang_standard}</option>
<option value="vmailmgr" {selected_imapLoginType_vmailmgr}>{lang_vmailmgr}</option>
</select>
</td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;" class="row_off"><legend>{lang_encryption_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_encrypted_connection}:</td>
<td>
<input type="radio" name="imapsettings[1][imapTLSEncryption]" value="1" {checked_imapTLSEncryption_1}> STARTTLS
<input type="radio" name="imapsettings[1][imapTLSEncryption]" value="2" {checked_imapTLSEncryption_2}> TLS
<input type="radio" name="imapsettings[1][imapTLSEncryption]" value="3" {checked_imapTLSEncryption_3}> SSL
<input type="radio" name="imapsettings[1][imapTLSEncryption]" value="0" {checked_imapTLSEncryption_0}> {lang_no_encryption}
</td>
</tr>
<tr>
<td>{lang_do_not_validate_certificate}:</td>
<td>
<input type="checkbox" name="imapsettings[1][imapTLSAuthentication]" {selected_imapTLSAuthentication} value="dontvalidate">
</td>
</tr>
</table>
</fieldset>
</div>
<!-- The code for standard IMAP Server -->
<div id="imapcontent2" class="inactivetab">
<fieldset style="width:650px;" class="row_on"><legend>{lang_server_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_imap_server_hostname_or_IP_address}:</td>
<td><input name="imapsettings[2][imapServer]" maxlength="80" style="width: 350px;" value="{value_imapServer}"></td>
</tr>
<tr>
<td>{lang_imap_server_port}:</td>
<td><input name="imapsettings[2][imapPort]" maxlength="5" size="5" value="{value_imapPort}"></td>
</tr>
<tr>
<td>{lang_imap_server_logintyp}:</td>
<td>
<select name="imapsettings[2][imapLoginType]" style="width: 350px;" size="1">
<option value="standard" {selected_imapLoginType_standard}>{lang_standard}</option>
<option value="vmailmgr" {selected_imapLoginType_vmailmgr}>{lang_vmailmgr}</option>
</select>
</td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;" class="row_off"><legend>{lang_encryption_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_encrypted_connection}:</td>
<td colspan="1">
<!-- <input type="checkbox" name="imapsettings[2][imapTLSEncryption]" {selected_imapTLSEncryption} value="yes"><br> -->
<input type="radio" name="imapsettings[2][imapTLSEncryption]" value="1" {checked_imapTLSEncryption_1}> STARTTLS
<input type="radio" name="imapsettings[2][imapTLSEncryption]" value="2" {checked_imapTLSEncryption_2}> TLS
<input type="radio" name="imapsettings[2][imapTLSEncryption]" value="3" {checked_imapTLSEncryption_3}> SSL
<input type="radio" name="imapsettings[2][imapTLSEncryption]" value="0" {checked_imapTLSEncryption_0}> {lang_no_encryption}
</td>
</tr>
<tr>
<td>{lang_do_not_validate_certificate}:</td>
<td>
<input type="checkbox" name="imapsettings[2][imapTLSAuthentication]" {selected_imapTLSAuthentication} value="dontvalidate">
</td>
</tr>
</table>
</fieldset>
</div>
<!-- The code for the Cyrus IMAP Server -->
<div id="imapcontent3" class="inactivetab">
<fieldset style="width:650px;" class="row_on"><legend>{lang_server_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_imap_server_hostname_or_IP_address}:</td>
<td><input name="imapsettings[3][imapServer]" maxlength="80" style="width: 350px;" value="{value_imapServer}"></td>
</tr>
<tr>
<td>{lang_imap_server_port}:</td>
<td><input name="imapsettings[3][imapPort]" maxlength="5" size="5" value="{value_imapPort}"></td>
</tr>
<tr>
<td>{lang_imap_server_logintyp}:</td>
<td>
<select name="imapsettings[3][imapLoginType]" style="width: 350px;" size="1">
<option value="standard" {selected_imapLoginType_standard}>{lang_standard}</option>
<option value="vmailmgr" {selected_imapLoginType_vmailmgr}>{lang_vmailmgr}</option>
</select>
</td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;" class="row_off"><legend>{lang_encryption_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_encrypted_connection}:</td>
<td>
<!-- <input type="checkbox" name="imapsettings[3][imapTLSEncryption]" {selected_imapTLSEncryption} value="yes"> -->
<input type="radio" name="imapsettings[3][imapTLSEncryption]" value="1" {checked_imapTLSEncryption_1}> STARTTLS
<input type="radio" name="imapsettings[3][imapTLSEncryption]" value="2" {checked_imapTLSEncryption_2}> TLS
<input type="radio" name="imapsettings[3][imapTLSEncryption]" value="3" {checked_imapTLSEncryption_3}> SSL
<input type="radio" name="imapsettings[3][imapTLSEncryption]" value="0" {checked_imapTLSEncryption_0}> {lang_no_encryption}
</td>
</tr>
<tr>
<td>{lang_do_not_validate_certificate}:</td>
<td>
<input type="checkbox" name="imapsettings[3][imapTLSAuthentication]" {selected_imapTLSAuthentication} value="dontvalidate">
</td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;" class="row_off"><legend>{lang_sieve_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_enable_sieve}:</td>
<td>
<input type="checkbox" name="imapsettings[3][imapEnableSieve]" {selected_imapEnableSieve} value="yes">
</td>
</tr>
<tr>
<td>{lang_sieve_server_port}:</td>
<td><input name="imapsettings[3][imapSievePort]" maxlength="5" size="5" value="{value_imapSievePort}"></td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;" class="row_off"><legend>{lang_cyrus_imap_administration}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_enable_cyrus_imap_administration}:</td>
<td>
<input type="checkbox" name="imapsettings[3][imapEnableCyrusAdmin]" {selected_imapEnableCyrusAdmin} value="yes">
</td>
</tr>
<tr>
<td>{lang_admin_username}:</td>
<td><input name="imapsettings[3][imapAdminUsername]" maxlength="40" style="width: 350px;" value="{value_imapAdminUsername}"></td>
</tr>
<tr>
<td>{lang_admin_password}:</td>
<td><input type="password" name="imapsettings[3][imapAdminPW]" maxlength="40" style="width: 350px;" value="{value_imapAdminPW}"></td>
</tr>
</table>
</fieldset>
</div>
<!-- The code for the DBMail Server with qmailuserbackend -->
<div id="imapcontent4" class="inactivetab">
<fieldset style="width:650px;" class="row_on"><legend>{lang_server_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_imap_server_hostname_or_IP_address}:</td>
<td><input name="imapsettings[4][imapServer]" maxlength="80" style="width: 350px;" value="{value_imapServer}"></td>
</tr>
<tr>
<td>{lang_imap_server_port}:</td>
<td><input name="imapsettings[4][imapPort]" maxlength="5" size="5" value="{value_imapPort}"></td>
</tr>
<tr>
<td>{lang_imap_server_logintyp}:</td>
<td>
<select name="imapsettings[4][imapLoginType]" style="width: 350px;" size="1">
<option value="standard" {selected_imapLoginType_standard}>{lang_standard}</option>
<option value="vmailmgr" {selected_imapLoginType_vmailmgr}>{lang_vmailmgr}</option>
</select>
</td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;" class="row_off"><legend>{lang_encryption_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_encrypted_connection}:</td>
<td>
<!-- <input type="checkbox" name="imapsettings[4][imapTLSEncryption]" {selected_imapTLSEncryption} value="yes"> -->
<input type="radio" name="imapsettings[4][imapTLSEncryption]" value="1" {checked_imapTLSEncryption_1}> STARTTLS
<input type="radio" name="imapsettings[4][imapTLSEncryption]" value="2" {checked_imapTLSEncryption_2}> TLS
<input type="radio" name="imapsettings[4][imapTLSEncryption]" value="3" {checked_imapTLSEncryption_3}> SSL
<input type="radio" name="imapsettings[4][imapTLSEncryption]" value="0" {checked_imapTLSEncryption_0}> {lang_no_encryption}
</td>
</tr>
<tr>
<td>{lang_do_not_validate_certificate}:</td>
<td>
<input type="checkbox" name="imapsettings[4][imapTLSAuthentication]" {selected_imapTLSAuthentication} value="dontvalidate">
</td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;" class="row_off"><legend>{lang_sieve_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_enable_sieve}:</td>
<td>
<input type="checkbox" name="imapsettings[4][imapEnableSieve]" {selected_imapEnableSieve} value="yes">
</td>
</tr>
<tr>
<td>{lang_sieve_server_port}:</td>
<td><input name="imapsettings[4][imapSievePort]" maxlength="5" size="5" value="{value_imapSievePort}"></td>
</tr>
</table>
</fieldset>
</div>
<!-- The code for the Plesk IMAP Server -->
<div id="imapcontent5" class="inactivetab">
<fieldset style="width:650px;" class="row_on"><legend>{lang_server_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_imap_server_hostname_or_IP_address}:</td>
<td><input name="imapsettings[5][imapServer]" maxlength="80" style="width: 350px;" value="{value_imapServer}"></td>
</tr>
<tr>
<td>{lang_imap_server_port}:</td>
<td><input name="imapsettings[5][imapPort]" maxlength="5" size="5" value="{value_imapPort}"></td>
</tr>
<tr>
<td>{lang_imap_server_logintyp}:</td>
<td>
<select name="imapsettings[5][imapLoginType]" style="width: 350px;" size="1">
<option value="standard" {selected_imapLoginType_standard}>{lang_standard}</option>
<option value="vmailmgr" {selected_imapLoginType_vmailmgr}>{lang_vmailmgr}</option>
</select>
</td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;" class="row_off"><legend>{lang_encryption_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_encrypted_connection}:</td>
<td>
<!-- <input type="checkbox" name="imapsettings[5][imapTLSEncryption]" {selected_imapTLSEncryption} value="yes"> -->
<input type="radio" name="imapsettings[5][imapTLSEncryption]" value="1" {checked_imapTLSEncryption_1}> STARTTLS
<input type="radio" name="imapsettings[5][imapTLSEncryption]" value="2" {checked_imapTLSEncryption_2}> TLS
<input type="radio" name="imapsettings[5][imapTLSEncryption]" value="3" {checked_imapTLSEncryption_3}> SSL
<input type="radio" name="imapsettings[5][imapTLSEncryption]" value="0" {checked_imapTLSEncryption_0}> {lang_no_encryption}
</td>
</tr>
<tr>
<td>{lang_do_not_validate_certificate}:</td>
<td>
<input type="checkbox" name="imapsettings[5][imapTLSAuthentication]" {selected_imapTLSAuthentication} value="dontvalidate">
</td>
</tr>
</table>
</fieldset>
</div>
<!-- The code for the DBMail Server with dbmailuserbackend -->
<div id="imapcontent6" class="inactivetab">
<fieldset style="width:650px;" class="row_on"><legend>{lang_server_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_imap_server_hostname_or_IP_address}:</td>
<td><input name="imapsettings[6][imapServer]" maxlength="80" style="width: 350px;" value="{value_imapServer}"></td>
</tr>
<tr>
<td>{lang_imap_server_port}:</td>
<td><input name="imapsettings[6][imapPort]" maxlength="5" size="5" value="{value_imapPort}"></td>
</tr>
<tr>
<td>{lang_imap_server_logintyp}:</td>
<td>
<select name="imapsettings[6][imapLoginType]" style="width: 350px;" size="1">
<option value="standard" {selected_imapLoginType_standard}>{lang_standard}</option>
<option value="vmailmgr" {selected_imapLoginType_vmailmgr}>{lang_vmailmgr}</option>
</select>
</td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;" class="row_off"><legend>{lang_encryption_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_encrypted_connection}:</td>
<td>
<!-- <input type="checkbox" name="imapsettings[6][imapTLSEncryption]" {selected_imapTLSEncryption} value="yes"> -->
<input type="radio" name="imapsettings[6][imapTLSEncryption]" value="1" {checked_imapTLSEncryption_1}> STARTTLS
<input type="radio" name="imapsettings[6][imapTLSEncryption]" value="2" {checked_imapTLSEncryption_2}> TLS
<input type="radio" name="imapsettings[6][imapTLSEncryption]" value="3" {checked_imapTLSEncryption_3}> SSL
<input type="radio" name="imapsettings[6][imapTLSEncryption]" value="0" {checked_imapTLSEncryption_0}> {lang_no_encryption}
</td>
</tr>
<tr>
<td>{lang_do_not_validate_certificate}:</td>
<td>
<input type="checkbox" name="imapsettings[6][imapTLSAuthentication]" {selected_imapTLSAuthentication} value="dontvalidate">
</td>
</tr>
</table>
</fieldset>
<p>
<fieldset style="width:650px;" class="row_off"><legend>{lang_sieve_settings}</legend>
<table width="100%" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="300px">{lang_enable_sieve}:</td>
<td>
<input type="checkbox" name="imapsettings[6][imapEnableSieve]" {selected_imapEnableSieve} value="yes">
</td>
</tr>
<tr>
<td>{lang_sieve_server_port}:</td>
<td><input name="imapsettings[6][imapSievePort]" maxlength="5" size="5" value="{value_imapSievePort}"></td>
</tr>
</table>
</fieldset>
</div>
</div>
<!-- The code for External Tab -->
<div id="tabcontent4" class="inactivetab">
<h1>still something todo ...</h1>
<p>Come back later!!</p>
</div>
<br><br>
<table width="670px" border="0" cellspacing="0" cellpading="1">
<tr>
<td width="90%" align="left" class="td_left">
<a href="#" onclick="window.close(); return false;">{lang_back}</a>
</td>
<td width="10%" align="center" class="td_right">
<a href="javascript:document.mailsettings.submit();">{lang_save}</a>
</td>
</tr>
</table>
</form>
<div>
</center>
<!-- END main -->

View File

@ -0,0 +1,111 @@
<!-- BEGIN form -->
<script language="JavaScript1.2">
var langAddAddress="{lang_enter_new_address}";
var langModifyAddress="{lang_update_current_address}";
</script>
<form method="POST" action="{form_action}">
<center>
<table border="0" width="95%">
<tr>
<td valign="top">
{rows}
</td>
<td>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr bgcolor="{th_bg}">
<td colspan="2">
<b>{lang_email_config}</b>
</td>
<td align="right">
{lang_emailaccount_active}
<input type="checkbox" name="accountStatus" {account_checked}>
</td>
</tr>
<tr bgcolor="{tr_color1}">
<td width="200">{lang_emailAddress}</td>
<td colspan="2">
<input name="mailLocalAddress" value="{mailLocalAddress}" style="width:350px;">
</td>
</tr>
<tr bgcolor="{tr_color2}">
<td>{lang_mailAlternateAddress}</td>
<td align="center" style="width:350px;">
{selectbox_mailAlternateAddress}
</td>
<td align="left">
<button type="button" onclick="addRow('mailAlternateAddress', langAddAddress)"><img src="{url_image_add}" alt="{lang_add}" title="{lang_add}"></button><br>
<button type="button" onclick="editRow('mailAlternateAddress', langModifyAddress)"><img src="{url_image_edit}" alt="{lang_edit}" title="{lang_edit}"></button><br>
<button type="button" onclick="removeRow('mailAlternateAddress')"><img src="{url_image_delete}" alt="{lang_remove}" title="{lang_remove}"></button>
</td>
</tr>
<tr bgcolor="{tr_color1}">
<td>{lang_mailRoutingAddress}</td>
<td align="center">
{selectbox_mailRoutingAddress}
</td>
<td align="left">
<button type="button" onclick="addRow('mailRoutingAddress', langAddAddress)"><img src="{url_image_add}" alt="{lang_add}" title="{lang_add}"></button><br>
<button type="button" onclick="editRow('mailRoutingAddress', langModifyAddress)"><img src="{url_image_edit}" alt="{lang_edit}" title="{lang_edit}"></button><br>
<button type="button" onclick="removeRow('mailRoutingAddress')"><img src="{url_image_delete}" alt="{lang_remove}" title="{lang_remove}"></button>
</td>
</tr>
<tr bgcolor="{tr_color2}">
<td>
{lang_forward_only}
</td>
<td colspan="2">
<input type="checkbox" name="forwardOnly" {forwardOnly_checked}>
</td>
</tr>
<tr>
<td colspan="3">
&nbsp;
</td>
</tr>
<tr bgcolor="{th_bg}">
<td colspan="3">
<b>{lang_quota_settings}</b>
</td>
</tr>
<tr bgcolor="{tr_color2}">
<td width="200">{lang_qoutainmbyte}</td>
<td colspan="2">
<input name="quotaLimit" value="{quotaLimit}" style="width:350px;"> ({lang_0forunlimited})
</td>
</tr>
<tr>
<td colspan="3">
&nbsp;
</td>
</tr>
</table>
<table border=0 width=100%>
<tr bgcolor="{tr_color1}">
<td align="right" colspan="2">
<input type="submit" name="save" value="{lang_button}" onclick="selectAllOptions('mailAlternateAddress'); selectAllOptions('mailRoutingAddress');">
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</form>
<!-- END form -->
<!-- BEGIN link_row -->
<tr bgcolor="{tr_color}">
<td colspan="2">&nbsp;&nbsp;<a href="{row_link}">{row_text}</a></td>
</tr>
<!-- END link_row -->

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,87 @@
<!-- BEGIN main -->
<center>
<table border="0" cellspacing="1" cellpading="0" width="95%">
<tr>
<td width="90%" valign="top">
<form action="{form_action}" method="post">
<table border="0" cellspacing="1" cellpading="0" width="100%">
<tr bgcolor="{bg_01}">
<td>
{lang_server_name}
</td>
<td>
<input type="text" size="50" name="qmail_servername" value="{qmail_servername}">
</td>
</tr>
<tr bgcolor="{bg_02}">
<td>
{lang_server_description}
</td>
<td>
<input type="text" size="50" name="description" value="{description}">
</td>
</tr>
<tr bgcolor="{bg_01}">
<td>
{lang_ldap_server}
</td>
<td>
<input type="text" size="50">
</td>
</tr>
<tr bgcolor="{bg_02}">
<td>
{lang_ldap_basedn}
</td>
<td>
<input type="text" size="50" name="ldap_basedn" value="{ldap_basedn}">
</td>
</tr>
<tr bgcolor="{bg_01}">
<td>
{lang_ldap_server_admin}
</td>
<td>
<input type="text" size="50">
</td>
</tr>
<tr bgcolor="{bg_02}">
<td>
{lang_ldap_server_password}
</td>
<td>
<input type="text" size="50">
</td>
</tr>
<tr bgcolor="{bg_01}">
<td align="left">
<a href="{done_link}">{lang_back}</a>
</td>
<td align="right">
<input type="submit" name="save_ldap" value="{lang_save}">
<input type="hidden" name="bo_action" value="save_ldap">
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</center>
<!-- END main -->
<!-- BEGIN menu_row -->
<tr bgcolor="{menu_row_color}">
<td>
<nobr><a href="{menu_link}">{menu_description}</a><nobr>
</td>
</tr>
<!-- END menu_row -->
<!-- BEGIN menu_row_bold -->
<tr bgcolor="{menu_row_color}">
<td>
<nobr><b><a href="{menu_link}">{menu_description}</a></b><nobr>
</td>
</tr>
<!-- END menu_row_bold -->

View File

@ -0,0 +1,35 @@
<!-- BEGIN main -->
<center>
<table width="90%" border="0" cellspacing="0" cellpading="5">
<tr>
<td width="33%">
&nbsp;
</td>
<td width="33%" align="center">
&nbsp;
</td>
<td width="33%" align="right">
<a href="#" onclick="egw_openWindowCentered2('{add_link}','ea_addProfile',700,600); return false;">{lang_add_profile}</a>
</td>
</tr>
<tr>
<td colspan="3">
{server_next_match}
</td>
</tr>
<tr>
<td colspan="3" align="right">
&nbsp;
</td>
</tr>
<tr>
<td colspan="3" align="right">
<button onclick="saveOrder()">{lang_save}</button>
</td>
</tr>
</table>
<br>
</center>
<!-- END main -->

View File

@ -0,0 +1,25 @@
<!-- BEGIN main -->
<center>
<table width="90%" border="0" cellspacing="1" cellpading="1">
<tr>
<td width="33%">
&nbsp;
</td>
<td width="33%" align="center">
<b>{lang_server_list}</b>
</td>
<td width="33%" align="right">
<a href="{add_link}">{lang_add_server}</a>
</td>
</tr>
<tr>
<td colspan="3">
{server_next_match}
</td>
</tr>
</table>
<br>
</center>
<!-- END main -->

View File

@ -0,0 +1,25 @@
<!-- HELLO -->
<table width="100%" border="0" align="center">
<tr>
{left_next_matchs}
<td align="center"><b>{description}</b></td>
{right_next_matchs}
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpading="1">
<thead>
<!-- BEGIN header_row -->
<tr bgcolor="{th_bg}">
{header_row_data}
</tr>
<!-- END header_row -->
</thead>
<tbody id="nextMatchBody">
<!-- BEGIN row_list -->
<tr id="{row_id}" bgcolor="{row_color}">
{row_data}
</tr>
<!-- END row_list -->
</tbody>
</table>

View File

@ -0,0 +1,138 @@
<!-- BEGIN main -->
<center>
<table border="0" cellspacing="1" cellpading="0" width="95%">
<tr>
<td width="10%" valign="top">
<table border="0" cellspacing="1" cellpading="0" width="100%">
{menu_rows}
<tr>
<td>
&nbsp;
</td>
</tr>
{activation_rows}
<tr bgcolor="{done_row_color}">
<td>
<a href="{done_link}">{lang_done}</a>
</td>
</tr>
</table>
</td>
<td width="90%" valign="top">
<form action="{form_action}" method="post">
<table width="100%" cellspacing="1" cellpading="0" border="0">
<tr bgcolor="{th_bg}">
<td colspan="2">
ldaplocaldelivery
</td>
</tr>
<tr bgcolor="{bg_01}">
<td>
{desc_ldaplocaldelivery}
</td>
</tr>
<tr bgcolor="{bg_02}">
<td>
<select name="ldaplocaldelivery">
<option value="0" {ldaplocaldelivery_0}>{lang_disabled}</option>
<option value="1" {ldaplocaldelivery_1}>{lang_enabled}</option>
</select>
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr bgcolor="{th_bg}">
<td colspan="2">
ldapdefaultdotmode
</td>
</tr>
<tr bgcolor="{bg_01}">
<td>
{desc_ldapdefaultdotmode}
</td>
</tr>
<tr bgcolor="{bg_02}">
<td>
<select name="ldapdefaultdotmode">
<option value="both" {ldapdefaultdotmode_both}>both</option>
<option value="dotonly" {ldapdefaultdotmode_dotonly}>dotonly</option>
<option value="ldaponly" {ldapdefaultdotmode_ldaponly}>ldaponly</option>
<option value="ldapwithprog" {ldapdefaultdotmode_ldapwithprog}>ldapwithprog</option>
<option value="none" {ldapdefaultdotmode_none}>none</option>
</select>
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr bgcolor="{th_bg}">
<td colspan="2">
ldapbasedn
</td>
</tr>
<tr bgcolor="{bg_01}">
<td>
{desc_ldapbasedn}
</td>
</tr>
<tr bgcolor="{bg_02}">
<td>
<input size="50" name="ldapbasedn" value="{ldapbasedn}">
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr bgcolor="{th_bg}">
<td colspan="2">
dirmaker
</td>
</tr>
<tr bgcolor="{th_bg}">
<td colspan="2">
ldapcluster
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</center>
<!-- END main -->
<!-- BEGIN menu_row -->
<tr bgcolor="{menu_row_color}">
<td>
<nobr><a href="{menu_link}">{menu_description}</a><nobr>
</td>
</tr>
<!-- END menu_row -->
<!-- BEGIN menu_row_bold -->
<tr bgcolor="{menu_row_color}">
<td>
<nobr><b><a href="{menu_link}">{menu_description}</a></b><nobr>
</td>
</tr>
<!-- END menu_row_bold -->
<!-- BEGIN activation_row -->
<tr bgcolor="{bg_01}">
<td>
<a href="{activation_link}">{lang_activate}</a>
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<!-- END activation_row -->

View File

@ -0,0 +1,112 @@
<!-- BEGIN main -->
<center>
<table border="0" cellspacing="1" cellpading="0" width="95%">
<tr>
<td width="10%" valign="top">
<table border="0" cellspacing="1" cellpading="0" width="100%">
{menu_rows}
<tr>
<td>
&nbsp;
</td>
</tr>
{activation_rows}
<tr bgcolor="{done_row_color}">
<td>
<a href="{done_link}">{lang_done}</a>
</td>
</tr>
</table>
</td>
<td width="90%" valign="top">
<table width="100%" cellspacing="1" cellpading="0" border="0">
<tr>
<td>
<form action="{form_action}" method="post">
<table width="100%" cellspacing="1" cellpading="0" border="0">
<tr bgcolor="{th_bg}">
<td align="center">
{lang_domain_name}
</td>
<td align="center">
{lang_remote_server}
</td>
<td align="center">
{lang_remote_port}
</td>
<td align="center">
{lang_delete}
</td>
</tr>
{smtproute_rows}
<tr bgcolor="{last_row_color}">
<td align="center">
<input type="text" size="30" name="domain_name">
</td>
<td align="center">
<input type="text" size="30" name="remote_server">
</td>
<td align="center">
<input type="text" size="4" value="25" name="remote_port">
</td>
<td align="center">
<input type="submit" name="add_smtp_route" value="{lang_add}">
<input type="hidden" name="bo_action" value="add_smtproute">
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>
<!-- END main -->
<!-- BEGIN menu_row -->
<tr bgcolor="{menu_row_color}">
<td>
<nobr><a href="{menu_link}">{menu_description}</a><nobr>
</td>
</tr>
<!-- END menu_row -->
<!-- BEGIN menu_row_bold -->
<tr bgcolor="{menu_row_color}">
<td>
<nobr><b><a href="{menu_link}">{menu_description}</a></b><nobr>
</td>
</tr>
<!-- END menu_row_bold -->
<!-- BEGIN activation_row -->
<tr bgcolor="{bg_01}">
<td>
<a href="{activation_link}">{lang_activate}</a>
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<!-- END activation_row -->
<!-- BEGIN smtproute_row -->
<tr bgcolor="{row_color}">
<td align="center">
{domain_name}
</td>
<td align="center">
{remote_server}
</td>
<td align="center">
{remote_port}
</td>
<td align="center">
<a href={delete_route_link}>{lang_delete}</a>
</td>
</tr>
<!-- END smtproute_row -->

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB