Telnet commands through php?
Posted: Thu Apr 20, 2006 10:29 am
Is it possible to make a php file run telnet commands???
A community of PHP developers offering assistance, advice, discussion, and friendship.
http://forums.devnetwork.net/
make sure you read the user comments as well about telnetole wrote:use fsockopen. i think
Code: Select all
<?php
$handle = smtp_connect("mail.cardiffhigh.cardiff.sch.uk", 25, 30, 1, 1, 1);
echo smtp_command($handle, "EHLO mail.cardiffhigh.cardiff.sch.uk", 1, 1);
echo smtp_command($handle, "MAIL FROM:<owen.campbell-moore@cardiffhigh.cardiff.sch.uk>\r\n", 1, 1);
echo smtp_command($handle, "RCPT TO:<owen.campbell-moore@cardiffhigh.cardiff.sch.uk>\r\n", 1, 1);
echo smtp_command($handle, "DATA\r\n", 1, 1);
echo smtp_command($handle, "hello\r\n.\r\n", 1, 1);
// don't do it like this - it will hang up
// echo smtp_command($handle, "hello", 1, 1);
// echo smtp_command($handle, "\r\n.\r\n", 1, 1);
echo smtp_command($handle, "QUIT\r\n", 1, 1);
smtp_close($handle);
function smtp_connect($host, $port, $timeout=30, $echo_command=False, $echo_response=False, $nl2br=False)
{
$errno = 0;
$errstr = 0;
if($echo_command)
{
if($nl2br) { echo nl2br("CONNECTING TO $host\r\n"); }
else { echo "CONNECTING TO $host\r\n"; }
}
$handle = fsockopen($host, $port, $errno, $errstr, $timeout);
if(!$handle)
{
if($echo_command)
{
if($nl2br) { echo nl2br("CONNECTION FAILED\r\n"); }
else { echo "CONNECTION FAILED\r\n"; }
}
return False;
}
if($echo_command)
{
if($nl2br) { echo nl2br("SUCCESS\r\n"); }
else { echo "SUCCESS\r\n"; }
}
$response = fgets($handle,1);
$bytes_left = socket_get_status($handle);
if ($bytes_left > 0) { $response .= fread($handle, $bytes_left["unread_bytes"]); }
if($echo_response)
{
if($nl2br) { echo nl2br($response); }
else { echo $response; }
}
return $handle;
}
function smtp_command($handle, $command, $echo_command=False, $nl2br=False)
{
if($echo_command)
{
if($nl2br) { echo nl2br($command); }
else { echo $command; }
}
fputs($handle, $command);
$response = fgets($handle,1);
$bytes_left = socket_get_status($handle);
if ($bytes_left > 0) { $response .= fread($handle, $bytes_left["unread_bytes"]); }
if($nl2br) { return nl2br($response); }
else { return $response; }
}
function smtp_close($handle)
{
fclose($handle);
}
?>Supposing you want to use [url]http://www.php.net/stream_get_line[url] instead (or was it _read_line?)unread_bytes (int) - the number of bytes currently contained in the PHP's own internal buffer.
Opmerking: You shouldn't use this value in a script.
So where is there an example of it? Or could you write out a quick example of how to use it?feyd wrote:phpMailer doesn't require the mail function. It can send via SMTP.