Constructing list member addresses

From Messaging Server Technical Reference Wiki
Jump to: navigation, search


Discussions of Defining membership of large lists and Indirect or alternate criteria for list membership have touched on potentially complex list membership criteria, as dynamic definitions may make use of complex LDAP search filters. However, in those discussions, the list addresses and member addresses themselves were not especially complex; the topic of complexity in address forms is the topic of this discussion. Via the MTA's support for manipulating the results of LDAP URL lookups, it is possible to define list membership in ways that "construct" e-mail addresses from non e-mail address attribute values, or that obtain e-mail addresses from "external" LDAP sources. And it is also possible to define "meta-lists" where the list "address" itself is "dynamic".

A list of SMS users, adding a domain name to an SMS ID value

For instance, let us assume a setting of


msconfig> set mta.ldap_url_result_mapping mgrpURLResultMapping

or in legacy configuration, in the MTA option file:


LDAP_URL_RESULT_MAPPING=mgrpURLResultMapping 

Also assume that the MTA has an SMS channel configured with the domain sms.domain.com associated with it for some SMSC (that is, SMS service provider), and that each user who has an account with that SMS service provider has an smsID attribute containing their SMS ID, and that an MTA mapping table has been configured:


X-SMSID-TO-ADDRESS 
 
  *|*       "$1"@sms.domain.com$Y 
 

Then a group sms-all@domain.com for the purpose of directing an SMS message to each such user could be defined via a group entry in LDAP that includes attributes:


mail: sms-all@domain.com 
mgrpDeliverTo: ldap:///o=usergroup?smsID?sub 
mgrpUrlResultMapping: X-SMSID-TO-ADDRESS 

Adding different domain names to SMS IDs

At a site where users have various different SMS service providers, suppose with the domain for each service provider being stored in a SMSdomain attribute, then separate sub-lists for the different SMS service providers could be set up, with then a combined list for all the SMS users. Assuming also the following mapping table:


X-SMSID-DOMAIN-TO-ADDRESS 
 
  *(SMSdomain=*)|*       "$2"@$1$Y 
 

as well as for each SMS service provider a group definition such as:


mail: sms1@domain.com 
memberURL: ldap:///o=usergroup?smsID?sub?(SMSdomain=sms1-domain) 
mgrpUrlResultMapping: X-SMSID-DOMAIN-TO-ADDRESS 

Then a list of all SMS users could be defined via:


mail: sms-all@domain.com 
mgrpErrorsTo: sms-errors@domain.com 
memberURL: mailto:sms1@domain.com 
memberURL: mailto:sms2@domain.com 
... 

See also: