The VPOP3.INI file is a file in the VPOP3 installation directory. It primarily contains configuration details so that VPOP3 knows how to contact the PostgreSQL database server where the majority of the VPOP3 settings are stored. Obviously VPOP3 can't use settings in the database to tell it how to connect to the database.
The VPOP3.INI file also contains some other settings which may be needed in the early stages of program start, or which need to be inaccessible from the database.
The INI file uses the standard INI file format.
(We know that Microsoft recommend using the registry for settings rather than INI files, but we have found it easier for people to maintain INI files than the Windows registry).
VPOP3 needs to be restarted after any settings in this file are changed.
The database configuration is in a INI file section called 'database'. An example is below
[Database]
Database=vpop3
User=vpop3
Password=vpop3pass
Hostname=localhost
Hostaddr=
Port=5433
Timeout=0
Options=
SSLMode=prefer
Service=
MaxConnections=30
AbsMaxConnections=50
•Database is the PostgreSQL database name for the VPOP3 settings. Usually this is 'vpop3'.
•User is the PostgreSQL login name to access the above Database. Usually this is 'vpop3'.
•Password is the password for the above User. Usually this is 'vpop3pass'
•Hostname is the host name used to access the database server. This has to be a DNS name. Usually this is localhost because PostgreSQL is installed on the same PC as VPOP3 (but this does not always need to be the case)
•Hostaddr is the host IP address used to access the database server. This has to be an IPv4 or IPv6 address. One of Hostaddr or Hostname needs to be set. Usually this is blank so the hostname is used, but you could use 127.0.0.1 or ::1 here to refer to the same PC as VPOP3 if you wish.
•Port is the TCP port used to connect to the PostgreSQL service. The VPOP3 installer finds the first free port after 5432 (the default PostgreSQL port) to use. Usually this is 5433.
•Timeout is the connection timeout (in seconds) for connecting to PostgreSQL. Usually this is 0 meaning no timeout.
•Options allows you to set command-line options to send to the PostgreSQL server. Usually this is blank.
•SSLMode indicates whether secure SSL is to be used to connect to the PostgreSQL server. The options are disable, allow, prefer, require, verify-ca and verify-full. If it is blank, then prefer is used. See the PostgreSQL documentation for more details.
•Service indicates the PostgreSQL service to use. Usually this is left blank. Other options are not supported by us, but if you must use them, you option's here, but you're on your own.
•Max Connections indicates the maximum number of normal connections to the PostgreSQL server that can be in the connection pool.
•AbsMaxConnections indicates the absolute maximum number of connections if VPOP3 has to make extra connections due to pool exhaustion.
There are two types of extra options: those which have to apply early in the VPOP3 load cycle, and those which need to be inaccessible from within VPOP3.
ShowSplashScreen=1
LogWriterWaitThreshold=1000
ShowSplashScreen indicates whether the VPOP3 splashscreen should be shown when VPOP3 starts as a normal application (when launching VPOP3.EXE directly, rather than as a service). It can be '0' or '1'. We recommend it is set to '1'
LogWriterWaitThreshold is a limit used to slow VPOP3 down if the disk is behaving too slowly to accept log entries. VPOP3 will wait 1 ms for each <LogWriterWaitThreshold> lines waiting to be written to the log files. If this is over 10ms, then VPOP3 will purge the log file entry queues and wait until that purge has finished. The default is 1000
These options can be used if VPOP3 is installed on your servers for use by someone else. Because VPOP3 administrators cannot access the VPOP3.INI file through the VPOP3 settings, it allows you to configure some things that cannot be changed by the VPOP3 administrators. Obviously if the VPOP3 administrators have access to the server disk, they can edit this file, so the usefulness of these settings is minimal in that case.
UserRestriction=27
LockBindings=192.168.3.2
HideLicence=1
LockDBQuery=1
SafeAttachExtract=1
HideSSLCertificate=1
UserRestriction lets you set the licenced user size to lower than the actual licence size. For instance, you may be running a hosted copy of VPOP3 for someone else, but they just want 20 users. A VPOP3 licence is not available for 20 users, so you could buy a 25 user licence, and set UserRestriction=20. VPOP3 will then restrict itself to 20 users. If you set this higher than the real licence size, then this setting is ignored.
LockBindings lets you restrict service binding editing by the user. If this is set to 0 (or not present) then the service bindings can be edited as normal. If it is set to '1' then bindings cannot be edited at all. If it is set to an IP address (in v6.20 or later) then bindings can be edited, but only the specified IP address is available, instead of all IP addresses on this computer.
HideLicence lets you specify that the VPOP3 licence details cannot be viewed or edited on the About page.
LockDBQuery lets you specify that the Database -> Query page is inaccessible. This prevents an administrator from messing with things at a low level (eg to alter bindings or licence details by accessing the settings database table)
SafeAttachExtract lets you specify that attachment extraction can only be performed to subdirectories of the main VPOP3 installation directory, regardless of the VPOP3 settings.
HideSSLCertificate lets you restrict access to the SSL certificate configured into VPOP3 through the settings. For instance, if it is a shared certificate where you don't want someone else to be access the private key. (In 7.1 and later)