1.Qmail介绍
2.Linux系统下安装配置postfix邮件服务器教程
3.sendmailsendmail下载
4.linux系统下邮件服务器sendmail的邮件源码邮件源码配置
Qmail介绍
Qmail作为Linux下主流的邮件系统内核,深受各大商业邮件系统的系统系统青睐,包括著名的邮件源码邮件源码Hotmail等。它拥有安装便捷、系统系统安全性能高、邮件源码邮件源码邮件结构优化、系统系统什么源码解析SMTP服务支持、邮件源码邮件源码队列管理、系统系统邮件反弹、邮件源码邮件源码基于域名的系统系统邮件路由、SMTP传输、邮件源码邮件源码转发及邮件列表、系统系统本地邮件传送、邮件源码邮件源码POP3服务等强大功能。系统系统Qmail的邮件源码邮件源码普及逐渐让其成为Linux邮件系统内核的主流选择。安全是Qmail的核心设计理念,作者曾悬赏美元寻找安全漏洞,直到年,这一悬赏仍未有人领取。 Qmail的主要竞争对手包括Exim和Postfix。与竞争对手不同的activemq 源码分析是,Qmail多年来未进行更新,用户习惯于通过第三方插件及补丁来增强Qmail功能。这表明Qmail在持续创新方面可能略显滞后。 值得注意的是,Qmail的源代码现已开放为公有领域,这不仅为开发者提供了更多贡献与改进的机会,也使得Qmail在安全性、灵活性和功能扩展性方面有更大的提升空间。对于寻求稳定、安全且功能全面的udp通讯源码邮件系统解决方案的Linux用户来说,Qmail无疑是一个值得考虑的选择。扩展资料
qmail是一个因特网邮件传送代理(简写为MTA),它运行在linux/Unix兼容系统下,是一个直接代替UNIX下Sendmail软件的邮件传送程序。qmail使用SMTP协议与其它系统上的MTA交换邮件。Linux系统下安装配置postfix邮件服务器教程
一,安装postfix,cyrus-sasl,cyrus-imapd
如果yum提示找不到软件包,请换一下源,asp 源码 监控请参考centos 6推荐使用epel源
代码如下:
[root@localhost ~]# yum install postfix
[root@localhost ~]# yum install cyrus
*二,删除了sendmail
代码如下:
[root@localhost ~]# rpm -e sendmail
或者
代码如下:
[root@localhost ~]# yum remove sendmail
三,更改默认邮件传输代理(MTA)
代码如下:
[root@localhost sasl2]# alternatives --config mta
共有 1 个程序提供“mta”。
选择 命令
-----------------------------------------------
*+ 1 /usr/sbin/sendmail.postfix
按 Enter 来保存当前选择[+],或键入选择号码:1
上面的只有一个postfix,sendmail已经被我删了。可以通过下面命令来查看。
代码如下:
[root@localhost ~]# alternatives --display mta
四,postfix,cyrus-sasl,sendkeys vb源码cyrus-imapd相关配置
1,postfix主配置文件main.cf
代码如下:
[root@localhost postfix]# vim /etc/postfix/main.cf
myhostname = localhost //行,将等号后面的部分改写为本机主机名
mydomain = yip.com //行,设置域名
myorigin = $mydomain //行,把$myhostname改为$mydomain
inet_interfaces = all //行,把后面的localhost改成all
mydestination = $myhostname, localhost.$mydomain, localhost,$mydomain //行,把前面的注释拿掉,并加一下$mydomain
mynetworks = ..0.0/, .0.0.0/8 //行,设置内网和本地IP
local_recipient_maps = //行,把前面的注释拿掉。
smtpd_banner = $myhostname ESMTP unknow //行,把前面的注释拿掉,然后把$mail_name ($mail_version)改成unknow
p//在main.cf文件的底部加上以下内容
smtpd_sasl_auth_enable = yes //使用SMTP认证
broken_sasl_auth_clients = yes //让不支持RFC的smtpclient也可以跟postfix做交互。
smtpd_sasl_local_domain = $myhostname // 指定SMTP认证的本地域名
smtpd_sasl_security_options = noanonymous //取消匿名登陆方式
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination //设定邮件中有关收件人部分的限制
smtpd_sasl_security_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination //设置允许范围
message_size_limit = //邮件大小
mailbox_transport=lmtp:unix:/var/lib/imap/socket/lmtp //设置连接cyrus-imapd的路径
如果不加local_recipient_maps这个配置,收邮件收不到,下面是qq的退信。
收件人邮件地址(tank@yip.com)不存在,邮件无法送达。host mail.yip.com[..***.***] said: 5.1.1: Recipient address rejected: User unknown in local recipient table (in reply to RCPT TO command)
2,cyrus-sasl配置
代码如下:
[root@localhost postfix]# vim /etc/sasl2/smtpd.conf //在文件尾部加上以下内容
log_level: 3 //记录log的模式
saslauthd_path:/var/run/saslauthd/mux //设置一下smtp寻找cyrus-sasl的路径,在这里要提一下的位的机器和位的机器smtpd.conf的路径是不一样的。
p//这是centos 5.5 位机器上smtpd的配置文件
[root@linux sasl2]# ls |grep conf
Sendmail.conf
smtpd.conf
[root@linux sasl2]# pwd
/usr/lib/sasl2
//这是centos 6.0 位机器上smtpd的配置文件,其他地方没有smtpd的配置文件
[root@localhost postfix]# ls /etc/sasl2/ |grep smtpd
smtpd.conf
网上有不少关于postfix安装文章,配置的时候并没有明确提出是位机器,还是位机器。所以在这里标明一下。
3,配置cyrus-imapd
cyrus-imapd的主要配置文件有下面三个
代码如下:
/etc/sysconfig/cyrus-imapd
p/etc/cyrus.conf
p/etc/imapd.conf
这里是默认的配置,也就是说上面三个文件我是没有动过的。在这里提醒一下imapd.conf在这个文件里面,你可以设置管理账号
,设置邮件存放目录,设置密码连接方式等。
五,启动postfix,cyrus-sasl,cyrus-imapd
启动cyrus-imapd服务,就可以同时提供pop和imap服务,如果你已安装了dovecot服务就可以删除掉,cyrus-imapd和dovecot二者选其一就行了,二都可以提供pop和imap服务,不过cyrus-imapd可以为每个用户创建一个信息,而且信箱具有层次结构,比较好管理。建议用cyrus-imapd。
代码如下:
[root@linux sasl2]# /etc/init.d/postfix start
[root@linux sasl2]# /etc/init.d/saslauthd start
[root@linux sasl2]# /etc/init.d/cyrus-imapd start
查看一下进程,
代码如下:
//smtp监听是端口
[root@linux u]# netstat -tpnl |grep smtpd
tcp 0 0 .0.0.1: 0.0.0.0:* LISTEN /smtpd
代码如下:
//(POP3)和(IMAP)端口,下面都已经有了
[root@linux u]# netstat -tpnl |grep cyrus
tcp 0 0 0.0.0.0: 0.0.0.0:* LISTEN /cyrus-master
tcp 0 0 0.0.0.0: 0.0.0.0:* LISTEN /cyrus-master
tcp 0 0 0.0.0.0: 0.0.0.0:* LISTEN /cyrus-master
tcp 0 0 0.0.0.0: 0.0.0.0:* LISTEN /cyrus-master
tcp 0 0 ::: :::* LISTEN /cyrus-master
tcp 0 0 ::: :::* LISTEN /cyrus-master
tcp 0 0 ::: :::* LISTEN /cyrus-master
tcp 0 0 ::: :::* LISTEN /cyrus-master
tcp 0 0 ::: :::* LISTEN /cyrus-master
启动是没有问题的。
六,测试cyrus-sasl
代码如下:
[root@linux t]# passwd cyrus //设置cyrus的密码
[root@linux sasl2]# testsaslauthd -u cyrus -p '