|
|
This document is available in: English Castellano ChineseGB Deutsch Francais Nederlands Turkce |
by Guido Socher (homepage) 关于作者: Guido 非常喜欢 UUCP E-mail,因为这是一个和运行 Linux 的计算机完美集成的解决方案。 目录: |
uucpssh.org: Linux 爱好者的 UUCP e-mail摘要:
在 Windows 的世界里,使用 POP3 或 IMAP 接收邮件、直接使用 SMTP 发送邮件。这种两者相分离的设置会导致各种各样的麻烦,尤其是在同时使用不同 ISP 的时候。
|
trusted_users = uucp primary_hostname = your.own.mail.domain local_domains = your.own.mail.domain在 transport 字段加入:
# Transport for uucp uucp: driver = pipe user = nobody command = "/usr/bin/uux -r - ${host}!rmail ${pipe_addresses}" return_fail_output = true在 router 字段的开始 (!) 部分加入:
# Router for uucp (which domains are uucp domains): # This must come before lookuphost! uucphost: transport = uucp driver = domainlist route_list = * uucpssh byname使用 exim -bV 命令测试设置,之后重启 exim。 (/etc/init.d/exit restart)
trusted_users = uucp primary_hostname = your.own.mail.domain domainlist local_domains = your.own.mail.domain domainlist relay_to_domains = hostlist relay_from_hosts = 127.0.0.1在 transport 字段加入
# Transport for uucp uucp: driver = pipe user = uucp command = "/usr/bin/uux -r - ${host}!rmail ${pipe_addresses}" path = /usr/local/bin:/usr/bin:/bin return_fail_output在 router 字段的开头加入:
# Router for uucp (which domains are uucp domains): # This must come at the beginning of the router section uucphost: transport = uucp driver = manualroute domains = ! +local_domains route_list = * uucpssh byname使用命令 exim -bV 测试设置,然后重新启动 exim (/etc/init.d/exit restart)
在 sendmail 的 cf 目录 (可能是 /usr/lib/sendmail-cf/cf) 新建一个叫做 sendmail-uucp.mc 的文件:
#divert(-1) # `This is config sends outgoing mail via uucp # # to generate a sendmail.cf out of this .mc file # use the sendmail sources # and run m4 thisfile.mc > sendmail.cf.' divert(0) include(`../m4/cf.m4') VERSIONID(`UUCP, without DNS') undefine(`BITNET_RELAY') undefine(`DECNET_RELAY') undefine(`UUCP_RELAY') OSTYPE(`linux') MASQUERADE_AS(your.own.mail.domain) MASQUERADE_DOMAIN(localdomain) MASQUERADE_DOMAIN(localhost) # ` needed if you use an internal domain that does not exist: ' FEATURE(`masquerade_envelope') FEATURE(always_add_domain) # ` read allowed domains from cw file: ' FEATURE(use_cw_file) FEATURE(local_procmail) # `important for uucp:' FEATURE(accept_unresolvable_domains)dnl # `the /etc/passwd entry: mail:*:8:12:mail:/var/spool/mail:' define(`confDEF_USER_ID',``8:12'') define(`confSAFE_QUEUE',`True') define(`confDELIVERY_MODE',`background')dnl # 'replace mfic by the UUCP system name of your ISP:' define(`SMART_HOST',uucp-uudom:uucpssh)dnl define(`confSERVICE_SWITCH_FILE',/etc/service.switch)dnl define(`confHOSTS_FILE',/etc/hosts)dnl define(`UUCP_MAILER_MAX',1024000)dnl MAILER(procmail)dnl MAILER(local)dnl MAILER(smtp)dnl MAILER(uucp)dnl使用如下命令编译该文件:
m4 sendmail-uucp.mc > sendmail.cf把这个 sendmail.cf 文件拷贝到 /etc,重新启动 sendmail:
/etc/init.d/sendmail restart
hosts files aliases files
relayhost=uucpssh default_transport=uucp并且在 /etc/postfix/master.cf 中应该加入如下设置:
uucp unix - n n - - pipe flags=F user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
要配置 UUCP,在目录 /etc/uucp/ 中至少要有如下文件:
system uucpssh myname mailtux time any address main.uucpssh.org port SSH protocol t remote-send / remote-receive ~ chat ""编辑 /etc/uucp/port,在文件尾部加入:
port SSH type pipe command /usr/bin/ssh -C -x -o batchmode=yes [email protected]编辑 /etc/uucp/call,加入:
uucpssh mailtux your-random-string-get-it-from-uucpssh.org-admin-page
-r-sr-sr-x 1 uucp uucp 225008 Mar 7 2002 /usr/sbin/uucico -r-sr-xr-x 1 uucp uucp 93920 Mar 7 2002 /usr/bin/uux
- Become uucp user (su - uucp) - Execute ssh-keygen -t dsa - Do not give any password. - upload the content of ~uucp/.ssh/id_dsa.pub to your uucpssh.org admin page
uustat -a这封信最终应该到了 /var/spool/uucp/uucpssh/C./ 和 /var/spool/uucp/uucpssh/D./ 目录,运行
uulog -40看看发生了什么。查看 /var/log 中的你的邮件发送程序的 log 文件和 /var/log/uucp 中的 uucp 的 log 文件。如果邮件发送的不正常的话,这些 log 可以给你一些启示。如果上边这些都没有发生,那错误应该在 MTA 的设置中。
ssh [email protected] -v接受服务器的 RSA 密钥,之后你应该收到一个 uucp 提示 (大概是 "Shere...")。
/usr/sbin/uucico -x 11 -S uucpssh-x 11 参数要求输出最多的调试信息。如果什么事情不正常的话,你可以在 /var/log/uucp/Debug 里面找到一些线索。
/usr/sbin/uucico -x 11 -S uucpssh如果有问题的话,再看一下 /var/log/uucp/Debug 。收回的信首先会被加入到队列 /var/spool/uucp/uucpssh/X./ ,然后通过命令 /usr/sbin/uuxqt 和 /usr/bin/rmail 自动发送到你的 MTA。这里 gentoo linux 有一个 bug:他会在 /usr/lib/uucp/ 目录下寻找 uuxqt 命令,并在 /usr/conf/uucp 目录查找 uucp 的配置文件。我是通过建立一些符号链接来修正这些 gentoo 特有的问题的。
/usr/sbin/uucico -S uucpssh uulog -5来和 Internet 交换邮件。我个人更喜欢对它有完全的控制,手动地运行脚本,但你可以把命令
/usr/sbin/uucico -S uucpssh加入 /etc/ppp/ip-up ,它将会在你每次连接到 Internet 的时候自动运行的。
|
主页由LinuxFocus编辑组维护
© Guido Socher, FDL LinuxFocus.org |
翻译信息:
|
2004-02-29, generated by lfparser version 2.46