Version 1.23.5

Released: 2005-03-17

Ability to send to multiple email address via "resend welcome email" new

When resending a welcome email, this feature will allow multiple email addresses to be entered. Also, the default email entered in the field will include the resellers email address by default, in addition to the normal email of the user. This will allow both parties (or more if entered) to get the resent welcome email.

more pre post custom scripts new


environmental variables:

alias=yes or non-existent (checkbox)

environmental variables:


option to disable spamassassin (SKINS) new

Feature will simply delete /home/username/.spamassassin/user_prefs upon the click of a button.



|*if SA_ENABLED="yes"|
SpamAssassin is currently enabled.
<form action="/CMD_SPAMASSASSIN" method="POST">
<input type=hidden name=action value="disable">
<input type=hidden name=domain value="|domain|">
<input type=submit value="Disable"></form>
SpamAssassin is not currently enabled.<br>Click "Save" (below) to enable it.

for enhanced skin languages:


LANG_SA_ENABLED=SpamAssassin is currently enabled.
LANG_SA_DISABLED=SpamAssassin is not currently enabled.<br>Click "Save" (below) to enable it.

Ability to add your own package items (SKINS) new

Several people have modules/products that they might not want to give to all of their clients. This feature allows them to add new items to their packages and those items will appear automagically throughout DA in all the appropriate palaces (packages, create custom user/reseller, modify user/reseller, show user/reseller stats)

  1. you'd create a file, /usr/local/directadmin/data/admin/custom_package_items.conf

  2. in it, you'd add the alphanumeric name of the item, followed by some info (after the = character)

  3. magically, everything works 😉

    • it will display your items in the packages screen, the customize user creation screen, and the user stats page..etc..

    • it will be stored in the user.conf files, like all the other items (such as php, ssl, cgi etc.)

    • the item names will also be passed to the custom scripts ( ..etc) if you want to do anything with them

    • the item will be returned in the API queries for the user info.

example, in the custom_package_items.conf file, say you want a checkbox for something called "feature", and a text area for something called "myval"... lets make a 3rd type=listbox "mylist"

feature=type=checkbox&string=My Feature&desc=short description&checked=yes
myval=type=text&string=My Feature's Value&desc=short description
mylist=type=listbox&item1txt=Text one&item1val=oneval&item2txt=Text Two!&item2val=valuefor2&string=Select from List&desc=short description&default=valuefor2


type: checkbox
string: Text representation of the item (optional, else name used)
desc: a short sentence describing the feature (optional)
checked: yes/no default value for new packages. (optional)
type: text
string, desc: see checkbox
default: a default value for new packages (optional).
type: listbox
string, desc: see checkbox
item1txt: string representation for the option
item1val: value of the option
(item2txt, item2val, etc..)
default: a default value for the option.  Must be one of item?val. (optional)


add the following to each of the following files (more if needed):

<tr><td class=list>|CUSTOM_ITEM_1_STR|</td><td class=list align=center>|CUSTOM_ITEM_1|</td><td class=list>|CUSTOM_ITEM_1_DESC|</td></tr>
<tr><td class=list>|CUSTOM_ITEM_2_STR|</td><td class=list align=center>|CUSTOM_ITEM_2|</td><td class=list>|CUSTOM_ITEM_2_DESC|</td></tr>
<tr><td class=list>|CUSTOM_ITEM_3_STR|</td><td class=list align=center>|CUSTOM_ITEM_3|</td><td class=list>|CUSTOM_ITEM_3_DESC|</td></tr>
<tr><td class=list>|CUSTOM_ITEM_4_STR|</td><td class=list align=center>|CUSTOM_ITEM_4|</td><td class=list>|CUSTOM_ITEM_4_DESC|</td></tr>

Create squirrelmail preference files with new pop accounts new

This feature creates /var/www/html/squirrelmail/data/ and fills it with the contents from default_pref and inserts the email address and the reply-to address from the correct domain.

This should fix email being sent from the hostname, which removes the requirement to set your email address after loggin into squirrelmail.

username.pref is also created when a new domain is added to a system user account. If the username.pref file already exists for the system account (because the email might be already there for another domain.. it's shared), then the file will not be overwritten.

Files larger than 2 gig are not found by DA fixed

Files read in by the filemanager and in the user_backups directory do not show up if they are larger than 2 gig in size.

Problem is related to the stat() function and the "struct stat" structure that uses a 32-bit number for the filesizes. A 2 gig file will require a 64-bit number, thus the stat() function fails and DA skips the file.

Currently testing with:


at compile time.

TODO: update the makefiles for each OS to use that option. Tested and working on RH 9.

mysql install on debian fixed

change the mysql installer to use the same setup that we have on freebsd instead of using apt-get. It uses the precompiled binaries from for linux.

Note to any current debian users:

The default path to mysql.sock has changed in DA. If you currently have mysql up and running on a beta machine, you will need to add:


to the /usr/local/directadmin/conf/mysql.conf file so you can continue to use mysql. The new mysql install setup only affects new machines, (or old ones if you were not able to get mysql running on your beta machine)

Of course, if your current install uses a different location for the mysqld.sock file, use your own instead.

change the sending user for welcome emails fixed

change to send from diradmin user..

Add X headers with the real username for spam tracking reasons (if resellers start sending spam via welcome messages).

delete apache logs with domain removal fixed

remove the apache logs when a domain is removed.

Last Updated: