How are you doing the other domains?  The original mailsite proc only
allowed the email field to be a user in the group's domain.
Here is an updated proc that has support for aliases, the email field,
and allows the user to receive email while they are expired, but not
read their email.
CREATE PROCEDURE VerifyMailUser @username varchar(32), @domain
varchar(32), @esid integer AS
CREATE TABLE #AccountIDs (AccountID INT)
INSERT INTO #AccountIDs
SELECT AccountID FROM SubAccounts sa WHERE Login = @username
UNION
SELECT AccountID FROM SubAccounts WHERE Email = @username
UNION
SELECT AccountID FROM SubAccounts WHERE Shell = @username
UNION
SELECT AccountID FROM SubAccounts WHERE Email = @username + '@' +
@domain
DELETE ai
FROM #AccountIDs ai, SubAccounts sa, MasterAccounts ma
	WHERE ai.AccountID = sa.AccountID
	AND sa.CustomerID = ma.CustomeriD
	AND (sa.Active <> 1 OR ma.Active <> 1)
IF (SELECT COUNT(AccountID) FROM #AccountIDs) = 0
INSERT INTO #AccountIDs
SELECT AccountID FROM Aliases WHERE Alias = @username + '@' + @domain
Select Login, Shell, Email,@domain AS MailDomain,
CASE WHEN (ma.OverLimit > 0 AND ma.OverLimit > ma.Balance) OR
DateAdd(Day, (ma.Extension+ma.OverDue+1), maExpireDate) < GetDate()
THEN RIGHT(CONVERT(VARCHAR(10),RAND()),4) +
RIGHT(CONVERT(VARCHAR(10),RAND()),4)
ELSE sa.Password END AS Password, HomeDir
	From MasterAccounts ma, SubAccounts sa, Groups g, AccountTypes at1
	Where ma.CustomerID = sa.CustomerID
		AND sa.AccountID IN (SELECT AccountID FROM #AccountIDs)
		AND ma.GroupID = g.GroupID
		AND g.DomainID IN (SELECT d.DomainID FROM Domains d WHERE d.MailDomain
= @domain)
		AND at1.AccountType = sa.AccountType
		AND at1.ExternalSystemID = @esid
DROP TABLE #AccountIDs
GO
--Dale E. Reed Jr. Emerald and RadiusNT__________________________________________IEA Software, Inc. www.iea-software.com
For more information about this list (including removal) go to:http://www.iea-software.com/support/maillists/liststart