Sponsored Content
Top Forums UNIX for Advanced & Expert Users How to allow roaming client to send mails via its mail server Post 302281487 by satimis on Thursday 29th of January 2009 02:41:32 AM
Old 01-29-2009
Hi sumitpandya,


Thanks for your advice.


I have 2 routing mail servers on the Xen box.


Routing Mail Server-1A - without Perdition packages installed. Roaming mail clients can't login to send/receive mails.


Routing Mail Server-1B - with Perdition packages installed. Roaming mail clients can login to receive mails but unable to send mails.


Both of them have similar packages installed, running without problem. Incoming mails can be routed to their own servers. Only ONE public IP is used.


Quote:
Find SMTP Authentication and/or ..
Whether following documents are relevant for my application;


PostfixCompleteVirtualMailSystemHowto
https://help.ubuntu.com/community/Po...ailSystemHowto


Postfix with SMTP-AUTH and TLS
Howto
HOW TO: Postfix with SMTP-AUTH and TLS - Ubuntu Forums


Quote:
SSL related extensions into respective document. That is unversal way for Roaming SMTP.
Could you please explain in more detail. Google search on "SSL related extensions into respective document" can't find relevant document. TIA


B.R.
satimis
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

can not send mail from unix server to company/yahoo mail

hi, Gurus, I need some help with sending mail out from my UNIX server: It is running Solaris 2.6 and the sendmail version is 8.8. Output of :/usr/lib/sendmail -d0.1 -bt < /dev/null Version 8.8.8+Sun Compiled with: LOG MATCHGECOS MIME7TO8 MIME8TO7 NAMED_BIND NDBM NETINET ... (5 Replies)
Discussion started by: b5fnpct
5 Replies

2. Solaris

how to send mails to users on exchange server from sendmail/solaris(mailx)

Hi, Can anyone pls. tell me how to access Active directory from solaris. I am looking at solution by which I can send mail notification from the logs generated by scripts, to the users on Exchange server. I am trying for a Perl-LDAP module , but don't realy know how to go for it (5 Replies)
Discussion started by: ganeshh
5 Replies

3. UNIX for Dummies Questions & Answers

how to send mail from server to client's email-id

i want to send email from server to the client's email-id. server is solaris. please help me out.i want to send mail to the email-id not to the var/spool/mail. (8 Replies)
Discussion started by: parmeet
8 Replies

4. Solaris

Configuring send mail client in solaris 10

Dear all, We have SMTP server in our organization & i want to send e-mails from solaris machine using sendmail ... in which file i need to put the smtp server ip, username & passwd.. kindly help ....... (4 Replies)
Discussion started by: vishwanathhcl
4 Replies

5. UNIX for Dummies Questions & Answers

Can't configure sendmail to send mails to external SMTP Server

Hi all,I know, that this is very common issue, but I can't find where is the problem... I have Solaris 10 installed.I want to send mail to external SMTP server, like:echo "letter body"| mailx -s "subject" test@test.comBut I donno what kind of changes I have to do in /etc/hosts and sendmail.cf or... (5 Replies)
Discussion started by: nypreH
5 Replies

6. UNIX for Advanced & Expert Users

need to configure mail setting to send mail to outlook mail server

i have sun machines having solaris 9 & 10 OS . Now i need to send mail from the machines to my outlook account . I have the ip adress of OUTLOOK mail server. Now what are the setting i need to do in solaris machines so that i can use mailx or sendmail. actually i am trying to automate the high... (2 Replies)
Discussion started by: amitranjansahu
2 Replies

7. UNIX for Dummies Questions & Answers

Configuring mail to send email from server to client

Hi, I want to send an email from server to my gmail account for all critical messages reported in the server. Kindly help me in configuring the same. Regards Rochit (1 Reply)
Discussion started by: rochitsharma
1 Replies

8. UNIX for Advanced & Expert Users

How can I send a mail from my outlook or other mail accounts to UNIX server?

Hi all, I want to send a mail for my business needs from outlook account to an unix server (HP-UX) but I don't send any mail. While I can send from the unix server to my outlook account, I can't send from outlook to unix. How can I achieve this ? How can I send a mail from my outlook or other... (2 Replies)
Discussion started by: igelegin
2 Replies

9. Shell Programming and Scripting

How to send mail using PHP mail function On apache server.?

Hello, I am using centos-6.2 I have apache server,php5 on my system and I want to send mail using sendmail on my system. when I try to send mail from shell that time mail is succesfully sent to respective address() but when I try to send it through webbrowser I am not able to send it.... (1 Reply)
Discussion started by: Kiran ursal
1 Replies

10. UNIX for Advanced & Expert Users

Client was not authenticated to send anonymous mail during MAIL FROM (in reply to MAIL FROM comm

I am having trouble getting mail to work on a red hat server. At first I was getting this message. Diagnostic-Code: X-Postfix; delivery temporarily suspended: connect to :25: Connection refused Then added the port to my firewall. Then I temporarily turned off selinux. I then copied this file... (1 Reply)
Discussion started by: cokedude
1 Replies
PERDITIONDB(5)							File Formats Manual						    PERDITIONDB(5)

NAME
perditiondb - perdition modular popmap support DESCRIPTION
Perdition supports a dynamic library mechanism to access arbitrary databases that resolve a user to a host and port. DATABASE ACCESS LIBRARIES
If you are using the -s|--default server option then creating an empty database will cause all users to use the default server. Alterna- tively, setting no popmap by passing an empty string to the -m|--map_name option will cause no map lookups to take place and only the default server to be used. E.g.: perdition -m "" In this case, if no default server is set then perdition will still run but users will not be able to connect to a real server. GDBM This is the default library used by perdition. The gdbm library reads server and port information from a GDBM database. The database is opened each time perdition looks up a server and port pair. The information for each lookup key is stored in a flat file, popmap with the format: <key>:[<username><domain_delimiter>]<host>[:<port>] Where: host: hostname or ip address port: port name or number E.g. horms:foo.bar:110 jain:jane@foo.bar A domain_delimiter of "@" is used in the example above. For more information on keys and the domain delimiter, see perdition(8). If the -n|--no_lookup option is in effect, then ip addresses and port names should be used as host and port names will not be resolved. To build the flat file into a binary format the makegdbm utility, which is provided as part of perdition should be used. makegdbm popmap.gdbm.db < popmap A makefile is provided and you can simply run make to rebuild the popmap. This is installed into /etc/perdition/ in the RPM and Debian dis- tributions. An alternate location for the popmap.gdbm.db can be specified using the -m|--map_library_opt command line option or configuration file option. E.g. perdition -m /etc/my_popmap.gdbm.db This map library is the default. It may also be used explicitly, used by specifying the full path to the library using the -M|--map_library command line option or configuration file option. E.g. perdition -M /usr/lib/libperditiondb_gdbm.so.0 Where /usr/lib is the directory in which the perdition libraries were installed. Berkeley DB This is analogous to the GDBM library, except that a popmap.bdb.db should be created using makebdb. This library may be used by specifying the full path to the library using the -M|--map_library command line option or configuration file option. E.g. perdition -M /usr/lib/libperditiondb_bdb.so.0 Where /usr/lib is the directory in which the perdition libraries were installed. YP/NIS The NIS library reads a YP/NIS map, the key is the userid, the value is the servername. The default map name is 'user_mail_server', and can be changed by specifying the map name with the -m flag. To use this library, you need to specify: perdition -M /usr/lib/libperditiondb_nis.so.0 Where /usr/lib is the directory in which the perdition libraries were installed. You will need to customise your yp server's Makefile to actually get a new map on the server. This map library is intended for sites that already have a significant infrastructure based around YP/NIS. POSIX REGULAR EXPRESSIONS This library allows users to be looked matched against a list of regular expressions. This library can be used by specifying the full path to the library using the -M|--map_library command line option or configuration file option. E.g. perdition -M /usr/lib/libperditiondb_posix_regex.so.0 Where /usr/lib is the directory in which the perdition libraries were installed. The regular expression is kept in a flat file, by default /etc/perdition/popmap.re . A sample map file is shipped with the source and can be found in etc/perdition/popmap.re, this is installed into /etc/perdition/popmap.re in the RPM and Debian distributions. The format for the flat file is: <regular expression>: [<username><domain_delimiter>]<server>[:<port>] A single colon may follow a regular_expression Some amount of white space must follow this colon or the regular_expression if the colon is omitted. Blank lines are ignored, as is anything including and after a # (hash) on a line. If a precedes a new line then the lines will be concatenated. If a precedes any other character, including a # (hash) it will be treated as a literal. Anything inside single quotes (') will be treated as a literal. Anything other than a (') inside double quotes (") will be treated as a literal. Whitespace in a regu- lar_expression must be escaped or quoted. Whitespace in a substitution need not be escaped or quoted. Information on setting the domain_delimiter is found in perdition(8), "@" is used in this example. E.g. ^[a-k]: localhost ^[^a-k]: localhost:110 ^user: user2@localhost (.*)@(.*): $1_$2@localhost The first matching regular expression will be used. The regular expressions are extended posix regular expressions. The last example illus- trates the ability to expand backreferances. Backreferences may be used by inserting $n in the substitution where n is in the range 1..9. The backreference substitution code in this library is courtesy of Wim Bonis and in turn the PHP3 project. E.g. For the regex (.*)@(.*): $1_$2@localhost user@x.y.z.de would return user_x.y.z.de@localhost Note that there is no implicit ^ or $ around the regular expressions. The popmap entry "flim: localhost" will match "flim", "flimstix", "itsflim" and "totallyflimless". To only match "flim" you need the popmap entry "^flim$: localhost". The map file is read once on startup and cached. This is to increase performance as the regular expressions must be compiled internally before they can be used. The map file can be re read by sending perdition a SIGHUP. An alternate location for the popmap.re can be speci- fied using the -m|--map_library_opt command line option or configuration file option. E.g. perdition -m /etc/perdition/my_popmap.re MYSQL This map library can be used by specifying the full path to the library using the -M|--map_library command line option or configuration file option. E.g. perdition -M /usr/lib/libperditiondb_mysql.so.0 Where /usr/lib is the directory in which the perdition libraries were installed. The library will connect to a MySQL database and do a query on a table expected to have the columns: +------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+-------+ | user | varchar(128) | | PRI | | | | servername | varchar(255) | | | | | | port | varchar(8) | YES | | NULL | | +------------+--------------+------+-----+---------+-------+ The fields may be in a different order and other, non-perdition fields may also be present in this table. The names of the columns can be other than their above defaults by using the library option string described below. All fields must be literal character strings. The allowed length of the strings is not important, however, it is recommended that the length of the user field be kept under 128 to avoid exceeding perdition's internal query length limit, PERDITIONDB_MYSQL_QUERY_LENGTH which is 256 by default. This may be altered by recompil- ing perdition. The user field must also be a unique index as an exact match will be made of this field from the username supplied by the user. The servername is of the form. [<username><domain_delimiter>]<host>[:<port>] Where: host: hostname or ip address port: port name or number If the -n|--no_lookup option is in effect then ip addresses and port numbers should be used as host and port names will not be resolved. The port is the TCP port to use when connecting to the server. This field can be specified if the back-end server answers on a non-standard port (standard ports being 110 for POP3 and 143 for IMAP). Only specify this field in the database if you intend to use POP3 or IMAP exclu- sively as it will try to use this port no matter what protocol is being used. If POP3 and IMAP are both being used on non-standard back-end server ports, those ports can be specified with the -p argument when you invoke the perdition executable. The database is accessed each time perdition needs to find the host and port for a user. The default database values are as follows: database host: localhost database port: (MySQL Client Default: usually 3306) database name: dbPerdition database table: tblPerdition database user: perdition database password: perdition user column: user server column: servername port column: port A script, perditiondb_mysql_makedb, is provided to initialise such a database. Alternate values can be set using the -m|--map_library_opt command line option or configuration file option with an argument of the following form. (N.B.: this example has been split over multiple lines for ease of reading) <dbhost>[:<dbport>[:<dbname>[:<dbtable>[:<dbuser> [:<dbpwd>[:<dbservercol>[:<dbusercol>[:<dbportcol>]]]]]]]] E.g. perdition -m "some.host.com:3306:aDb:bTable:cUser:" "dPassword:eSrvCol:fUserCol:gPortCol" Arguments may be omitted from the end of the option string with no consequence other than that the default value for any omitted argument will be used. Arguments may not be omitted if any argument to its right is defined. Someone seeking to set only the server and password to something other than the default might attempt the following: perdition -m some.host.com:::::OddPassword This will not work. It will set the server and password to the values shown, but all arguments in between will be set as NULL rather than the default. In the author's opinion it is always best to specify all of the arguments to avoid confusion. Database servers may be grouped together for higher performance or high availability by using ODBC and accessing them using the ODBC mod- ule. Multiple MySQL Servers It is possible to specify multiple MySQL servers by specifying them, comma separated (without any space), in the dbhost column. In this case all MySQL servers need to have an identical configuration, because all other options are shared. If the first server is not reach- able, perdition will fall back to the second etc. POSTGRESQL This is a port of the MySQL library to PostgreSQL, The library can be used by specifying the full path to the library using the -M|--map_library command line option or configuration file option. E.g. perdition -M /usr/lib/libperditiondb_postgresql.so.0 Where /usr/lib is the directory in which the perdition libraries were installed. A script, perditiondb_postgresql_makedb is provided to initialise the database. For more information please see the MySQL documentation above. ODBC This is a port of the MySQL library to ODBC. It may be used to access databases that do not have a perditiondb module. It may also be used to group database servers into clusters. The library can be used by specifying the full path to the library using the -M|--map_library command line option or configuration file option. E.g. perdition -M /usr/lib/libperditiondb_odbc.so.0 Where /usr/lib is the directory in which the perdition libraries were installed. A script, perditiondb_odbc_makedb is provided to seed the. For more information please see the MySQL documentation above. The database options passed using -m are the same as for MySQL except that the database name (dbname) is the Data Source Name (DSN). <dbhost>[:<dbport>[:<DSN>[:<dbtable>[:<dbuser> [:<dbpwd>[:<dbsrvcol>[:<dbusercol>[:<dbportcol>]]]]]]]] E.g. perdition -m "some.host.com:3306:aDb:bTable:cUser:" "dPassword:eSrvCol:fUserCol:gPortCol" As per the notes in the MySQL documentation above, please avoid omitting values. LDAP This library allows access to LDAP based popmaps. This library can be used by specifying the full path to the library using the -M|--map_library command line option or configuration file option. E.g. perdition -M /usr/lib/libperditiondb_ldap.so.0 Where /usr/lib is the directory in which the perdition libraries were installed. Options are parsed to this module using the -m|--map_library_opt command line option or configuration file option. It has the form: [ldap_version:][ldap_url] The ldap_version is the version of the ldap procotol used. It should be a numeric value. At the time of writing, OpenLdap supports 2 or 3, and defaults to 2. This may vary between different ldap implementations. If you inspect the local ldap.h file, the values of LDAP_VER- SION_MIN, LDAP_VERSION_MAX and LDAP_VERSION should reflect the minimum, maximum and default ldap protocol versions respectively. The ldap_url is the query made to the ldap server. The default URL is as follows. Note that this has been split onto multiple lines for ease of reading. ldap://localhost/ou=mailbox,dc=nodomain? username,mailhost,port?one?(uid=%s) Perdition will replace any instance of %s with the key being used for the lookup. Optionally, there may be an integer between the % and the s, in which case the key will be white-space padded to this width, with the key right justified. The attribute names (username, mailhost and port) may be changed. But the first attribute will be used as the username, the second attribute as the host and the third atribute as the port. Any subsequent attributes will be ignored. Trailing attributes may also be omit- ted. So if there are only two attributes the port will not be read from the database. A script, perditiondb_ldap_makedb is provided to initialise LDAP. x-bindpw bindname Perdition can be configured to use use an alternate bind name, and the non-standard "x-bindpw". In fact perdition can use any extensions that are supported by openldap. (N.B.: these examples have been split over multiple lines for ease or reading) ldap://ldap.mydomain.com/o=domain.com? uid,mailhost,port?sub?(uid=%s)?!bindname=uid=perdition%2co=domain.com ldap://ldap.mydomain.com/o=domain.com?uid,mailhost,port? sub?(uid=%s)?!BINDNAME=uid=perdition%2co=domain.com,X-BINDPW=secret The first example does the usual LDAP lookup, but tries to bind to the server with "uid=perdition,o=domain.com" rather than the usual anonymous binding. Note: The commas inside the bind string itself must be URL encoded, thus the %2c. The second example is the same as the first, but in addition to specifying a bind string it also uses the non-standard "x-bindpw" extension to specify a password, in this case "secret". The "!" character is used to ensure Perdition supports the "bindname" extension. If it didn't, the LDAP connection would be aborted. Right now it isn't really needed, but it may become useful as other extensions appear. For full details of this, take a look at RFC2255. Multiple LDAP Servers It is possible to specify multiple LDAP servers by specifying them, space delimited, in the LDAP UDL. If this is the case an attempt will be made to open a connection to each host in order, the first host to which a connection is successfully made will be used. For example: (N.B.: this example has been split over multiple lines for ease or reading) ldap://host1 host2 host3/ou=mailbox,dc=nodomain? username,mailhost,port?one?(uid=%s) perdition.schema A schema has been defined for perdition and is supplied as part of perdition. To use this you should install it on the LDAP server in the LDAP daemon's schema directory and include it in slapd.conf, after other includes and before any database definitions. LIBRARY FUNCTIONS
The database is accessed using the dlopen(3) mechanism on a library. The library should define the symbol dbserver_get with the following semantics. int (*dbserver_get)(char *, char *, char **, size_t *) Find the server (value) given the user (key) pre: key_str: Key as a null terminated string options_str: Options string. The usage of this is implementation dependent. str_return: Value is returned here len_return: Length of value is returned here post: The str_key is looked up and the corresponding value is returned in str_return and len_return. return: 0 on success -1 on db access error This includes file, connection and other data access errors. It does not cover memory allocation problems. -2 if key cannot be found in map -3 on other error Note: The string returned in str_return should be in the following form. Setting the domain_delimiter is discussed in the perdition(8), "@" is used in this example. [<username><domain_delimiter>]<servername>[:<port>] E.g.: localhost:110 user@localhost:110 user@localhost localhost As the library is opened using the dlopen(3) mechanism the library may also export functions _init and _fini that will be executed when the library is opened and closed respectively. In addition if the symbols following symbols are defined then these are run when the library is opened and closed respectively. If defined these symbols should have the following semantics. int *(*dbserver_init)(char *) Initialise db as necessary pre: options_str: Options string. The usage of this is implementation dependent. post: db is initialised return: 0 on success -1 on db access error This includes file, connection and other data access errors. It does not cover memory allocation problems. -2 if key cannot be found in map -3 on other error int *(*dbserver_fini)(void) Shut down db as necessary pre: none post: db is shut down return: 0 on success -1 on db access error This includes file, connection and other data access errors. It does not cover memory allocation problems. -2 if key cannot be found in map -3 on other error In addition, if a SIGHUP is sent to a process then a signal handler will call dbserver_fini if it is defined and then dbserver_init if it is defined. Note: dbserver_init will be called if defined, even if dbserver_fini is not defined. In the case of the posix regular expressions library this will cause popmap.re to be re-parsed, hence effecting any changes that have been made to that file. For the GDBM library it will reopen the database and for the other libraries it will reinitialise its connection to the database, LDAP or NIS server. The shared library has access to the following global symbols exported by perdition. struct utsname *system_uname The uname information for the system as per uname(2) struct sockaddr_in *peername The sockaddr_in for address and port of the client end of the connection. struct sockaddr_in *sockname The sockaddr_in for the local address and port that the client connected to. Note: Under Solaris 7 and above, this is actually the sockaddr_in bound to, not the address and port the connection was accepted on. SEE ALSO
perdition(8), makegdbm(1), makebdb(1), make(1), perditiondb_mysql_makedb(8), perditiondb_postgresql_makedb(8) perditiondb_ldap_makedb(8), perditiondb_odbc_makedb(8) AUTHORS
Lead Horms <horms@vergenet.net> Perditiondb Library Authors Frederic Delchambre <dedel@freegates.be> (MySQL) Chris Stratford: <chriss@uk.uu.net> (LDAP and BDB) Nathan Neulinger <nneul@umr.edu> (NIS) Contributing Authors Daniel Roesen <droesen@entire-systems.com> Clinton Work <work@scripty.com> Youri <ya@linkline.be> Jeremy Nelson <jnelson@optusnet.com.au> Wim Bonis <bonis@solution-service.de> Arvid Requate <arvid@Team.OWL-Online.DE> Mikolaj J. Habryn <dichro@rcpt.to> Ronny Cook <ronny@asiaonline.net> Geoff Mitchell <g.mitchell@videonetworks.com> Willi Langenberger <wlang@wu-wien.ac.at> Matt Prigge <mprigge@pobox.com> Wolfgang Breyha <wolfgang.breyha@uta.at> 6th August 2003 PERDITIONDB(5)
All times are GMT -4. The time now is 01:31 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy