【问题标题】:How to add email function to this php checking script? [closed]如何在这个 php 检查脚本中添加电子邮件功能? [关闭]
【发布时间】:2013-05-05 09:18:21
【问题描述】:

如果端口没有响应(false)下面的这个脚本,如何添加电子邮件功能发送?

<?php

function test_port($host,$port=80,$timeout=6)
{
        $fsock = fsockopen($host, $port, $errno, $errstr, $timeout);
        if ( ! $fsock )
        {
                return FALSE;
        }
        else
        {
                return TRUE;
        }
}

/* check our website http://www.example.com is up and running (port 80) and timeout after 20 seconds */
$ok = test_port('IP/website',80,20);

?>

【问题讨论】:

  • 请再次阅读常见问题解答:stackoverflow.com/faq - 提问前请先搜索您的问题。我写这个特别是因为你当前形式的“问题”是没有的。通过首先搜索,您可能会找到您正在寻找的信息。
  • -1 from me:这个问题没有显示任何研究工作;不清楚或没用。

标签: php email ip port


【解决方案1】:

最简单的方法是将return FALSE; 替换为对PHP mail function 的适当调用

编辑:这解决了mail() 问题,但请注意 fsockopen 可能不是检测主机是否启动的正确方法This question 可能是一个很好的起点。

【讨论】:

  • 所以,喜欢这样吗? pastebin.com/iMN3HaDr
  • 不,使用mail() 就像this。此外,请考虑将第 6-12 行替换为 return !!$fsock 之类的内容或其他直接转换为布尔值的内容。
  • 使用了您的脚本,但是当服务器没有响应端口时,它显示:警告:fsockopen() [function.fsockopen]:无法连接到 ip ...连接被拒绝。
  • mail() 调用正在工作(单独测试),您现在的问题是fsockopen() 不是查找主机是否启动的正确方法。我想你可能会忽略这个警告。
  • 哦,实际上它有效。它正在发送电子邮件并给出此错误。这应该是正常的,因为端口已关闭,这就是为什么它应该给出这个错误,对吗?另外,如何正确实现 !!$fsock ?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-16
  • 1970-01-01
  • 2016-11-19
  • 2012-10-16
相关资源
最近更新 更多