Linux下使用sendmail发送邮件

现在每天需要将统计数据发送给指定的人员。

使用原始手工的方式每天发送很麻烦,于是想改成一个定时任务,让服务器自动发送。

技术告诉我说他有写过sendmail的一个脚本。

我尝试使用了一下,发现 service sendmail status的时候,总是会出现如下东西。我不知道是不是我的误操作导致的邮件发送阻塞。

Oct  5 07:00:01 sgadmin sendmail[30731]: u94N01EY030730: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=138838, dsn=2.0.0, stat=Sent
Oct  5 07:00:34 sgadmin sendmail[30736]: My unqualified host name (sgadmin) unknown; sleeping for retry
Oct  5 07:01:34 sgadmin sendmail[30736]: unable to qualify my own domain name (sgadmin) -- using short name
Oct  5 08:00:01 sgadmin sendmail[30736]: u94N1YKI030736: from=root, size=446, class=-60, nrcpts=1, msgid=<[email protected]>, [email protected]
Oct  5 08:00:01 sgadmin sendmail[31179]: u950017D031179: from=<[email protected]>, size=667, class=-60, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=localhost [127.0.0.1]
Oct  5 08:00:01 sgadmin sendmail[30736]: u94N1YKI030736: to=root, ctladdr=root (0/0), delay=00:58:27, xdelay=00:00:00, mailer=relay, pri=138446, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (u950017D031179 Message accepted for delivery)

 

然后我让sendmail服务重启了一下。这下可就不对了

1.启动时间很长(时间长估计是因为有错误的原因)

2.启动后报错

去查看log日志(cat /var/log/maillog),报错信息如下所示

Oct  7 12:00:02 sgadmin sendmail[10425]: u97401JN010424: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:01, xdelay=00:00:00, mailer=local, pri=138838, dsn=2.0.0, stat=Sent
Oct  7 12:00:35 sgadmin sendmail[10430]: My unqualified host name (sgadmin) unknown; sleeping for retry
Oct  7 12:01:35 sgadmin sendmail[10430]: unable to qualify my own domain name (sgadmin) -- using short name
Oct  7 12:21:34 sgadmin sendmail[10653]: My unqualified host name (sgadmin) unknown; sleeping for retry
Oct  7 12:22:34 sgadmin sendmail[10653]: unable to qualify my own domain name (sgadmin) -- using short name
Oct  7 12:22:34 sgadmin sendmail[10660]: starting daemon (8.14.7): [email protected]01:00:00
Oct  7 12:22:34 sgadmin sm-msp-queue[10673]: My unqualified host name (sgadmin) unknown; sleeping for retry
Oct  7 12:23:34 sgadmin sm-msp-queue[10673]: unable to qualify my own domain name (sgadmin) -- using short name
Oct  7 12:23:34 sgadmin sm-msp-queue[10678]: starting daemon (8.14.7): [email protected]01:00:00
Oct  7 12:36:32 sgadmin sendmail[10877]: My unqualified host name (sgadmin) unknown; sleeping for retry
Oct  7 12:37:32 sgadmin sendmail[10877]: unable to qualify my own domain name (sgadmin) -- using short name
Oct  7 12:37:32 sgadmin sendmail[10882]: starting daemon (8.14.7): [email protected]01:00:00
Oct  7 12:37:32 sgadmin sm-msp-queue[10894]: My unqualified host name (sgadmin) unknown; sleeping for retry
Oct  7 12:38:32 sgadmin sm-msp-queue[10894]: unable to qualify my own domain name (sgadmin) -- using short name
Oct  7 12:38:32 sgadmin sm-msp-queue[10912]: starting daemon (8.14.7): [email protected]01:00:00

错误很明显。意识是找不到sgadmin这个域名。

于是乎就想到修改 /etc/hosts 文件

加上 ip sgadmin 之后重启sendmail服务,仍然报同样的错

这让我很费解啊,我已经加上了啊,难道说没有生效?

然后找到一篇文章,文章说 FQDN里面规定域名必须用"."结尾

于是我又一次修改hosts 意 ip sgadmin. sgadmin 这样的方式

然后重启sendmail服务,一切正常,启动速度也很快,估计是少了寻找domain的时间

博文地址:http://blog.csdn.net/taolinke/article/details/4496316

其实这里我还有疑问。那个技术之前也没有在hosts中添加sgadmin这个域名,为什么他能够正常的发送邮件???

再继续研究一下,未完待续。

时间: 2024-08-25 15:52:24

Linux下使用sendmail发送邮件的相关文章

Linux 下安装 sendmail 发送邮件

一. Sendmail安装 在CentOS下,sendmail一般默认是随操作系统一起安装的.如果安装系统时没有安装sendmail服务,手动安装sendmail也很简单: # yum install -y sendmail # yum install -y sendmail-cf 二. Senmail的SMTP认证配置(不需要认证的可忽略此步) 首先确认saslauthd服务是否安装或启动. 安装saslauthd服务:# yum install -y saslauthd 启动saslauth

linux下用mail发送邮件

利用外部邮箱发送邮件的方法 bin/mail会默认使用本地sendmail发送邮件,这样要求本地的机器必须安装和启动Sendmail服务,配置很麻烦,并且会带来不必要的 资源占用.而通过改动配置文件能够使用外部SMTPserver,能够达到不使用sendmail而用外部的smtpserver发送邮件的目的: 改动/etc/nail.rc (/etc/mail.rc) set [email protected] smtp=smtp.domain.comset smtp-auth-user=user

Linux下使用mail发送邮件

邮件常常是Linux下监控报警手段之一.Linux下的mail命令可以方便,快速的完成发送邮件.下面以CentOS为例 1.安装 [[email protected] ~]# mail -bash: mail: command not found [[email protected] ~]# yum install mailx Loaded plugins: fastestmirror Determining fastest mirrors * base: mirrors.btte.net *

linux下 使用mutt发送邮件

1.下载.解压msmtp #wget http://downloads.sourceforge.net/msmtp/msmtp-1.4.30.tar.bz2?big_mirror=0 #tar jxvf msmtp-1.4.30.tar.bz2 2.安装 #./msmtp-1.4.30/configure –prefix=/usr/local/msmtp #make #make install 3.配置msmtp账号 切换到,cd /usr/local/msmtp 新建文件夹etc,mkdir

linux邮箱系统sendmail惊魂

事情的原委: 年初时就业方向一直很烦,后来接触51CTO后看到了吴光科老师的linux运维初级到高级系统的学下来了终于拿到一分5K的offer,唉由于经验尚浅问题平发.有一次linux下的sendmail邮箱系统,添加完白名单后,从新启动服务谁知道居然死机了.呵呵死机到是小事重启就得了,由于经验欠缺问题这下就来了本来很简单的一件事情接下来却非常的惊魂这天.事情是这样的由于死机了我就去找经理问linux邮箱服务器在那台机器上跑,从他哪里得知是建在一天虚拟机ESI下的,由于我也不懂这虚拟机就夏整了半

Linux下安装配置msmtp和mutt发送邮件

Linux下安装配置msmtp和mutt Linux下有发送邮件的需求,mail搞不定,因为很多邮件服务器屏蔽了mail发送的请求(明显嘛,都木有发送源-_-). 在网上搜了一把,使用msmtp+mutt可以搞定,记录如下. 一.安装配置msmtp 1.下载.解压 msmtp wget http://downloads.sourceforge.net/msmtp/msmtp-1.4.16.tar.bz2 msmtp-1.4.16.tar.bz2tar jxvf msmtp-1.4.16.tar.

linux下msmtp+mutt+shell发送邮件

Linux下安装配置msmtp和mutt发送邮件 作者: 纵横域内 日期: 2014 年 12 月 11 日发表评论 (0)查看评论 Linux下安装配置msmtp和mutt Linux下有发送邮件的需求,mail搞不定,因为很多邮件服务器屏蔽了mail发送的请求(明显嘛,都木有发送源-_-).在网上搜了一把,使用msmtp+mutt可以搞定,记录如下. 一.安装配置msmtp1.下载.解压 msmtpwget http://downloads.sourceforge.net/msmtp/msm

Linux SendMail发送邮件失败诊断案例

Linux上Sendmail经常由于一些配置问题,导致邮件发送失败,下面整理.收集了一些邮件发送失败.异常的案例. 案例1:在新服务器上测试sendmail发送邮件时,发现邮件发送不成功,检查/var/log/maillog日志文件发现如下错误(Notice:hostname.邮箱地址等信息使用xxx代替) tail /var/log/maillog May 15 09:43:38 xxxxx sendmail[9182]: s4F1hcQe009182: from=root, size=582

linux下sendmail邮件系统安装操作记录

电子邮件系统的组成: 1)邮件用户代理(Mail User Agent , MUA),MUA是一个邮件系统的客户端程序,它提供了阅读,发送和接受电子邮件的用户接口. 最常用的 MUA 有: linux 中的 mail , elm , pine 等. Windows 的 outlook , foxmail 等  2)邮件代理器( Mail Transfer Agent , MTA ) MTA 负责邮件的存储和转发( store and forward ). MTA 监视用户代理的请求,根据电子邮件