欢迎访问皮皮网官网
皮皮网

【vc 雷电源码】【阁楼网源码】【派车系统 源码】免费邮件系统源码_免费邮件系统源码怎么用

时间:2024-12-29 09:05:13 分类:娱乐 来源:ubuntu 编译android源码包

1.xmailxmail邮件服务器心得
2.linux系统下邮件服务器sendmail的免费免费配置
3.Linux系统下安装配置postfix邮件服务器教程
4.sendmailsendmail的安全
5.sendmailsendmail下载

免费邮件系统源码_免费邮件系统源码怎么用

xmailxmail邮件服务器心得

       要安装和配置XMail邮件服务器(针对Windows系统)的步骤如下:

       1. 访问XMail的官方网站 ment and edit the following line if your mail needs to be sent out

       dnl through an external mail server:

       dnl define(`SMART_HOST',`smtp.your.provider')

       define(`confDEF_USER_ID',``8:'')dnl

       undefine(`UUCP_RELAY')dnl

       undefine(`BITNET_RELAY')dnl

       dnl define(`confAUTO_REBUILD')dnl

       define(`confTO_CONNECT', `1m')dnl

       define(`confTRY_NULL_MX_LIST',true)dnl

       define(`confDONT_PROBE_INTERFACES',true)dnl

       define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl

       define(`ALIAS_FILE', `/etc/mail/aliases')dnl

       define(`STATUS_FILE', `/etc/mail/statistics')dnl

       define(`UUCP_MAILER_MAX', `')dnl

       define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl

       define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl

       define(`confAUTH_OPTIONS', `A')dnl

       TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl               

       define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5

       LOGIN PLAIN')dnl

       dnl define(`confCACERT_PATH',`/usr/share/ssl/certs')

       dnl define(`confCACERT',`/usr/share/ssl/certs/ca-bundle.crt')

       dnl define(`confSERVER_CERT',`/usr/share/ssl/certs/sendmail.pem')

       dnl define(`confSERVER_KEY',`/usr/share/ssl/certs/sendmail.pem')

       dnl define(`confTO_QUEUEWARN', `4h')dnl

       dnl define(`confTO_QUEUERETURN', `5d')dnl

       dnl define(`confQUEUE_LA', `')dnl

       dnl define(`confREFUSE_LA', `')dnl

       define(`confTO_IDENT', `0')dnl

       dnl FEATURE(delay_checks)dnl

       FEATURE(`no_default_msa',`dnl')dnl

       FEATURE(`smrsh',`/usr/sbin/smrsh')dnl

       FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl

       FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl

       FEATURE(redirect)dnl

       FEATURE(always_add_domain)dnl

       FEATURE(use_cw_file)dnl

       FEATURE(use_ct_file)dnl

       dnl The '-t' option will retry delivery if e.g. the user runs over his quota.

       FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl

       FEATURE(`access_db',`hash -T; -o /etc/mail/access.db')dnl

       FEATURE(`blacklist_recipients')dnl

       EXPOSED_USER(`root')dnl

       dnl This changes sendmailto only listen on the loopback device .0.0.1

       dnl and not on any other network devices. Comment this out if you want

       dnl to accept email over the network.

       DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')

       dnl NOTE: binding both IPv4 and IPv6 daemon to the same port requires

       dnl       a kernel patch

       dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')

       dnl We strongly recommend to comment this one out if you want to protect

       dnl yourself from spam. However, the laptop and users on computers that do

       dnl not have x7 DNS do need this.

       FEATURE(`accept_unresolvable_domains')dnl

       dnl FEATURE(`relay_based_on_MX')dnl

       MAILER(smtp)dnl

       MAILER(procmail)dnl

       记得要使以下两个条语句有效,他的邮件源码邮件源码用意思是假如access.db访问控制没有配置,则启用以下

       验证方式进行smtp验证。系统系统

       TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl               

       define(`confAUTH_MECHANISMS',免费免费 `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5

       LOGIN PLAIN')dnl

sendmail宏定义说明

       divert(n)                为m4定义一个缓冲动作,当n=-1时缓冲被删除,邮件源码邮件源码用n=0时开始一个新缓冲

       OSTYPE定义宏所使用的系统系统vc 雷电源码操作系统,该宏允许m4程式增加同相关操作系统相关的免费免费

       文档

       Domain定义MTA将使用哪些域来传输邮件

       Feature定义配置文档中使用的一个特定的功能集

       Define定义配置文档中的一个特定的选项值

       MASQUERADE_AS                定义sendmail来应答邮件的其他主机名

       MAILER定义sendmail使用的邮件传输方法

       dnl注释

       完成sendmail.mc文档的编写后就能够用m4程式生成正式的sendmail.cf配置文档。语法如

       下:

       # m4 sendmail.mc ; sendmail.cf

       也能够用源码目录树下的邮件源码邮件源码用cf/cf/Build命令生成。前提是系统系统您要在该目录下有一个sendmail.mc

       文档。语法如下:

       # ./Build sendmail.cf

       ok,免费免费接着就能够把sendmail.cf and submit.cf文档安装到/etc/mail目录中的邮件源码邮件源码用,语法如下:

       # ./Build install-cf

       其实也能够自已用cp命令拷贝的系统系统啦。记得把sendmail.mc文档也拷贝一份到/etc/mail目录,免费免费

       以便以后修改配置时可重新生成sendmail.cf文档。邮件源码邮件源码用

       ok,系统系统接着到/etc/mail目录下配置一些文档。

       # cd /etc/mail

       # echo 'examply.com' ;; local-host-names         接收邮件的主机名

       # echo 'localhost    RELAY'  ;; access                 用来拒绝或允许来自某个域的邮件,本例允许

       本地转发。

       # makemap hash access 生成access.db数据库

       # touch domaintable         用来把旧域名映射互新域名

       # makemap hash domaintable 来覆盖向指定域的路由

       # makemap hash mailertable 用来把用户和域名映射到其他地址

       # makemap hash virtusertable 别名数据库,文本形式。可参照源码目录树下

       sendmail/aliases文档。阁楼网源码

       # newaliases                  从文本文档中创建一个新的别名数据库文档。

       # sendmail-v -bi        调试启动。

       /etc/mail/aliases: aliases, longest bytes, bytes total

       假如出现以上提示信息,则启动成功。可用以下命令正式启动:

       # sendmail-bd -qm

       该命令以后台进程方式(-bd)运行,并使其每隔分钟(-qm)轮询一次未发送邮件队

       列,检查是否有新邮件。

       服务器启动后,能够用telnet连接服务器。

       # telnet localhost

       Trying .0.0.1...

       Connected to localhost.

       Escape character is '^]'.

        test.tigerhead ESMTP Sendmail8../8..; Tue, Mar :: +

       ehlo test                您输入的命令,按回车结束。

       -test.tigerhead Hello LOCALHOST.localdomain [.0.0.1], pleased to meet you

       -ENHANCEDSTATUSCODES

       -PIPELINING

       -8BITMIME

       -SIZE

       -DSN

       -ETRN

       -AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN

       -DELIVERBY

        HELP

       以-开头的为服务器的响应信息。注意倒数第三行,这就是成功配置smtp验证的显示。

       输入quit离开。

       安装完成后为确保系统安全,还需调整一些目录的权限。可参考sendmail源码目录下

       sendmail/SECURITY文档。

       # chmod /etc/mail/aliases /etc/mail/aliases.{ db,pag,dir}

       # chmod /etc/mail/*.{ db,pag,dir}

       # chmod /etc/mail/statistics /var/log/sendmail.st

       # chmod /var/run/sendmail.pid /etc/mail/sendmail.pid

       -r-xr-sr-x        root   smmsp        ... /PATH/TO/sendmail

       drwxrwx---        smmsp  smmsp        ... /var/spool/clientmqueue

       drwx------        root   wheel        ... /var/spool/mqueue

       -r--r--r--        root   wheel        ... /etc/mail/sendmail.cf

       -r--r--r--        root   wheel        ... /etc/mail/submit.cf

       6、sendmail功能介绍

       aliases 别名数据库配置

       test:        test1,派车系统 源码test2,test3        配置test群组别名,test不是个实际的用户,只是个别名。发给

       test的信,test1,2,3都可收到。

       test:        test,testbak                在testbak邮箱中备份test的邮件。

       test:        test,test@.com        远程邮件备份,原理同上。

       test:   :include: /etc/mail/userlist        使用用户列表配置群组。

       userlist格式如下:

       test1, /

       test2, /

       test3, /

       test4

       关于系统预设aliases,由于sendmail预设用mailer-daemon and postmaster作为资料传送者,

       或邮件退回的帐号,但系统实际没有这两个帐号,所以要如下配置别名。

       mailer-daemon:  postmaster

       postmaster:     root

       配置完成后不要忘了用newaliases命令生成数据库。

       ~/.forward文档配置

       其实该文档的作用和aliases数据库的作差不多啦,都是配置别名,做邮件转发的。因为alises

       只能由管理员控制,个人用户不能修改,所以就能够在个人的挂号网源码目录下建立一个转寄文档。以

       配置个人的邮件转寄列表。文档格式如下:

       test

       test1

       test2

       test3

       and os on

       但由于个人用户安全意识差,假如配置不当会有安全漏洞,不建议使用。

       access访问控制列表配置

       . RELAY

       test.NET        OK

       test.COM REJECT

       test.COM         SORRY,WE DON'T ALLOW SPAMMERS HERE

       test.ORG        DISCARD

       Ok--远程主机能够向您的邮件服务器发送邮件;

       RELAY--允许中转;

       REJECT--不能向您的邮件服务器发邮件和不能中转;

       DISCARD--发来的邮件将被丢弃,同时并不向发送者返回错误信息。

       nnn text-- 发来的邮件将被丢弃,但sendmail将会向发送者返回nnn确定的smtp代码和text

       变量确定的文本描述。

       配置完成后要用makemap hash access.db 命令生成数据库。

       mailq邮件队列查询命令。

       Q-ID邮件id号。

       Size邮件容量。

       Q-Time邮件进入队列(也就是/var/spool/mqueue目录)的时间和不能邮寄的原因。

       Sender/Recipient        发信和收信人的邮箱地址。

       mailstats邮寄状态查询命令,可查询sendmail运行作至今邮件收发总计资料。

       M     :

       msgsfr:发送的邮件数量。

       bytes_from:邮件容量

       megsto:收到邮件的数量。

       bytes_to:同上

       msgsrej:邮件deny的dubbo源码内核次数。

       msgsdis:邮件discard的次数。

       Mailer :esmtp对外邮件 ,local本地邮件 。

       mail邮件命令

       mail        查看/var/spool/mail/目录下自已邮箱内容。以q退出把看过的邮件保存在

       ~/mbox中。

       mail test@example.com                直接发邮件给人。

       mail -s 'title text' test@example.com 把文档中内容邮寄出去。

       mail -f ~/mbox查看home目录下邮箱内容。

       用mail发附件也是可行,要用到uuencode and uudecode命令进行编码。

       编码:uuencode [file] name          example:uuencode hello hello;hello.uue   default input

       is stdin;default output is stdout.

       解码:uudecode [-o outfile] name    example:uudecode hello.uue 能够用-o选项输出另外一个

       文档名。

       # uuencode ~/.bashrc bashrc | mail -s 'test uuencode'

       test@example.com

       五、其他配置。

       要想更好的使用sendmail,常用到的一些配置:

       1、限制最大邮件。

       vi /etc/sendmail.cf

       # maximum message size

       O MaxMessageSize=    (注:5M)

       2、最大的群发数目。

       vi /etc/sendmail.cf

       # maximum number of recipients per SMTP envelope

       O MaxRecipientsPerMessage=  (注:个)

       3、域名文档----local-host-name

       能够用他来实现虚拟域名或多域名支持。

       /etc/mail/local-host-name

       v1mail.com

       v2mail.com

       .......

       4、mail别名文档--aliases。

       vi /etc/aliases

       系统内部别名:peng:zpeng,hero,mmmn,yt   peng是我的用户名,其他的是别名,用逗号隔开。

       转发到其他的邮箱:peng:zpeng@sina.com,yt.sohu.com

       #newaliases   --写到库中

       5、邮件控制文档--access

       relay、ok、reject和discard。relay能够实现转发。ok是用来允许用户的任意访问,他会覆盖任何其他已建立的检查(实际配置中,最好别设这项,除非您对该用户是绝对信任的);reject能够实现对来访地址的拒绝,他根本就不容许该地址和您的邮件服务器进行连接通信;discard的作用是在接收到传输的邮件消息后,偷偷地把他丢弃掉(在发送者看来,他的邮件的确是接收了,但他并不知道,发送的目的地址根本不可能接收到他的邮件,服务器巧妙地欺骗了他。

       vi /etc/mail/access.

       localhost.localdomain    RELAY      ---允许

       localhostRELAY

       .0.0.1                       RELAY

       peng@sina.com              ok

       @sexgirl.net                   reject

       ...                  discard

       #makemap hash access.db 写入库中

       6、虚拟用户文档---virtusertable.

       这个文档能够mail重名问题。

       例如:您有两个域名,virt1.com and virt2.com,但是都有peng这个用户:

       peng@virt1.com and peng@virt2.com,这是两个用户。但对于系统用户来说,他只认系统用户peng,只能通过一下改:

       vi /etc/mail/virtusertable

       peng@virt2.com   r

       这样就能够了。在新开一个用户r,但是peng@virt2.com在客户端的pop3 and smtp server的用户名和口令要用r的。

       #makemap hask virtusertable.db

       # /usr/sbin/sendmail -d0.1 -bv root |grep SASL

       NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS QUEUE SASL SCANF

       我的问题已找到了是/usr/lib/sasl/Sendmail.conf的文档名中的S没有大写,问题已解决

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