linux 下php mail或sendmail发送邮件慢的解决办法

mail慢并超时是由于sendmail慢引起的,  但sendmail慢又如何解决呢?

第一步:当然是查日志:

vim /var/log/maillog

Jul  5 23:26:20 localhost sendmail[1206]: My unqualified host name (localhost) unknown; sleeping for retry
Jul  5 23:27:20 localhost sendmail[1206]: unable to qualify my own domain name (localhost) -- using short name
Jul  5 23:27:20 localhost sendmail[1206]: r65FRKmm001206: from=nobody, size=187, class=0, nrcpts=1, msgid=<201307051527.r65FRKmm001206@localhost>, relay=nobody@localhost
Jul  5 23:27:20 localhost sendmail[1207]: r65FRKBa001207: from=<nobody@localhost>, size=398, class=0, nrcpts=1, msgid=<201307051527.r65FRKmm001206@localhost>, proto=ESMTP, daemon=MTA, relay=localhost [127.0.0.1]
Jul  5 23:27:20 localhost sendmail[1206]: r65FRKmm001206: to=aaa@gmail.com, ctladdr=nobody (99/99), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30187, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (r65FRKBa001207 Message accepted for delivery)
Jul  5 23:27:22 localhost sendmail[1209]: STARTTLS=client, relay=gmail-smtp-in.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=RC4-SHA, bits=128/128
Jul  5 23:27:25 localhost sendmail[1209]: r65FRKBa001207: to=<aaa@gmail.com>, ctladdr=<nobody@localhost> (99/99), delay=00:00:05, xdelay=00:00:05, mailer=esmtp, pri=120398, relay=gmail-smtp-in.l.google.com. [74.125.129.26], dsn=2.0.0, stat=Sent (OK 1373038045 qn3si5112247pbc.62 - gsmtp)
Jul  5 23:30:01 localhost sendmail[1212]: My unqualified host name (localhost) unknown; sleeping for retry

第二步:在hosts表添加域名

#hostname

vim /etc/hosts

如下添加

::1   localhost localhost.localdomain localhost6 localhost6.localdomain6 你的域名

如果上面办法还是解决不了

检查下php.ini设置是否正确
cat /etc/php.ini | grep sendmail_path
正确的结果应该类似这样
sendmail_path = sendmail -t -i

检查下sendmail是否安装
which sendmail
正常的结果应该类似这样
/usr/sbin/sendmail

如果上面的路径没有找到sendmail
检查下是否安装了包
yum list installed | grep sendmail

时间: 2024-10-02 13:36:32

linux 下php mail或sendmail发送邮件慢的解决办法的相关文章

lnmp中mail函数不能发送邮件2种解决办法

方法一,使用sendmail组件来发邮件 1.安装 sendmail 组件 yum install sendmail 2.使用下面的命令重启php-fpm进程 /etc/init.d/php-fpm restart 3.检测sendmail是否运行正常 /etc/init.d/sendmail status 如果显示正在运行running 就可以. 可能用到的命令 /etc/init.d/sendmail start (启动sendmail) /etc/init.d/sendmail stop 

linux下mysql中文乱码(中文问号)解决办法

linux下则需要修改/etc/my.cnf,在[mysqld]下加入default-character-set = utf8,[client]下加入default-character-set = utf8,在[mysql]字段里加入default-character-set=utf8 实现: 1.查看原编码  代码如下 复制代码 mysql> show variables like 'character%'; //执行编码显示,可以看到默认是latin1 +------------------

Linux下运行mysql命令提示command not found解决办法

把MYSQLPATH/bin/mysql映射到/usr/local/bin目录下:  代码如下 复制代码 cd /usr/local/bin ln -fs /MYSQLPATH/bin/mysql mysql 还有其它常用命令mysqladmin, mysqldump等 例如  代码如下 复制代码 ln -fs /usr/local/mysql/bin/mysql mysql

linux下使用iText生成pdf中文乱码 怎么解决啊

问题描述 linux下使用iText生成pdf中文乱码 怎么解决啊 生成的是乱码 而且是一坨. iText在linux环境下,怎么用啊.

DB2 ESE 9.1在Windows Server 2008下出现无法新建数据库的情况及解决办法

DB2 Enterprise Server Edition(DB2 ESE)9.1在Windows Server 2008 下出现无法新建数据库的情况及解决办法 在安装有,DB2 9.1版本的Windows Server 2008 上面,使用默认的安装方式导致无法创建数据库,相关的错误提示: "SQL3012C 发生系统错误(原因码= "").无法处理后续的SQL 语句.SQLSTATE=58005". 通过分析日志"%programfiles%\IBM\

remotingexception-调用Dubbo服务报以下错误,跪求问题原因和解决办法

问题描述 调用Dubbo服务报以下错误,跪求问题原因和解决办法 Caused by: com.alibaba.dubbo.remoting.RemotingException: message can not send, because channel is closed . url:dubbo://192.168.17.71:21954/com.tw.ei.business.agent.service.ReqBuinessAgentService?anyhost=true&applicatio

Ubuntu下开启php调试模式报错信息解决办法_Linux

Ubuntu下开启php调试模式报错信息解决办法 在Ubuntu下php的缺省设置是不显示错误信息的,如果程序出错会显示"无法处理此请求的错误提示",这在开发环境下非常不方便. 其实我们只要编辑下apache的配置文件就好 1.我的apache 配置文件目录是/etc/apache2/apache2.conf sudo vim /etc/apache2/apache2.conf 再最后加入以下两行 php_flag display_errors on php_value error_r

Asp.net 默认配置下,Session莫名丢失的原因及解决办法

Asp.net 默认配置下,Session莫名丢失的原因及解决办法 正常操作情况下Session会无故丢失.因为程序是在不停的被操作,排除Session超时的可能.另外,Session超时时间被设定成60分钟,不会这么快就超时的. 这次到CSDN上搜了一下帖子,发现好多人在讨论这个问题,然后我又google了一下,发现微软网站上也有类似的内容. 现在我就把原因和解决办法写出来. 原因: 由于Asp.net程序是默认配置,所以Web.Config文件中关于Session的设定如下: <sessio

Sendmail在Linux下架设Mail服务器详解

sendmail是最重要的邮件传输代理程序.理解电子邮件的工作模式是非常重要的.一般情况下,我们把电子邮件程序分解成用户代理,传输代理和投递代理. 用户代理用来接受用户的指令,将用户的信件传送至信件传输代理,如:outlook express.foxmail等.而投递代理则从信件传输代理取得信件传送至最终用户的邮箱,如:procmail. 当用户试图发送一封电子邮件的时候,他并不能直接将信件发送到对方的机器上,用户代理必须试图去寻找一个信件传输代理,把邮件提交给它.信件传输代理得到了邮件后,首先