设为首页 收藏本站
查看: 1337|回复: 0

[经验分享] sendmail webmail安装

[复制链接]

尚未签到

发表于 2015-11-25 12:45:30 | 显示全部楼层 |阅读模式
sendmail webmail安装(linux)
[iyunv@dns mail]# rpm -qa|grep sendmail
sendmail-cf-8.13.4-2
sendmail-8.13.4-2
[iyunv@dns mail]# rpm -qa|grep sasl
cyrus-sasl-2.1.20-5
cyrus-sasl-plain-2.1.20-5
gnu-crypto-sasl-jdk1.4-2.0.1-1jpp_5fc
cyrus-sasl-md5-2.1.20-5
[iyunv@dns mail]# rpm -qa|grep dov
dovecot-0.99.14-4.fc4


1、安装好LINUX FC4
   主机名:dns
   IP地址:10.11.61.97/24
在安装系统的时候,选择安装sendmail
版本为:sendmail-cf-8.13.4-2
        sendmail-8.13.4-2
2、设置好DNS MX记录

3、进入目录/etc/mail,修改相关文件
#cd /etc/mail
#cp sendmail.cf sendmail.cf.old   //备份sendmail.cf文件
#vi sendmail.mc
A 在47行后加入:define(QUEUE_DIR, `/var/spool/mqueue/q*')
    手动添加的,与认证无关,作用是启动多个邮件队列,为了获得更好的传输性能.
B 修改48、49行:TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
              define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
即去掉dnl注释, TRUST_AUTH_MECH”的作用是使sendmail不管access文件中如何设置,都能 relay 那些通过EXTERNAL, LOGIN, PLAIN, CRAM-MD5或DIGEST-MD5等方式验证的邮件,”confAUTH_MECHANISMS" 的作用是确定系统的认证方式。Outlook Express支持的认证方式是LOGIN。
C 在第113行加上dnl
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
  以便让sendmail可以侦听所有网络设备,为整个网络提供服务,而不仅仅只对本机提供服务。
D  在第120行修改成
DAEMON_OPTIONS(`Port=25, Name=MSA, M=Ea')dnl
在smtp的默认端口(25)上进行认证,而不是587端口。这样就强制所有使用该邮件服务器进行邮件转发的用户在认证后才能发邮件了。

4、重新生成sednmail.cf文件
# m4 /etc/mail/sendmail.mc >/etc/mail/sendmail.cf
(修改附件大小:在/etc/sendmail.cf文件中找到下面两行
# maximum message size
O MaxMessageSize=2048000
)

5、 既然我们打开了多个队列,现在我们在/var/spool/mqueue/下创建任意多个队列目录,运行:
# cd /var/spool/mqueue
# mkdir q1 q2 q3 q4 q5 q6

6、修改/etc/mail/local-host-names,将希望该邮件服务器使用的邮箱名加进去,比如邮箱为:xxx@sz.abc.com则将sz.abc.com加入到该文件中。

7、重新启动sendmail服务,运行:
# service sendmail restart

8、可以通过telnet 本机IP 25来验证sendmail服务是否已经正常启动,若登陆成功,则说明sendmail服务已经成功启动。
# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'
220 localhost.localdomain ESMTP Sendmail 8.12.8/8.12.8; Wed, 12 May 2004 15:57:01 +0800
ehlo localhost
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-AUTH GSSAPI LOGIN PLAIN
250-DELIVERBY
250-HELP
quit
#  
在AUTH后面有LOGIN就基本上可以在OutlookExpress上认证了。

9、Pop3服务配置
A 检查有没有安装FC4中的dovecot-0.99.14-4.fc4.i386.rpm,如没有,请安装
B 启动pop3:
   #/etc/rc.d/init.d/dovecot restart
C  检查服务是否启动
   #lsof -i:110
D  如果想开机启动,则运行ntsysv->选择dovecot->确定

10、使用
  a. 创建新邮箱
任何Linux新用户都自动有一个邮箱,比如创建用户test,则其邮箱为 test@sz.abc.com
    #mkdir /home/email
    #useradd -d /home/email test -s /sbin/nologin   

  b. 使用outlook
新建帐户 test,SMTP和POP3服务器为 mail.sz.abc.com, 用户名 test,口令为Linux改用户口令,选中"我的服务器要求身份认证"

  c. 使用test@sz.abc.com
现在可以使用test@sz.abc.com收发信


10、安装apache:要是系统默认安装,就可以跳过。要是没有安装,从www.apache.org上下载最新版本。我用的是httpd-2.0.58.tar.gz
安装步骤:
   A #tar zxvf httpd-2.0.58.tar.gz
   B #cd httpd.2.0.58
   C #./configure --prefix=/var/www
   D #make
   E #make instal
   F 启动:#/var/www/bin/apachectl start
  如果出错:  httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for SeverName
  请修改文件:vi /var/www/conf/httpd.conf
增加:    ServerName <server_name_or_ip_addr>
我的改为:
ServerName www.sz.abc.com:80

11、安装openwebmail。
   A 下载相关的软件:
perl-Compress-Zlib-1.34-2.i386.rpm
perl-suidperl-5.8.6-15.i386.rpm
perl-Text-Iconv-1.4-2.i386.rpm
MIME-Base64-3.01.tar.gz
openwebmail-2.52-1.i386.rpm
perl-CGI-2.81-88.i386.rpm

  B 安装rpm包
#rpm -ivh  perl-Compress-Zlib-1.34-2.i386.rpm
#rpm -ivh  perl-suidperl-5.8.6-15.i386.rpm
#rpm -ivh  perl-Text-Iconv-1.4-2.i386.rpm
#rpm -ivh  perl-CGI-2.81-88.i386.rpm  //(这个包一般默认被安装)
#rpm -ivh  openwebmail-2.52-1.i386.rpm

#tar -xzvf MIME-Base64-3.01.tar.gz
#cd MIME-Base64-3.01
#perl Makefile.PL
#make
#make install

12、openwebmail配置
A 、初始化数据库
#cd /var/www/cgi-bin/openwebmail
#./openwebmail-tool.pl --init
会出现更改信息提示,但提示要修改的dbm.conf文件路径有问题,应该是如下:
/var/www/cgi-bin/openwebmail/etc/defaults/dbm.conf
   Please change './etc/dbm.conf' from

dbm_ext                 .db
dbmopen_ext             none
dbmopen_haslock         no

to

dbm_ext                 .db
dbmopen_ext             .db
dbmopen_haslock         no

B、#touch /var/www/cgi-bin/openwebmail/openwebmail*.pl (没注意看提示,反正我执行了)
修改后执行#./var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init
如果没有错误提示,仅有发送报告提示,说明配置成功。
  Send the site report?(Y/n) y    //我选了y
  sendming report...              //不要急,请等一会儿
  Thank you.      //表示安装成功。
C、修改/var/www/cgi-bin/openwebmail/etc/openwebmail.conf
default_timeoffset                      +0800   (设置时区为中国时间)
default_language zh_CN.GB2312 (界面改成中文啦,使用者也不一定熟悉英文)
domainnames auto更改为:domainnames easy.com (更改为自己定义的域名)
default_language en更改为:default_language zh_CN.GB2312 (更改为简体中文版介面)
default_iconset Cool3D.Englist更改为:default_iconset Cool3D.Chinese.Simplified (更改为中文3D按键)
更改修改LOGO链接:
logo_link                       http://openwebmail.org
logo_link                       http://www.sz.abc.com


13、HTTP服务的配置
A、vi /var/www/conf/httpd.conf
按如下修改:
<Directory /var/www/cgi-bin>;
AllowOverride All
Options ExecCGI
Order allow,deny
Allow from all
</Directory>;
请注意 &quot;Order allow,deny&quot; 和 &quot;Allow from all&quot; 缺省没有时,必需加上。
B、如果要将openwebmail设置成一个虚拟目录,方便访问。如:http://ipaddress/webmail
应在httpd.conf加入以下字段
ScriptAlias /webmail &quot;/var/www/cgi-bin/openwebmail/openwebmail.pl&quot;
Alias /data &quot;/var/www/data&quot;
C、#/var/www/bin/apachectl restart
D、测试 打开浏览器,在地址栏里输入:http://www.sz.abc.com/webmail



错误:
1、Software error:
Undefined subroutine &ow::htmltext::str2html called at /var/www/cgi-bin/openwebmail/shares/ow-shared.pl line 1283.

For help, please send mail to the webmaster (you@example.com), giving this error message and the time and date of the error.
   a、chmod 771 /var/www/cgi-bin/openwebmail/etc/sessions
   This will set your perms properly for the sessions dir
   b、add the line:
   require &quot;modules/htmltext.pl&quot;;
   to openwebmail.pl with the other requires in the modules/ section.
   If you do this fix and not the perm fix, you will still get an error in
your browser about the sessions dir not being writable.

   2、无法建立 /home/email/mail (Permission denied)
#chmod 777 /home/email


3、让 Open WebMail成为Server预设首页
建立一个index.html文档, 內容如下 a 或 b都可
a.
<html><head>
<meta http-equiv=&quot;Refresh&quot; content=&quot;0;URL=http://your_server/cgi-bin/openwebmail/openwebmail.pl&quot;>
</head></html>

b.
<html>
<body onload=&quot;window.open('http://your_server/cgi-bin/openwebmail/openwebmail.pl','_top')&quot;>
</body>
</html>

然后将index.html 拷貝到 http server 的 document root,
以 Linux/RedHat为例:在 /var/www/htdocs/中


4、用户在收发邮件时,出现“请输入服务器的用户名和密码,用户名:test;密码:*****窗口”,用户输入用户名和密码后,仍然停在窗口上,不能发送邮件
解决:
#saslauthd -a shadow

5、
a 先来看一下/usr/lib/sasl2/Sendmail.conf文件,里面的内容应该是pwcheck_method:saslauthd,将这个 文件复制成smtpd.conf,即cp Sendmail.conf smtpd.conf,这个文件也要在/usr/lib/sasl2/目录下;

b  然后/etc/init.d/saslauthd start来启动sasl的密码认证(要每次开机自动启动这项服务,就运行ntsysv选中saslauthd,再存盘退出ntsysv)。
   验证方法:#testsaslauthd -u zhou -p abc1234
   0: OK &quot;Success.&quot;   //如果出现以上信息,就说明saslauthd正常运行了

c  修改/etc/mail/sendmail.mc文件,有3个地方要改:
第42行和43行,把最前面的dnl删除,变成:
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
第84 行DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl把里面的127.0.0.1改成0.0.0.0,这是让sendmail监听在全部网络端口上,而不是只监听在lo上,有很多 人抱怨sendmail没办法收信,这是最基本要修改的地方
好了,都改完了,我们存盘退出。
d 把mc文件编译成sendmail的配置,运行m4 sendmail.mc > sendmail.cf;
e ./etc/init.d/sendmail restart(重新启动sendmail)


6、Shell 帐号不应该被允许,/etc/passwd 文件中的所有用户 shell 都应该被设置为 /sbin/nologin,在添加系统用户时可以useradd -s


检测:
telnet xxxx 25
ehlo xxx
mail from : xx@sz.abc.com
rcpt to : yy@sz.abc.com
data
SUBJECT:test
xxxx

7、我怎么检查一封邮件的发封过程?
在Sendmail邮件服务器上执行下面的命令.
# echo testing | /usr/sbin/sendmail -v test1@sz.abc.com
表示以当前用户发送邮件到test1@sz.abc.com,内容为testing

8、When sending an e-mail to a local account, Sendmails queues it and complains with &quot;MX list for acme.com. points back to mylinux.acme.com [...] DSN: Local configuration error&quot;
  在文件/etc/mail/local-host-names中增加本地域名,如
#cat /etc/mail/local-host-names
# local-host-names - include all aliases for your machine here.
sz.abc.com

9、修改了/etc/mail/access文件后,要更新,执行
#makemap hash access.db < access

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-143408-1-1.html 上篇帖子: linux sendmail配置 哪里有问题? 下篇帖子: nagios中告警邮件-sendmail服务的配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表