Postfix 邮件系统常用测试与管理命令

Postfix 是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试。在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,大约有100万用户使用sendmail,每天投递上亿封邮件。这真实一个让人吃惊的数字。Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性。

管理Postfix队列的命令:

查看队列

postqueue -p

删除队列邮件根据ID

postsuper -d MessageID

根据发送者来删除队列邮件,替换 “[email protected]”就可以

mailq | tail +2 | awk ‘BEGIN { RS = “” }# 7=sender, 8=recipient1, 9=recipient2{ if (7 == “[email protected]” && 9==)print 1 }‘ | tr -d ‘*!’ | postsuper -d -

根据收件人删除,替换[email protected] 就可以

mailq | tail +2 | awk ‘BEGIN { RS = “” }# 7=sender, 8=recipient1, 9=recipient2{ if (8 == “[email protected]” && 9==)print 1 }‘ | tr -d ‘*!’ | postsuper -d -

根据发生服务器的hostname来删除,替换掉 senderhostname

mailq | grep senderhostname | awk ‘{ print $1} ‘| postsuper -d -

如果当前的系统队列很长,负担很重,我们可以把队列里的邮件先hold

postsuper -h ALL

当处理完后,再把队列移回来

postsuper -r ALL

Postfix本身可以作为命令使用:

启动postfix

postfix start

停止postfix

postfix stop

重新读取postfix配置文件

postfix reload

立即投递队列中所有邮件(慎用)

postfix flush

修复队列以及任何权限错误

postfix check

常用操作:

postqueue -p 列出队列里的所有邮件
postsuper -d ID 删除一封邮件
postsuper -d ALL 删除所有邮件
postsuper –h ID 保留邮件
postsuper -r ALL 重新排例
postcat -q ID 显示邮件内容
postqueue -f 清空邮件
测试邮件的命令:测试邮件,可以用客户端,也可以使用命令行测试,这样更加直接。

BASE64编码的用户名密码,我们需要把我们的登录帐号和密码一起编码

user:[email protected]
pass:iredmail

perl -MMIME::Base64 -e ‘print encode_base64(“[email protected]@example.comiredmail”)’;

d3d3QGV4YW1wbGUuY29tAHd3d0BleGFtcGxlLmNvbQBpcmVkbWFpbA==

SMTP 登录并发送邮件

telnet localhost 25 #在服务器上telnet到本地,下面的是正常输出

Trying ::1…
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
220 u910.example.com ESMTP iRedMail (Ubuntu)
ehlo example.com #握手
250-u910.example.com
250-PIPELINING
250-SIZE 15728640
250-ETRN
250-STARTTLS
250-AUTH PLAIN login
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth plain d3d3QGV4YW1wbGUuY29tAHd3d0BleGFtcGxlLmNvbQBpcmVkbWFpbA== # 输入base 64后的用户名和密码
235 2.7.0 Authentication successful
mail from:[email protected] #使用 [email protected] 帐号对外发送邮件
250 2.1.0 Ok
rcpt to:[email protected] #发送邮件到 [email protected] 这个邮箱
250 2.1.5 Ok
data #输入data命令后,下面就是邮件的内容
354 End data with .
to:[email protected] #这是邮件里显示的发送给谁。
from:[email protected] #那个帐号发送过来的
subject: test by telnet smtp #邮件的主题
test , just a test ,check the subject whetehr working.

写完邮件后,输入一个点,回车,就表示邮件完成。

250 2.0.0 Ok: queued as B6B4820EC9
quit #退出
221 2.0.0 Bye
Connection closed by foreign host.

pop3连接,可以在远程使用命令行或者本地来测试pop3

telnet localhost 110 #登录110端口

Trying ::1…
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
+OK Dovecot ready.
user [email protected] #输入登录的邮件帐号
+OK
pass iredmail #帐号的密码,这里直接输入密码就可以
+OK Logged in.
list #查看邮箱里的邮件
+OK 4 messages:
1 1182
2 6195
3 1588
4 878
.
retr 1 #显示第一封邮件内容
quit #退出
+OK Logging out.
Connection closed by foreign host.

原文地址

猜你喜欢

转载自blog.csdn.net/luna33/article/details/51145362
今日推荐