Linux系统下sendmail发送邮件失败的问题

     问题是:安装完sendmail,启动服务后,发送邮件第一次发送成功,后面再次无论怎么发送都不行,换邮箱也不行。在确认我的邮件发送格式正确无误后,想到查看邮件发送日志:

[[email protected] ~]# tail -20 /var/log/maillog
Oct 
6 23:26:40 backup-11 sendmail[1307]: t96FQeu7001305:
to=<[email protected]>, ctladdr=<[email protected]>
(500/500), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=120620,
relay=163mx03.mxmail.netease.com. [220.181.14.158], dsn=5.0.0,
stat=Service unavailable
Oct  6 23:26:40 backup-11 sendmail[1307]: t96FQeu7001305: t96FQeu7001307: DSN: Service unavailable
Oct 
6 23:26:40 backup-11 sendmail[1307]: t96FQeu7001307:
to=<[email protected]>, delay=00:00:00, xdelay=00:00:00, mailer=local,
pri=31818, dsn=2.0.0, stat=Sent
Oct  6 23:26:41 backup-11 sendmail[1291]: unable to qualify my own domain name (backup-11) -- using short name
Oct 
6 23:26:41 backup-11 sendmail[1311]: t96FQf6u001309:
to=<[email protected]>, ctladdr=<[email protected]>
(500/500), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=120620,
relay=163mx02.mxmail.netease.com. [220.181.14.147], dsn=5.0.0,
stat=Service unavailable
Oct  6 23:26:41 backup-11 sendmail[1311]: t96FQf6u001309: t96FQf6u001311: DSN: Service unavailable
Oct 
6 23:26:41 backup-11 sendmail[1311]: t96FQf6u001311:
to=<[email protected]>, delay=00:00:00, xdelay=00:00:00, mailer=local,
pri=31818, dsn=2.0.0, stat=Sent
Oct  6 23:30:01 backup-11 sendmail[1346]: My unqualified host name (backup-11) unknown; sleeping for retry
Oct  6 23:30:55 backup-11 sendmail[1368]: My unqualified host name (backup-11) unknown; sleeping for retry
Oct  6 23:31:55 backup-11 sm-msp-queue[1377]: My unqualified host name (backup-11) unknown; sleeping for retry
Oct 
6 23:31:58 backup-11 sendmail[1372]: t96DlpHC039178:
to=<[email protected]>, ctladdr=<[email protected]> (500/500),
delay=01:44:06, xdelay=00:00:03, mailer=esmtp, pri=480616,
relay=mta-189.21cn.com. [183.61.185.69], dsn=4.4.2, stat=Deferred
Oct  6 23:32:55 backup-11 sm-msp-queue[1377]: unable to qualify my own domain name (backup-11) -- using short name

通过查看以上日志终于让我找到了蛛丝马迹,呵呵,如下:
DSN: Service unavailable
My unqualified host name (backup-11) unknown; sleeping for retry
unable to qualify my own domain name (backup-11) -- using short name
stat=Deferred
stat=Service unavailable

通过查找资料,解决办法如下:
1.[[email protected] ~]# vi /etc/mail/access
# of the format of this file. (search for access_db in that file)
# package.
#
# If you want to use AuthInfo with "M:PLAIN LOGIN", make sure to h
ave the
# cyrus-sasl-plain package installed.
#
# By default we allow relaying from localhost...
Connect:localhost.localdomain           RELAY
Connect:localhost                       RELAY
Connect:127.0.0.1                       RELAY
Connect:10.0.0.11                       RELAY
Connect:192.168.0.254                       RELAY
2.在 /etc/hosts.allow 中加入以下行:
sendmail : backup-11  #主机名
sendmail : 10.0.0.11  #发送邮件服务器IP地址
3.可以用hostanme 命令临时修改主机名,hostname aa.com;
4.[[email protected] ~]# vi /etc/mail/sendmail.cf
找到:
# SMTP daemon options
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
添加:
# SMTP daemon options
O DaemonPortOptions=Port=smtp,Addr=你的IP, Name=MTA
保存!

切记:修改完hostname以后需要重启sendmail 服务,重启服务后,一切ok.

时间: 2024-10-24 16:31:46

Linux系统下sendmail发送邮件失败的问题的相关文章

linux系统下sendmail的搭建

学习鸟哥linux私房菜所得 sendmail 可以使用rpm -qa |grep sendmail来查看一下是否已安装sendmail-cf和sendmail 如果没有安装可用yum -y install sendmail-cf安装 (注意:经自己测试,发现,用yum命令下载sendmail-cf的时候也会把sendmail安装上去) (rpm的参数:-q是query查询的意思,a是所有的意思) 用rpm -qa|grep m4 来查看一下m4是否已安装,m4是转换sendmail设定文档的一

在Linux系统下mail命令的用法

在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test [email protected]r.com 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并且后面的邮箱不会挡这种可能莫名奇妙的信的时候,就能收到这封信了.如果你不想被这种乱七八糟的事情干扰,后面的邮箱请使用本地帐户. 2. 第二个例子: 三种常用格式发信 mail -s test [email protected]r.com #第一种方法,你可以把当前shell当成编辑器来用,编

linux系统下文件查找

在我们实际应用中,经常需要查找某个特定的文件,或者根据文件的某个特定属性进行查找,今天小菜就给大家分享一下,linux系统下文件查找的两大利器: 1,locate:非实时查找(基于预先生成的数据库查找):模糊匹配:速度快 2,find:实时查找(遍历目录中的所有文件完成查找):精确匹配,支持众多查找标准:速度慢 一.locate 查询系统上预先生成的文件索引数据库:/var/lib/mlocate/mlocate.db 依赖于事先构建的索引:索引的构建是在系统较为空闲时自动进行(周期性任务) 管

linux系统下迁移mysql数据库文件

linux下(这里是centos),mysql安装后,数据库的数据默认存放在/var/lib/mysql目录下,如果该目录下挂载的磁盘空间很少,不够用,需要迁移到其他的目录位置. 方法一: 参照windows下的方法,把/var/lib/mysql移到需要的目录,再修改/etc/my.cnf文件,指定数据目录.这方面的教程网上很多,大家可以去搜索一下. 方法二: 使用linux下的软连接方法,具体操作如下:(以迁移到/home/mysql/目录为例) 先停止mysql: /etc/init.d/

Linux系统下程序后台运行nohup,&,screen等

"nohup" 在用户ssh终端断开或者网络端口时,终端没有HUP信号则会关闭所有子进程. nohup则会让进程忽略HUP信号,不受终端断开限制 一般在结尾加上"&"将命令同时放到中断后台运行 nohup标准输出和标准错误输出会被重定向到nohup.out文件中 [[email protected] ~]# nohup ping www.ibm.com & [1] 3059 nohup: appending output to `nohup.out'

Linux系统下的定时任务Crontab

什么是Crontab Crontab是Linux系统下的定时任务工具,相当于WIN7系统的任务计划,能够让系统定时做出详见 Cron Crontab能用来做什么 Crontab能用来添加Linux或者Unix系统中的定时任务,让系统定时执行某个命令,比如服务器的数据库需要每天凌晨重启下,不可能每天凌晨起来手动重启.可以用Crontab添加凌晨5点重启数据库的定时任务,系统到每天凌晨5点就会自动重启数据了. Crontab能做的事情还很多,比如定时发送邮件,定时检验库存,定时清理日志,定时备份数据

linux系统下的软连接与硬链接

前几天在linux系统下安装mongoDB,然后运行脚本导入数据的时候遇到了链接库查询不到的情况,如图 1所示.当时是通过创建软连接的方式解决的这个问题.虽然,通过网上的教程解决了这个问题,但是对于软连接和硬链接始终不是很明白.趁着周末的时间补补课,将软连接和硬链接的概念.特点以及创建的限制系统的学习一下. 图 1 缺少文件的提示 Linux下的连接文件分为两种,一种是类似于windows的快捷方式的软连接,另一种是就是通常所说的硬链接.这两种链接方式都是为了实现文件的共享而存在的.下面根据自己

Linux系统下自动安装邮件工具Mutt和Msmtp

linux系统下不需启动sendmail类似工具. #!/bin/sh # Create by  JIANGLEI.YU #Define  Configure file check_result(){     if [ $1 != 0 ];then         echo -e "\e[1,44m  <==== Error,Exit install Mutt ====> \e[0m"         rm -fr  /usr/local/msmtp/etc        

linux系统下信号详解2

信号是UNIX 系统所使用的进程通信方法中,最古老的一种.信号不但能从内核发往一个进程,也能从一个进程发往另一个进程.例如,用户在后台启动了一个要运行较长时间的程序,如果想中断其执行,可以用kill 命令把SIGTERM信号发送给这个进程,SIGTERM 将终止此进程的执行.信号还提供了向UNIX 系统进程传送软中断的简单方法.信号可以中断一个进程,而不管它正在作什么工作.由于信号的特点,所以不用它来作进程间的直接数据传送,而把它用作对非正常情况的处理.由于信号本身不能直接携带信息,这就限制了它