获取sendmail安装/使用PHP邮件()

我在Ubuntu VPS上运行WordPress。 当WordPress试图发送电子邮件像密码重置或注册电子邮件它永远不会交付。 WordPress使用php的mail()函数。

我觉得这是不工作,因为我的VPS没有安装sendmail。 所以我进入SSH,并安装了sudo apt-get install sendmail ,这似乎是成功的。 遵循更多的Googlesearchbuild议,我编辑了php.ini文件以获得sendmailpath。

我把它定位为/usr/sbin/sendmail ,我认为这是许多* nix服务器的典型特征。 检查我在FTP上浏览到这个目录。 “sendmail”目录似乎是一个快捷方式。 这是正确的/预期的?

无论哪种方式的PHP邮件function不工作。 我已经创build了一个phpinfo文件和一个testing邮件php文件,其中只包含一个mail()函数,并将我的电子邮件作为收件人。

注意: 我的VPS还没有域名,只有一个IP地址。 这会影响sendmail的function吗? 我的phpinfo在这里供您参考:http: http://95.142.166.209/phpinfo.php

我是否也需要postfix? 我不认为我有…

这里是一些邮件日志。 我最后执行了邮件function:

 Nov 27 18:41:02 sergeserver sm-msp-queue[5450]: unable to qualify my own domain name (sergeserver) -- using short name Nov 27 19:00:01 sergeserver sm-msp-queue[5497]: My unqualified host name (sergeserver) unknown; sleeping for retry Nov 27 19:01:01 sergeserver sm-msp-queue[5497]: unable to qualify my own domain name (sergeserver) -- using short name Nov 27 19:20:01 sergeserver sm-msp-queue[5532]: My unqualified host name (sergeserver) unknown; sleeping for retry Nov 27 19:21:01 sergeserver sm-msp-queue[5532]: unable to qualify my own domain name (sergeserver) -- using short name Nov 27 19:40:01 sergeserver sm-msp-queue[5568]: My unqualified host name (sergeserver) unknown; sleeping for retry Nov 27 19:41:01 sergeserver sm-msp-queue[5568]: unable to qualify my own domain name (sergeserver) -- using short name Nov 27 20:00:01 sergeserver sm-msp-queue[5605]: My unqualified host name (sergeserver) unknown; sleeping for retry Nov 27 20:01:01 sergeserver sm-msp-queue[5605]: unable to qualify my own domain name (sergeserver) -- using short name Nov 27 20:20:01 sergeserver sm-msp-queue[5641]: My unqualified host name (sergeserver) unknown; sleeping for retry Nov 27 20:21:01 sergeserver sm-msp-queue[5641]: unable to qualify my own domain name (sergeserver) -- using short name Nov 27 20:40:01 sergeserver sm-msp-queue[5675]: My unqualified host name (sergeserver) unknown; sleeping for retry Nov 27 20:41:01 sergeserver sm-msp-queue[5675]: unable to qualify my own domain name (sergeserver) -- using short name Nov 27 21:00:01 sergeserver sm-msp-queue[5712]: My unqualified host name (sergeserver) unknown; sleeping for retry Nov 27 21:01:01 sergeserver sm-msp-queue[5712]: unable to qualify my own domain name (sergeserver) -- using short name Nov 27 21:20:02 sergeserver sm-msp-queue[5747]: My unqualified host name (sergeserver) unknown; sleeping for retry Nov 27 21:21:02 sergeserver sm-msp-queue[5747]: unable to qualify my own domain name (sergeserver) -- using short name Nov 27 21:40:01 sergeserver sm-msp-queue[5782]: My unqualified host name (sergeserver) unknown; sleeping for retry Nov 27 21:41:01 sergeserver sm-msp-queue[5782]: unable to qualify my own domain name (sergeserver) -- using short name Nov 27 22:00:01 sergeserver sm-msp-queue[5831]: My unqualified host name (sergeserver) unknown; sleeping for retry Nov 27 22:01:01 sergeserver sm-msp-queue[5831]: unable to qualify my own domain name (sergeserver) -- using short name Nov 27 22:20:01 sergeserver sm-msp-queue[5866]: My unqualified host name (sergeserver) unknown; sleeping for retry Nov 27 22:21:01 sergeserver sm-msp-queue[5866]: unable to qualify my own domain name (sergeserver) -- using short name Nov 27 22:37:19 sergeserver sendmail[5903]: My unqualified host name (sergeserver) unknown; sleeping for retry Nov 27 22:38:19 sergeserver sendmail[5903]: unable to qualify my own domain name (sergeserver) -- using short name Nov 27 22:38:19 sergeserver sendmail[5903]: qARLcJYI005903: from=adminftp, size=158, class=0, nrcpts=0, msgid=<201211272138.qARLcJYI005903@sergeserver>, relay=adminftp@localhost 

你可能需要postfix或sendmail。 他们服务器的目的是相同的,你不能同时安装。 假设你继续使用sendmail来决定这台机器的邮件是什么样的,比如user@domain.name 。 注意你从sendmail得到两个错误:

第一个错误是My unqualified host name (sergeserver) unknown ,所以请确保在/etc/hosts存在关于sergeserver的条目。

你得到的第二个错误是unable to qualify my own domain name (sergeserver) 。 这意味着除了“简单的”主机名(在你的情况下是sergeserver)之外,机器必须有一个完全合格的名称,这在DNS系统中是唯一的。 因此,如果您在/etc/hosts有以下条目,这将会很有帮助:

 95.142.166.209 sergeserver sergeserver.domain.name 

由于您似乎正在使用Debian或Ubuntu系统,因此sudo sendmailconfig将为您重新启动sendmail。 试试看看会发生什么。 如果仍然不能正常工作,请编辑/etc/mail/sendmail.mc并在底部添加以下行:

 LOCAL_CONFIG Dmsergeserver Djsergeserver.domain.name 

sudo sendmailconfig ,看看会发生什么。