hostname -f hostname:未知的名称或服务

时间:2012-08-09 16:50:56

标签: php dns sendmail hostname hosts

我在试图弄清楚这一点时非常焦躁。主要的问题是当我使用带有php邮件的循环来向我们的用户发送电子邮件时,它只会涉及到一些,我认为这是一个DNS问题。

这是邮件代码

function massEmail($from,$subject,$to,$body) {
    require_once('packages/class.phpmailer.php');
    $success = 0;
    foreach($to as $person) {
        usleep(2000);
        $mail = new PHPMailer(); 
        $mail->From = $from;
        $mail->IsHTML(true);
        $mail->FromName = "cmiVFX";
        $mail->Subject = $subject; 
        $mail->Body = $body;
        $mail->AddAddress($person);
        $ret = $mail->Send();
        if($ret) {
            $success++;
        }
    }   
    var_dump($success);
}

运行主机名时我得到了这个

server.cmivfx.com

运行主机名-f或--fqdn时我得到

hostname: Name or service not known

重新启动sendmail时我得到了

hostname: Name or service not known

这是我的主机文件

127.0.0.1 localhost.localdomain localhost
127.0.1.1 server.cmivfx.com cmivfx.com
69.162.76.226 server.cmivfx.com cmivfx.com

我的主机名文件是

server.cmivfx.com

我的邮件服务器指向谷歌应用程序 所以挖cmivfx.com任何给我

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11895
;; flags: qr rd ra; QUERY: 1, ANSWER: 9, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;cmivfx.com.            IN  ANY

;; ANSWER SECTION:
cmivfx.com.     1553    IN  SOA ns1.limestonenetworks.com. noc.limestonenetworks.com. 1344528611 16384 2048 1048576 2560
cmivfx.com.     1553    IN  NS  ns1.limestonenetworks.com.
cmivfx.com.     1553    IN  NS  ns2.limestonenetworks.com.
cmivfx.com.     1544    IN  MX  1 ASPMX.L.GOOGLE.com.
cmivfx.com.     1544    IN  MX  5 ALT1.ASPMX.L.GOOGLE.com.
cmivfx.com.     1544    IN  MX  10 ASPMX2.GOOGLEMAIL.com.
cmivfx.com.     1544    IN  MX  10 ASPMX3.GOOGLEMAIL.com.
cmivfx.com.     1544    IN  MX  5 ALT2.ASPMX.L.GOOGLE.com.
cmivfx.com.     1519    IN  A   69.162.76.226

;; Query time: 0 msec
;; SERVER: 208.115.254.242#53(208.115.254.242)
;; WHEN: Thu Aug  9 11:48:14 2012
;; MSG SIZE  rcvd: 268

最后,当我用我的gmail运行邮件php代码时很好。我和其他人一起

Could not instantiate mail function

希望我已经提供了足够的信息,知道sendmail的人可以帮助我。非常感谢!

1 个答案:

答案 0 :(得分:2)

/ etc / hosts和/ etc / hostname之间存在冲突: 将/ etc / hostname更改为: cmivfx.com

如果有特殊原因需要将主机名保留为server.cmivfx.com,您可以使用 /etc/hostname + /etc/resolv.conf let 'hostname -f'获取正确的FQDN。

您可以在此处获得一些背景信息:configure FQDN on multiple domains supports mail server