【问题标题】:PHP - mail() function not working on my hosting [closed]PHP - mail() 函数在我的主机上不起作用[关闭]
【发布时间】:2010-11-22 06:53:41
【问题描述】:

我有一个简单的脚本,可以在我的任何其他服务器上正常工作,但在我需要的那个服务器上却没有。

<?php
$mail = mail('test@test.cz', 'My Subject', 'msg');
?>

我尝试致电虚拟主机提供商,但无法联系到他们。也尝试谷歌一些建议,但似乎没有人有同样的问题。

脚本没有显示任何错误消息,它只是不做任何事情。

你知道问题出在哪里,或者有什么其他的方式来发送电子邮件吗?

谢谢

【问题讨论】:

  • windows 还是 linux 主机? Windows 处理它的方式完全不同
  • 好的,我最后联系了托管服务提供商,我们发现它适用于某些邮件,但不适用于其他邮件......例如我的邮件是 mike.92@seznam.cz(不工作) ,但在 test@centrum.cz 上它可以工作..

标签: php email hosting


【解决方案1】:

好像你的服务器上没有配置 sendmail。

您可以做的是在 f.e. 上创建一个邮件帐户。 gmail、yahoo mail 或类似邮件,并使用Zend_Mail 使用 SMTP 从该帐户发送邮件。

我从 Zend Framework 文档中获取了这个代码示例:

$config = array('auth' => 'login',
                'username' => 'myusername',
                'password' => 'password');

$transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);

$mail = new Zend_Mail();
$mail->setBodyText('This is the text of the mail.');
$mail->setFrom('sender@test.com', 'Some Sender');
$mail->addTo('recipient@test.com', 'Some Recipient');
$mail->setSubject('TestSubject');
$mail->send($transport);

这不需要配置 sendmail,因为您使用的是允许 smtp 的预先存在的邮件服务器。

更新: 正如 toto 指出的那样,您的主机也可能阻止 SMTP。在这种情况下,您可以尝试使用 SSL,只需将两个条目添加到 Zend_Mail 配置中,然后应该如下所示:

$config = array('auth' => 'login',
                'username' => 'myusername',
                'password' => 'password',
                'ssl' => 'ssl',
                'port' => 465);

希望这会有所帮助。

【讨论】:

  • 请注意,许多托管服务商会阻止此操作(使用域外的 smtp 服务器)以避免垃圾邮件发送者... :)
【解决方案2】:

脚本不一定会显示错误,失败时 $mail 将是错误的。

一些可能性

  • 您的主机可能已阻止这些端口。

  • 如果是 windows 主机,您可能没有在 php.ini 中设置邮件设置

  • 看看php mail manual page。在示例中,它显示您可以添加额外的标题。您的主机连接到的邮件服务器可能需要某些基本标头

【讨论】:

    【解决方案3】:

    只有这家托管公司才能回答。我们只能做出假设。

    但简单地说:如果此代码适用于其他托管公司而不是这个。这肯定是配置问题(php.ini、smtp 网关/服务器、本地防火墙等)。

    廉价的托管公司通常有很好的支持服务。 ;) 因此,请继续尝试联系他们或相当他们(想象一下您遇到大问题的那一天)......

    【讨论】:

      【解决方案4】:

      如果可能,请检查您的服务器是否将 seznam.cz 解析为正确的 IP 地址。我曾经遇到过类似的问题,我的服务器的 DNS 认为它托管了某个域,所以发往该域的所有电子邮件都不会离开这个盒子!我们花了一段时间才弄明白。

      您可能没有这个问题,但检查一下也无妨。

      【讨论】:

        猜你喜欢
        • 2011-08-15
        • 2011-07-17
        • 2014-03-17
        • 1970-01-01
        • 2013-09-22
        • 2015-02-01
        • 2016-05-14
        • 2014-09-15
        • 2015-04-16
        相关资源
        最近更新 更多