名词解释:
MTA(Mail transfer Agent) 使用SMTP协议,常用的有Postfix、Sendmail、Qmail、Exim
MUA(Mail User Agent)
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,主要用在server端,端口25
pop3 IMAP 用来接收邮件,主要用的客户端,端口110 (IMAP 用来同步本地客户端与webmail之间变动的同步)
可以更改服务器上的默认MTA:
alternatives --display mta
alternatives --set mta /usr/sbin/sendmail.exim
linux 下常用的发送邮件工具 mail、mutt
实例:
实例1: 利用postfix、mutt发送邮件
postfix 网关设置
vim /etc/postfix/main.cf
relayhost = gatewall.mreald.com
service postfix restart
echo "test" |mail -s "title" qingshanli1988@163.com
使用Mutt可以发送带附件的:
ls |mutt -s "this is subject" -a cdms.txt qingshanli1988@163.com
查看发送日志:
tail /var/log/maillog
实例2: 利用163邮箱发送邮件
vim /etc/mail.rc
set from=from@163.com
set smtp=smtp.163.com
set smtp-auth-user=from@163.com
set smtp-auth-password=aaaa
set smtp-auth=login
cat test.txt| mail -s "test the smtp mail" other@qq.com
实例3:解决cron 造成 clientmqueue满
可能没开启smtp 服务:
测试:
telnet 127.0.0.1 25
service sendmail start (Redhat 5 使用sendmail)
service postfix start (Redhat 6 使用postfix)
可能没开通对外发送服务:
vim sendmail.mc
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
改为
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')
生成配置文件:
m4 sendmail.mc > sendmail.cf
重启MTA
mailq -v -Ac
mailq
测试邮箱网关的连通性:
telnet mail.server.com 25
ehlo test
参考:
http://lists.freebsd.org/pipermail/freebsd-questions/2004-September/057169.html
http://www.linuxweblog.com/sendmail-clientmqueue-mqueue