欢迎来到皮皮网官网

【oa后台源码】【康乐主机源码】【仿tb源码】linux邮件源码_linux开源邮件系统

时间:2024-11-25 07:29:43 来源:安卓餐厅源码

1.Linux下安装使用Mutt邮件客户端并配置邮件警报功能
2.Linux系统下安装配置postfix邮件服务器教程
3.linux mail命令
4.可能是邮邮件史上最简单Linux邮件服务配置(smtp/smtps)
5.Linux下快速安全的邮件发送方式linux邮件发送
6.linux系统下邮件服务器sendmail的配置

linux邮件源码_linux开源邮件系统

Linux下安装使用Mutt邮件客户端并配置邮件警报功能

       0、在正式安装Mutt之前

       先检查一下两个安全组件。开源

       OPENSSL:

       复制代码

       代码如下:

openssl version -a #检查安装及版本信息

       SASL(系统一般已经自带):

       复制代码

       代码如下:

rpm -qa | grep sasl

       查询到如下即可:

       cyrus-sasl-gssapi-2.1.-.el6_6.2.x_

       cyrus-sasl-devel-2.1.-.el6_6.2.x_

       cyrus-sasl-lib-2.1.-.el6_6.2.x_

       cyrus-sasl-plain-2.1.-.el6_6.2.x_

       cyrus-sasl-2.1.-.el6_6.2.x_

       如果sasl没有运行,系统先启动:

       复制代码

       代码如下:

/etc/init.d/saslauthd start

       最好是邮邮件加入到自启动项目中去:

       复制代码

       代码如下:

chkconfig saslauthd on

       因为发送邮件的时候会需要用到安全认证。

1、开源安装

       官方网站上下载最新版本。系统oa后台源码

       复制代码

       代码如下:

# 解压后进入mutt目录

       cd /root/mutt-1.6.0

       # 编译:

       ./configure --prefix=/usr/local/mutt --enable-pop --enable-smtp --with-ssl --with-sasl

       # 说明

       --enable-pop 启用pop

       --enable-smtp 启用smtp

       --with-ssl --with-sasl 在启用上述协议的邮邮件情况下,必须使用更安全的开源加密

       PS: 因为我用的测试帐号是QQ邮件,qq邮件使用smtp协议的系统时候要求必须使用ssl安全连接,而在mutt里使用安全连接又必须使用sasl加密,邮邮件所以上述2个安全组件在编译安装的开源时候得加上。要不然发送邮件的系统时候会出现SMTP authentication requires SASL或者另外一个跟ssl有关的错误。

       复制代码

       代码如下:

# 安装

       make make install

2、邮邮件康乐主机源码Mutt的开源基本用法

       使用Mutt发邮件极其方便,是一个文字模式的邮件管理程序,提供了全屏幕的系统操作界面。只需要一条命令即可发送或者批量发送邮件:

       复制代码

       代码如下:

mutt [-hnpRvxz][-a文件][-b地址][-c地址][-f邮件文件][-F配置文件][-H邮件草稿][-i文件][-m类型][-s主题][邮件地址]

       这里来详细说一下参数:

       -a文件 在邮件中加上附加文件。

       -b地址 指定密件副本的收信人地址。

       -c地址 指定副本的收信人地址。

       -f邮件文件 指定要载入的邮件文件。

       -F配置文件 指定mutt程序的设置文件,而不读取预设的.muttrc文件。

       -h 显示帮助。

       -H邮件草稿 将指定的邮件草稿送出。

       -i文件 将指定文件插入邮件内文中。

       -m类型 指定预设的仿tb源码邮件信箱类型。

       -n 不要去读取程序培植文件(/etc/Muttrc)。

       -p 在mutt中编辑完邮件后,而不想将邮件立即送出,可将该邮件暂缓寄出。

       -R 以只读的方式开启邮件文件。

       -s主题 指定邮件的主题。

       -v 显示mutt的版本信息以及当初编译此文件时所给予的参数。

       -x 模拟mailx的编辑方式。

       -z 与-f参数一并使用时,若邮件文件中没有邮件即不启动mutt。

       掌握了这些基本上就能基础地使用Mutt,够方便吧~接下来就要介绍本文的CE系统源码主题、使用其邮件警报功能:

3、配置邮件警报功能

       方法1:

       安装好后,拷贝一份安装目录下/usr/local/mutt/etc/的配置文件Muttrc到/root/.muttrc,也可以直接修改配置文件,设置读取的配置文件路径到安全目录,这样就无需拷贝了。

       默认设置:

       复制代码

       代码如下:

set alias_file="~/.muttrc"

       方法2:

       复制代码

       代码如下:

cat /usr/local/mutt/etc/Muttrc | grep -v ^# | grep -v ^$ ~/.muttrc

       这样都可以得到默认的配置文件信息。

       安装完成后,我们仅需要设置的信息如下:

       复制代码

       代码如下:

set folder="./Mail" #设置本地的收件箱,如果不设置发送邮件的时候会提示

       set from="@qq.com" #设置发件人地址

       set realname="张三" #发件人姓名

       set smtp_pass="" #密码

       set smtp_url="smtps://@smtp.qq.com:/" #发件人帐号和邮件主机信息,QQ邮箱必须使用安全连接

       set use_envelope_from=yes #使用自定义发件人邮箱

       set use_from=yes #使用自定义发件人姓名

4、测试

       mutt-1.6版本的FileProvider完整源码发送邮件的语法跟1.4版本有些微的差别,具体命令如下:

       mutt -s Title使用 -a /usr/local/mutt/content.txt -- rep@shoujianren.com /root/1

       说明

       -s 邮件标题

       -a 附件

       -- 后面跟上收件人信息

        后面是邮件正文内容,也可以在前面echo xxx的形式给出。如下:

       复制代码

       代码如下:

echo xxx|mutt -s "Title使用" -a /usr/local/mutt/content.txt -- rep@shoujianren.com

       看吧,无需与其它软件合作,mutt就可以独立完成发送邮件,当然,接收也没问题,只是在邮件报警这个需求上用不着。

       其中一个错误信息:

       复制代码

       代码如下:

[root@x mutt]# echo "Hello" | mutt -s "Title" -- xxx@xxxx.com

       TLSv1.2 connection using TLSv1/SSLv3 (AES-SHA)

       SMTP authentication requires SASL

       Could not send the message.

       这是认证失败了。

       发送成功的信息:

       复制代码

       代码如下:

[root@x mutt]# echo "Hello3" | mutt -s "Title" -- xxx@xxxx.com

       TLSv1.2 connection using TLSv1/SSLv3 (AES-SHA)

Linux系统下安装配置postfix邮件服务器教程

       一,安装postfix,cyrus-sasl,cyrus-imapd

       如果yum提示找不到软件包,请换一下源,请参考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,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 '

copyright © 2016 powered by 皮皮网   sitemap