Chinaunix
标题:
sendmail 一台服务器如何通过另外一台邮件服务器往外网发信
[打印本页]
作者:
liyis永恒
时间:
2011-01-19 14:41
标题:
sendmail 一台服务器如何通过另外一台邮件服务器往外网发信
服务器配置:RHEL5.2 2.6.18
服务器概述:①一台备份机A用sendmail搭建邮件服务器,两个网卡。已经搭建完毕可以正常收发信。
②一台主WEB服务器B和一台内网数据库服务器C需要通过A发一些系统邮件等发往外网。
三台机器系统一样,A,B,C均正常通信。A邮件服务器正常工作。B和C已安装sendmail
需求就是如果配置使 B和C ,往外网发的邮件通过A的Sendmail发出去。
请问各位如何做到。
作者:
liyis永恒
时间:
2011-01-19 14:43
查过一些资料。也配置过SMART_HOST转发邮件,好像有时候可以发,但是有时候又发不出去。
参考的这里:
http://blogold.chinaunix.net/u/21594/showart_2227845.html
不知道是我没弄懂还是怎么,总之是不怎么成功。
作者:
liyis永恒
时间:
2011-01-19 14:44
如果各位能教小弟下,不胜感激。
作者:
版主杀手
时间:
2011-01-19 17:54
我觉得很仔细的看sendmail手册应该能先理清思路 找出解决办法
作者:
liyis永恒
时间:
2011-01-20 14:59
本帖最后由 liyis永恒 于 2011-07-07 09:38 编辑
现在B 可以通过A往外发送邮件了。163 QQ 都可以。Yahoo有延迟。
但是C我参照B一样的配置,还是不行。
查看日志:
Jan 21 14:43:21 dalanzi sendmail[30450]: p0L6g9Mj030450: from=root, size=41, class=0, nrcpts=1, msgid=<201101210642.p0L6g9Mj030450@dalanzi.>, relay=root@localhost
Jan 21 14:43:21dalanzi sendmail[30450]: p0L6g9Mj030450: to=XX@XX.com, delay=00:01:12, mailer=esmtp, pri=30041, dsn=4.4.3, stat=queued
Jan 21 14:43:32 dalanzi sendmail[30292]: p0L6f8Js030292: from=root, size=65, class=0, nrcpts=2, msgid=<201101210641.p0L6f8Js030292@dalanzi.>, relay=root@localhost
Jan 21 14:43:32 dalanzi sendmail[30292]: p0L6f8Js030292: to=liyis_liu@163.com, delay=00:02:24, mailer=esmtp, pri=60065, dsn=4.4.3, stat=queued
Jan 21 14:43:32 dalanzi sendmail[30292]: p0L6f8Js030292: to=liyisliu@gmail.com, delay=00:02:24, mailer=esmtp, pri=60065, dsn=4.4.3, stat=queued
复制代码
dalanzi 即服务器C。
参照的配置文档为(服务器B已经成功)
打开sendmail.mc文件并做如下修改
修改以下两行:
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun,goaway')dnl
define(`SMART_HOST',`[64.78.160.80]')dnl
添加以下四行:
define(`confAUTH_OPTIONS', `A')dnl
define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash -o /etc/mail/authinfo.db')dn
3) 生成sendmail.cf文件
m4 sendmail.mc > sendmail.cf
3. 修改认证文件,告诉sendmail用哪个邮箱用户和密码来完成SMTP认证。
1) 打开认证文件/etc/mail/authinfo并编辑下面一行:
AuthInfo: "U:smtp" "P:kldfir8f" "M:LOGIN"
U代表邮箱用户;P代表邮箱密码;M代表公司邮件服务器认证方式。
2) 保存完authinfo文件后,我们需要限制它的权限以便只有root用户可以查看。由于authinfo里包含了邮箱的密码,所以限制authinfo文件的权限是很有必要的。以下是修改authinfo文件权限的命令:
chmod 660 /etc/mail/authinfo
3) 将authinfo文件转换成.db的文件,以便sendmail能够读取它。以下是转换命令:
makemap hash /etc/mail/authinfo < /etc/mail/authinfo
复制代码
服务器A(邮件服务器)的一些配置:
cat access
# by default we allow relaying from localhost...
Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1 RELAY
Connect:192.168.10 RELAY #三台机器内网段
Connect:210.22.70 RELAY # 服务器的外网段
作者:
小版主杀手
时间:
2011-09-27 09:04
我的问题和你一样 求交流下
作者:
wwwsu
时间:
2011-10-29 19:53
我的也是一样,总是报dsn=5.3.5, stat=Local configuration error
Oct 29 19:50:43 localhost sendmail[17409]: p9TBogSA017407: p9TBohSA017409: DSN: Local configuration error
作者:
liyis永恒
时间:
2011-11-18 13:43
一直没有得到解决啊。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2