邮件服务器-邮件系统-邮件技术论坛(BBS)

标题: JDMail V3.10 别名管理简介 [打印本页]

作者: s0z0y    时间: 2010-3-30 08:43
标题: JDMail V3.10 别名管理简介
JDMail V3.10 别名管理简介JDMail V3.10有用户别名、域别名,另外还提供指令别名,通过指令别名,让客户可以开发自己的程序,对收到的邮件进行特殊处理。详细介绍如下。




别名就是别称,aliasJDMail有普通(一般)别名、域别名、指令别名的区别。


普通别名
特定域的特定的用户名可以指定为相同域或其它域特定用户的別名,这种别名被称为一般别名。
例如,abc.org 域中 support 是同域用户 foo 的一个别名定义,当发信给 support@abc.org foo@abc.org 将收到邮件。infopostmasterwebmaster 在很多场合被当做别名来使用。


域别名
一个特定域被指定为系统已存在域的别名,所有发给用户@别名域的邮件,都将发给用户@真实域。


命令别名
给特定域特定用户的邮件,到达的同时能执行命令,叫做命令别名。命令别名可以看做是"特别定做的域处理""特别定做的用户处理"


普通别名管理


管理域内用户的别名。


用户别名不需要在 [用户管理] [邮件列表管理] 登记。



别名可以使用通配符(?*)。


在实际应用中,可以充分利用别名功能的灵活性,用较少的实际帐户管理较多的域和邮箱。
域别名管理




例如,otherdomain.netsomedomain.com的域别名,所有发给foo@otherdomain.net的邮件,实际都发给foo@somedomain.com



别名可以使用通配符(*),如 *.somedomain.com
特定域收到的邮件,都转发到其它域的同名用户下,这是域别名的功能。


比如,abc.com xyz.net 的别名,所有发给foo@abc.com 的邮件,都转到了foo@xyz.net的邮箱。


域的别名不需要在 [域的管理]登记。


在以少数的实际用户运营多个域的环境下,请有效利用域别名这个功能。







给特定域的特定用户的邮件,到达的同时能执行各种的指令的,我们称命令别名。在JDMail系统,命令别名是 "域级命令别名""用户级命令别名""用户级投递管理"的总称。




域级命令别名


当邮件到达时,给一个特定的域执行任意命令。但是,它的域必须非本地域名。


当邮件到达时,JDMail先确定目标域是否存在,如果没找到,检查是否有针对该域的指令,然后运行指令。



用户级命令别名


命令别名,是自定义域处理的用户版本。是为了邮件到达时,给一本地域的特定用户名运行任意命令。但是,特定用户应该是“不存在的”。


检查SMTP会话的目标地址(RCPT TO是否在本地用户中存在,如果不是本地域用户,就搜索目标地址的命令别名,如果存在就执行已经定义的指令。



用户级投递管理


自定义用户处理,当邮件到达本地特定用户时,可以执行任意的指令。








命令别名指令格式:




指令 (空白) 参数(宏) (空白) ...... (换行)


"指令" jdmail的内部命令。可以是OS系统的内部命令或外部命令、批处理脚本(Windows),您可以指定任何其它支持标准输入输出的程序。 "参数(宏)" 可以有多个。此外,您可以重复执行命令行。


jdmail的宏


您可以在命令行指定您自己的宏。当您执行内部或者外部命令的时候,宏可以作为参数传递。


$(FROM) @@FROM
邮件的发件人地址(SMTP会话时的MAIL FROM: 的值)


$(RCPT) @@RCPT
邮件的收件人地址(SMTP会话时的RCPT TO: 的值)


$(FILE) @@FILE
邮件(文件)在文件系统上的绝对路径。


$(MSGID) @@MSGID
jdmail生成的邮件编号(ID)


$(MSGREF) @@MSGREF
邮件的SMTP参考值。


$(TMPFILE) @@TMPFILE
邮件的临时文件名。


$(USERAUTH) @@USERAUTH
SMTP认证时的用户ID


■指令的种类


指令 externalfilterredirectlredirectsmtprelaysmtpmailbox(只有在自定义用户处理的场合下有效) ,用法如下(大写也可以)


external
启动一个外部命令。详细请参阅 "如何运行一个外部程序"


filter
启动一个外部命令。跟external的差异:external 只有一个返回值,filter命令和 "过滤器管理" 一样,同样可以设置返回值。


redirect
收到的邮件重新定向到内部域或者外部域。这个命令需要有参数。


lredirect
收到的邮件重新定向到内部域或者外部域。用法和redirect是一样的,不同之处在于redirect重定向时使用最初的连接时的发件人地址(MAIL FROMlredirect重定向时替换为新的发件人地址。


smtprelay
收到的邮件直接转发到SMTP中继服务器。中继服务器如果有多个,可以用分号分隔。


smtprelay   192.168.0.10
到达的邮件转发到中继服务器IP 192.168.0.10


smtp
进入正常的SMTP处理。不可以使用参数。


■外部程序的运行方法


如果您使用命令external filter 启动一个外部程序,命令行格式如下:


external(filter) (空白) 优先级 (空白) 超时秒数 (空白) 带路径的外部程序 (空白) 参数(宏) ...... (改行)


* 优先级
处理的优先级是 0(通常)-1(非优先)+1(优先)


* 超时秒数
jdmail通过指定的秒数等待来自外部程序的返回值。0 代表外部程序启动后,不等待,立刻执行下一个处理。如果外部程序使用了宏 0FILE),需要指定充分的超时秒数。否则,外部程序在邮件文件未处理完的情况下,可能删除邮件文件。


* 带路径的外部程序
指定被调用的外部程序。


* 参数(宏)
外部程序运行时所需的参数,如果有多个参数,请用空格分隔。以下是perl程序c:/temp/task.pl处理邮件文件的示例。


external   0   30   perl   c:/temp/task.pl   $(FILE)


以下external命令实现 Windows XP/Vista/2003 OS的重新启动(shutdown.exe OS的外部命令)


external   +1   10   shutdown   -r   -f   -t   1





产品手册:http://www.mailer.cn/Download/JDmail_V3.10_Manual.pdf
产品网站:www.mailer.cn
公司网站:www.chundi.com

[ 本帖最后由 s0z0y 于 2010-3-30 08:44 编辑 ]




欢迎光临 邮件服务器-邮件系统-邮件技术论坛(BBS) (http://bbs.5dmail.net/) Powered by Discuz! X3.2