qmail的简单配置和发信使用

 

Gentoo下安装软件比较简单,在命令行的情况下直接通过emerge +软件名即可从网上下载到相应软件的最新版本,并且Gentooprotage方式会自动得到软件的依存关系,并将相应需要的其余软件一并下载并安装。由于sendmailqmail冲突,所以第一步是将sendmail卸载掉。

# emerge –unmerge sendmail

安装需要网络支持(当然也可以将文件下载到本机安装),所以网络需要配置好,可以先通过命令行

# ifconfig

# route

察看自己的网络设置,设置相应的ip地址、网关、子网掩码、DNS等等需要修改/etc/conf.d/net/etc/resolv.conf两个文件。

net文件设置按如下格式

# This network configuration was written by net-setup

iface_eth0="192.168.18.39 broadcast 192.168.18.255 netmask 255.255.255.0"

gateway="eth0/192.168.18.10"

resolv.conf设置按如下格式

domain grandview

nameserver 219.141.140.10

然后将即可开始安装qmail

# emerge qmail

Gentoo会同时自动为你安装daemontoolsucspi-tcp,然后自动编译添加用户组、服务等等,这些都不用我们人为干预,系统会帮你搞定。就是时间有点长,可以考虑泡杯茶休息一下。

安装编译完后会建立/var/qmail/var/log/qmail等等相关目录

这时你可以测试一下安装

# qmailctl stat

如果一切正常的话,应该看到如下输出

/service/qmail-send: up (pid 30303) 187 seconds

/service/qmail-send/log: up (pid 30304) 187 seconds

/service/qmail-smtpd: up (pid 30305) 187 seconds

/service/qmail-smtpd/log: up (pid 30308) 187 seconds

messages in queue: 0

messages in queue but not yet preprocessed: 0

接下来需要简单配置一下qmail(参考life with qmail

qmail的基本配置文件都在/var/qmail/control目录下,可以根据需要进行修改

邮件用户通常并不直接发送邮件. 典型的方式是利用邮件用户代理(Mail User Agent, MUA)程序, 例如 pine 或者 mutt 编写并发送邮件. MUA程序调用MTA传送邮件. 这个处理邮件到MTA的调用过程称为注入(injection). 我们可以通过MTA提供的的特定程序完成注入,在qmail系统下我们有qmail-inject

下面我们按照/var/qmail/docs/TEST.delivery来进行发信

发送一封空邮件到test@test.com可以采取

# echo to:test@test.com | /var/qmail/bin/qmail-inject

发送一封邮件到test@test.com

# /var/qmail/bin/qmail-inject

To: test@test.com

From:test

Subject:this is a test

Hey, this is a test from syh!!

(Ctrl + D 表示结束)

如果不出意外应该能在/var/log/qmail/current文件中看到类似下面的显示

1 @4000000038c3eeb027f41c7c new msg 93869

2 @4000000038c3eeb027f6b0a4 info msg 93869: bytes 2343 from <dave@sill.org> qp 18695 uid 49491

3 @4000000038c3eeb02877ee94 starting delivery 2392: msg 93869 to remote test@test.com

4 @4000000038c3eeb0287b55ac status: local 0/10 remote 1/20

5 @4000000038c3eeb104a13804 delivery 2392: success: 209.85.127.177_accepted_message.

   /Remote_host_said:_250_CAA01516_Message_accepted_for_delivery/

6 @4000000038c3eeb104a4492c status: local 0/10 remote 0/20

7 @4000000038c3eeb104a6ecf4 end msg 93869

1 行指出qmail接收到一条新邮件, 邮件的队列ID93869. 队列ID /var/qmail/queue/mess/NN/ 包含这个邮件的队列文件的 i-node 节点值. 队列ID将在这个消息存在于队列的过程中保持全局唯一.

2 行表明邮件来自 dave@sill.org, 并且大小为2343字节.

3 行表明qmail-remote开始传送这个邮件到lwq@w3.to, 并且为这个传送指定了ID 2392.

4 行指出 0 个本地传送和 1 个远程传送处于等待状态.

5 行显示出 ID 2392 这个传送已经成功完成, 并且返回远程主机的回应, 这个回应里面常常包含了远程邮件管理员对于跟踪这个传送的有用信息. 在我们这个例子里面, "CAA01516"是远程系统的传送ID.

6 行指出 0 个本地传送和 0个远程传送处于等待状态. 也就是传送已经完成了.

7 行指出这个消息已经被传送完毕并且被移出队列. 这个时候, 队列ID 93869, 已经可以重用于其他传送ID.

这样你就通过qmail将一份邮件发出去了。

 

posted on 2006-07-07 15:12  Syhan  阅读(953)  评论(0编辑  收藏  举报