<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>fsockopen &#8211; SMsoft &#8211; informatica e dintorni</title>
	<atom:link href="https://blog.smsoft.it/tag/fsockopen/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.smsoft.it</link>
	<description>consigli settimanali su MacOS, GNU/Linux ed Open Source</description>
	<lastBuildDate>Fri, 29 Jul 2011 08:56:50 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=85571</generator>
	<item>
		<title>Testare l&#8217;invio di posta con connessione socket da PHP</title>
		<link>https://blog.smsoft.it/2011/07/29/testare-linvio-di-posta-con-connessione-socket-da-php/</link>
					<comments>https://blog.smsoft.it/2011/07/29/testare-linvio-di-posta-con-connessione-socket-da-php/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 29 Jul 2011 08:56:50 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Html e PHP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[fget]]></category>
		<category><![CDATA[fput]]></category>
		<category><![CDATA[fsockopen]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[socket]]></category>
		<category><![CDATA[telnet]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=1211</guid>

					<description><![CDATA[Segue un semplice script che uso di tanto in tanto per verificare il corretto invio di posta da parte di un server SMTP autenticato. E&#8217; praticamente la stessa cosa che si può fare manualmente con un telnet sulla porta 25 del server, ma dato che bisogna inviare username e password codificati base64, ho preferito creare ... <a title="Testare l&#8217;invio di posta con connessione socket da PHP" class="read-more" href="https://blog.smsoft.it/2011/07/29/testare-linvio-di-posta-con-connessione-socket-da-php/" aria-label="Per saperne di più su Testare l&#8217;invio di posta con connessione socket da PHP">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[<p>Segue un semplice script che uso di tanto in tanto per verificare il corretto invio di posta da parte di un server SMTP autenticato. E&#8217; praticamente la stessa cosa che si può fare manualmente con  un telnet sulla porta 25 del server, ma dato che bisogna inviare username e password codificati base64, ho preferito creare uno script ad-hoc che simula tale connessione:</p>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">#!/usr/bin/php -q
<?
if ($argc == 4){
$user = $argv[1];// prendo l'argomento passato allo script
$pass =  $argv[2];// prendo l'argomento passato allo script
$server =  $argv[3];// prendo l'argomento passato allo script
$toemail = 'nobody@tophost.it';
echo 'telnet mail.'.$server." 25"."\n";
$smtp_server = fsockopen('mail.'.$server, 25, $errno, $errstr, 30);
if(!$smtp_server)
{
  echo "Impossibile connettersi al server";
  exit;
}

$inn = fgets($smtp_server); // output
echo $inn;

echo "HELO ".$server."\n";
fputs($smtp_server, "HELO ".$server."\r\n");
$inn = fgets($smtp_server); // output
echo $inn;

echo "AUTH LOGIN"."\n";
fputs($smtp_server, "AUTH LOGIN\r\n");
$inn = fgets($smtp_server); // output
echo $inn;

echo base64_encode($user)."\n";
fputs($smtp_server, base64_encode($user)."\r\n");
$inn = fgets($smtp_server); // output
echo $inn;

echo base64_encode($pass)."\n";
fputs($smtp_server, base64_encode($pass)."\r\n");
$inn = fgets($smtp_server); // output
echo $inn;

echo "MAIL FROM: info@$server"."\n";
fputs($smtp_server, "MAIL FROM: info@$server\r\n");
$inn = fgets($smtp_server); // output
echo $inn;

echo "RCPT TO: $toemail"."\n";
fputs($smtp_server, "RCPT TO: $toemail\r\n");
$inn = fgets($smtp_server); // output
echo $inn;

echo "RSET"."\n";
fputs($smtp_server, "RSET\r\n");
$inn = fgets($smtp_server); // output
echo $inn;

echo "QUIT"."\n";
fputs($smtp_server, "QUIT\r\n");
$inn = fgets($smtp_server); // output
echo $inn;

fclose($smtp_server);
echo "\n";


}else{
echo "dati mancanti\nInserire user pass server\n";
}
?></pre><p></p>
<p>Ora basta dare i privilegi di esecuzione allo script:</p><pre class="urvanov-syntax-highlighter-plain-tag">chmod 755 test_smtp.php</pre><p>e poi eseguirlo come segue:</p><pre class="urvanov-syntax-highlighter-plain-tag">./test_smtp.php  USER PASS SERVER</pre><p>dove:<br />
USER: username usato per l&#8217;autenticazione<br />
PASS: la relativa password<br />
SERVER: il server verso cui effettuare la connessione</p>
<p>enjoy</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2011/07/29/testare-linvio-di-posta-con-connessione-socket-da-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
