<?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>Kangzj &#187; socket</title>
	<atom:link href="http://kangzj.net/tag/socket/feed/" rel="self" type="application/rss+xml" />
	<link>http://kangzj.net</link>
	<description>记录技术和生活~</description>
	<lastBuildDate>Thu, 09 Feb 2012 00:57:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Linux VPS IPv6代理的一种架设方法</title>
		<link>http://kangzj.net/linux-vps-ipv6-socket-proxy/</link>
		<comments>http://kangzj.net/linux-vps-ipv6-socket-proxy/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 13:32:24 +0000</pubDate>
		<dc:creator>kangzj</dc:creator>
				<category><![CDATA[服务器OS]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[ipv6代理]]></category>
		<category><![CDATA[socket]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[ssh -D]]></category>
		<category><![CDATA[ssh账号]]></category>
		<category><![CDATA[vps]]></category>

		<guid isPermaLink="false">http://kangzj.net/?p=1516</guid>
		<description><![CDATA[ssh -D大家很熟悉了，可以在把本地端口通过加密连接转发到远程服务器，以实现本地IPv6 socket代理。]]></description>
			<content:encoded><![CDATA[<p>大部分的软件都需要通过打补丁来支持IPv6，有的甚至就不支持IPv6，代理软件也是同样，真是挺麻烦的一件事情。然而IPv6环境下没有某墙的存在，开个代理还真是有用，根本用不着加密连接，就可以访问被强的内容。原先有一个德国的IPv6的代理，被大家给用挂掉了，没办法，得自己开了。</p>
<p>当然你得有个支持IPv6的主机或者VPS了。用什么软件呢，Kangzj特别懒，不爱打补丁（事实上是把squid打过几次补丁都没有编译成功，让我很恼火）。于是想到了ssh。</p>
<p>ssh -D大家很熟悉了，可以在把本地端口通过加密连接转发到远程服务器，以实现本地socket代理。于是Kangzj就有主意了，让ssh远程登录自己，不就可以开个socket代理了么，呵呵。下面就容易了，在终端执行：</p>
<pre lang="bash">ssh –Nf –D 9999 kangzj@domain.com
</pre>
<p>回车，输入密码，ssh便在后台运行了，就成了一个监听9999端口的socket代理了:-)</p>
<p>搞定，不用安装任何代理软件，哈哈，方便吧？</p>
<p>PS: 由于ssh会加密，所以速度肯定不如不加密的连接。牛逼的同学如果能把支持IPv6的squid等代理软件编译成功的话那是最好不过了。谁会弄，告诉我下哈。</p>
<p><img id="myFxSearchImg" style="border: medium none; position: absolute; z-index: 2147483647; opacity: 0.6; display: none;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADsElEQVR4nK2VTW9VVRSGn33OPgWpYLARbKWhQlCHTogoSkjEkQwclEQcNJEwlfgD/AM6NBo1xjhx5LyJ0cYEDHGkJqhtBGKUpm3SFii3vb2956wPB/t+9raEgSs52fuus89613rftdcNH8/c9q9++oe/Vzb5P+3McyNcfm2CcPj9af9w6gwjTwzvethx3Bx3x8xwd1wNM8dMcTNUHTfFLPnX6nVmZpeIYwf3cWD/PhbrvlPkblAzVFurKS6GmmGqqComaS+qmBoTI0Ncu3mXuGvWnrJ+ZSxweDgnkHf8ndVTdbiT3M7cQp2Z31dRTecHAfqydp4ejhwazh6Zezfnu98E1WIQwB3crEuJ2Y45PBTAQUVR9X4At66AppoEVO1Q8sgAOKJJjw6Am6OquDmvHskZ3R87gW+vlHz98zpmiqphkkRVbQtsfPTOC30lJKFbFTgp83bWh7Zx/uX1B6w3hI3NkkZTqEpBRDBRzG2AQHcwcYwEkOGkTERREbLQ/8HxJwuW7zdYrzfZ2iopy4qqEspKaDYravVm33k1R91Q69FA1VBRzFIVvXbx5AgXT44A8MWP81yfu0utIR2aVK3vfCnGrcUNxp8a7gKYKiLCvY2SUvo/aNtnM3e49ucK9S3p0aDdaT0UAVsKi2tVi6IWwNL9JvdqTdihaz79/l+u/rHMxmaJVMLkS2OoKKLWacdeE3IsSxctc2D5Qcl6vUlVVgNt+fkPPcFFmTw1xruvT7SCd7nuVhDQvECzJH90h0azRKoKFRkAmP5lKTWAGRdefoZL554FQNUxB92WvYeA5UN4PtSqwB2phKqsqMpBgAunRhFR3j49zuU3jnX8k6fHEQKXzh1jbmGDuYU6s4t1rt6socUeLLZHhYO2AHSHmzt19ihTZ48O8Hzl/AmunD/BjTvrvPfNX3hWsNpwJCvwYm+ngug4UilSCSq6k8YPtxDwfA+WRawIWFbgscDiULcCEaWqBFOlrLazurupOSHLqGnEKJAY8TwBEHumqUirAjNm52vEPPRV4p01XXMPAQhUBjcWm9QZwijwokgAeYHlHYA06KR1cT6ZvoV56pDUJQEjw0KeaMgj1hPEY4vz2A4eW0/e1qA7KtQdsxTYAG0H3iG4xyK1Y+xm7XmEPOJZDiENzLi2WZHngeOjj2Pe+sMg4GRYyLAsx7ME4FnsyTD9pr0PEc8zPGRAwKXBkYOPEd96cZRvf11g9MDe7e3R4Z4Q+vyEnn3P4t0XzK/W+ODN5/kPfRLewAJVEQ0AAAAASUVORK5CYII%3D" alt="" width="24" height="24" /></p>
<p style='text-align:left'>&copy; 2009, <a href='http://kangzj.net'>kangzj</a>. 版权所有.  </p>
<hr />
<p><small>© kangzj for <a href="http://kangzj.net">Kangzj</a>, 2009. |
<a href="http://kangzj.net/linux-vps-ipv6-socket-proxy/">http://kangzj.net/linux-vps-ipv6-socket-proxy/</a> |
<a href="http://kangzj.net/linux-vps-ipv6-socket-proxy/#comments">32 条评论</a> |
Add to
<a href="http://del.icio.us/post?url=http://kangzj.net/linux-vps-ipv6-socket-proxy/&title=Linux VPS IPv6代理的一种架设方法">del.icio.us</a>
<br/>
Post tags: <a href="http://kangzj.net/tag/ipv6/" rel="tag">ipv6</a>, <a href="http://kangzj.net/tag/ipv6%e4%bb%a3%e7%90%86/" rel="tag">ipv6代理</a>, <a href="http://kangzj.net/tag/socket/" rel="tag">socket</a>, <a href="http://kangzj.net/tag/ssh/" rel="tag">ssh</a>, <a href="http://kangzj.net/tag/ssh-d/" rel="tag">ssh -D</a>, <a href="http://kangzj.net/tag/ssh%e8%b4%a6%e5%8f%b7/" rel="tag">ssh账号</a>, <a href="http://kangzj.net/tag/vps/" rel="tag">vps</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://kangzj.net/linux-vps-ipv6-socket-proxy/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>php发送电子邮件</title>
		<link>http://kangzj.net/php-send-email/</link>
		<comments>http://kangzj.net/php-send-email/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 09:01:34 +0000</pubDate>
		<dc:creator>kangzj</dc:creator>
				<category><![CDATA[网站制作]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-email]]></category>
		<category><![CDATA[sendmail]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[socket]]></category>

		<guid isPermaLink="false">http://kangzj.net.ru/?p=149</guid>
		<description><![CDATA[配置php发送电子邮件(email)有两种方式：
第一种是利用php中的mail函数这里又分两种（利用本机sendmail发送，利用smtp服务器发送）
第二种是利用php socket编程，连接smtp服务器，然后发送邮件。]]></description>
			<content:encoded><![CDATA[<p>    配置php发送电子邮件(email)有两种方式：</p>
<p>    第一种是利用php中的mail函数。这里又分两种（<a href="http://kangzj.net/php-send-email-using-local/" target="_blank">利用本机sendmail发送</a>，<a href="http://kangzj.net/php-send-email-using-remote-smtp/" target="_blank">利用smtp服务器发送</a>），配置好了之后，操作就完全相同了，比如下面的php代码就发送了一封电子邮件：</p>
<p><span id="more-149"></span></p>
<p>$to = “recipient@abc.com”;<br />
$subject = “Hello”;<br />
$body = “Hi,\n\nHow are you?”;<br />
if (mail($to, $subject, $body)) {<br />
     echo(“Message successfully sent!”);<br />
}<br />
else {<br />
     echo(“Message delivery failed&#8230;”);<br />
}</p>
<p>    第二种是<a href="http://kangzj.net/php-socket-send-email-smtp/" target="_blank">利用php socket编程，连接smtp服务器，然后发送邮件</a>。有一些开源的smtp的类可以用，我做的一个群发邮件的例子：<a href="http://kangzj.net/wp-content/uploads/2009/06/email.rar">点击下载</a> ，下面是其中关键部分（用了两种发送方式，可以选择smtp方式和mail函数的方式）：</p>
<pre lang="php">//设置smtp服务器的相关信息----------------------------------------
$smtpserver         = "smtp.gmail.com"; //SMTP服务器
$smtpserverport = 25; //SMTP服务器端口
$smtpusermail     = "webmaster@gmail.com"; //SMTP服务器的用户邮箱
$smtpuser         = "webmaster"; //SMTP服务器的用户帐号
$smtppass         = "000000"; //SMTP服务器的用户密码
$mailtype='HTML';
//////////////////////////----------------------------------------

//设置群发的密码，这里是一个字符 y
if($_POST['password']!='y'){
	exit('Incorrect Password, Access Denied!');
}
//设置邮件列表和文件正文上传的路径
$uploaddir = '/usr/local/ygbweb/htdocs/xq100/';
$uploadfile = $uploaddir . 'maillist.txt';
//上传邮件列表，文本格式，压缩包里有实例
if (move_uploaded_file($_FILES['maillist']['tmp_name'], $uploadfile)) {
    echo "Maillist is valid, and was successfully uploaded.\n
";
	flush();
} else {
    echo "Possible file upload attack!\n";
	exit(0);
}
//html格式的邮件正文
$uploadfile = $uploaddir . 'message.html';

if (move_uploaded_file($_FILES['message']['tmp_name'], $uploadfile)) {
    echo "Message is valid, and was successfully uploaded.\n
";
	flush();
} else {
    echo "Possible file upload attack!\n";
	exit(0);
}

$lines=file("maillist.txt");

//loop through array using foreach
$method=$_POST['method'];
$subject=$_POST['subject'];
$message = file_get_contents($uploaddir . 'message.html');

//包含smtp类
require_once "smtp.class.php";

$smtp = new smtp($smtpserver, $smtpserverport, true, $smtpuser, $smtppass);
//这里面的一个true是表示使用身份验证,否则不使用身份验证.
$smtp-&gt;debug = true;
//是否显示发送的调试信息

foreach($lines as $line_num =&gt; $line)
{
	if($method=='direct'){
		xqmail($line, $subject, $message);
	}elseif($method=='smtp'){

		$smtp-&gt;sendmail($line, $smtpusermail, $subject, $message, $mailtype);
	}

}

function xqmail($to, $subject, $message){
//$to      = '';
//$subject = 'the subject';
//$message = 'hello';
$headers = 'From: webmaster@xinqing100.net' . "\r\n" .
    'Reply-To: xinqing100@bnu.edu.cn' . "\r\n" .
	'Content-type: text/html; charset=gb2312' . "\r\n";
if(mail($to, $subject, $message, $headers)){
		echo "$to 发送成功
";
}

}</pre>
<p style='text-align:left'>&copy; 2009, <a href='http://kangzj.net'>kangzj</a>. 版权所有.  </p>
<hr />
<p><small>© kangzj for <a href="http://kangzj.net">Kangzj</a>, 2009. |
<a href="http://kangzj.net/php-send-email/">http://kangzj.net/php-send-email/</a> |
<a href="http://kangzj.net/php-send-email/#comments">板凳还在</a> |
Add to
<a href="http://del.icio.us/post?url=http://kangzj.net/php-send-email/&title=php发送电子邮件">del.icio.us</a>
<br/>
Post tags: <a href="http://kangzj.net/tag/mail/" rel="tag">mail</a>, <a href="http://kangzj.net/tag/php/" rel="tag">php</a>, <a href="http://kangzj.net/tag/php-email/" rel="tag">php-email</a>, <a href="http://kangzj.net/tag/sendmail/" rel="tag">sendmail</a>, <a href="http://kangzj.net/tag/smtp/" rel="tag">smtp</a>, <a href="http://kangzj.net/tag/socket/" rel="tag">socket</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://kangzj.net/php-send-email/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>php-socket编程通过smtp服务器发送电子邮件</title>
		<link>http://kangzj.net/php-socket-send-email-smtp/</link>
		<comments>http://kangzj.net/php-socket-send-email-smtp/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 08:59:11 +0000</pubDate>
		<dc:creator>kangzj</dc:creator>
				<category><![CDATA[网站制作]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-email]]></category>
		<category><![CDATA[sendmail]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[socket]]></category>

		<guid isPermaLink="false">http://kangzj.net.ru/?p=157</guid>
		<description><![CDATA[   配置php利用本机发送电子邮件和配置php利用远程smtp服务器发送电子邮件在发送电子邮件的时候用的都是php中的mail函数，而这篇文章中据说的，是利用php中的socket编程来连接smtp服务器，从而发送邮件，相当于是用php写了一个发送email的客户端。网上流行的几个php的邮件类，可以完成这样的功能，比如：



 swiftmailer

<span class="readmore"><a href="http://kangzj.net/php-socket-send-email-smtp/" title="php-socket编程通过smtp服务器发送电子邮件">阅读全文——共404字</a></span>]]></description>
			<content:encoded><![CDATA[<p>   <a href="http://kangzj.net/php-send-email-using-local/">配置php利用本机发送电子邮件</a>和<a href="http://kangzj.net/php-send-email-using-remote-smtp/">配置php利用远程smtp服务器发送电子邮件</a>在发送电子邮件的时候用的都是php中的mail函数，而这篇文章中据说的，是利用php中的socket编程来连接smtp服务器，从而发送邮件，相当于是用php写了一个发送email的客户端。网上流行的几个php的邮件类，可以完成这样的功能，比如：</p>
<p><span id="more-157"></span></p>
<blockquote><p> swiftmailer</p>
<p>     一个完全采用面向对象编码用于发送e-mail的PHP函数库。Swift不依赖于PHP的mail()函数，因为用它发送多封邮件时会占用较高的服务器资源。Swift通过直接连到SMTP服务器或MTA能够更快，更高效地发送邮件。</p>
<p>    官方网站：<a href="http://www.swiftmailer.org/">http://www.swiftmailer.org/</a></p></blockquote>
<p>    Discuz!源码中也有相关的代码，有兴趣的可以找出来看看。最后附上我写的一个php程序，用来发群发email的：<a href="http://kangzj.net/wp-content/uploads/2009/06/email.rar">点击下载</a></p>
<p>如果使用中有问题，可以留言讨论。</p>
<p style='text-align:left'>&copy; 2009, <a href='http://kangzj.net'>kangzj</a>. 版权所有.  </p>
<hr />
<p><small>© kangzj for <a href="http://kangzj.net">Kangzj</a>, 2009. |
<a href="http://kangzj.net/php-socket-send-email-smtp/">http://kangzj.net/php-socket-send-email-smtp/</a> |
<a href="http://kangzj.net/php-socket-send-email-smtp/#comments">沙发还在</a> |
Add to
<a href="http://del.icio.us/post?url=http://kangzj.net/php-socket-send-email-smtp/&title=php-socket编程通过smtp服务器发送电子邮件">del.icio.us</a>
<br/>
Post tags: <a href="http://kangzj.net/tag/php/" rel="tag">php</a>, <a href="http://kangzj.net/tag/php-email/" rel="tag">php-email</a>, <a href="http://kangzj.net/tag/sendmail/" rel="tag">sendmail</a>, <a href="http://kangzj.net/tag/smtp/" rel="tag">smtp</a>, <a href="http://kangzj.net/tag/socket/" rel="tag">socket</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://kangzj.net/php-socket-send-email-smtp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>配置php利用远程smtp服务器发送电子邮件</title>
		<link>http://kangzj.net/php-send-email-using-remote-smtp/</link>
		<comments>http://kangzj.net/php-send-email-using-remote-smtp/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 08:58:35 +0000</pubDate>
		<dc:creator>kangzj</dc:creator>
				<category><![CDATA[网站制作]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-email]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[socket]]></category>

		<guid isPermaLink="false">http://kangzj.net.ru/?p=153</guid>
		<description><![CDATA[php的特性，使我们可以很容易地利用网页来发送邮件，配置php利用远程smtp服务器发送电子邮件]]></description>
			<content:encoded><![CDATA[<p>    php的特性，使我们可以很容易地利用网页来发送邮件，<a href="http://kangzj.net/php-send-email-using-local/" target="_blank">配置php利用本地mail服务器发送电子邮件</a>十分简单，同样，<a href="http://kangzj.net/php-send-email-using-remote">配置php利用远程mail服务器发送电子邮件</a>也很容易。php.ini中相关配置选项是[mail configuration]。只要将smtp服务器和你的电子邮件配置好就可以了（当然这里的服务器必须是没有验证的）。</p>
<p>    这里要注意一点，php中的mail函数利用远程smtp服务器发送邮件只有在windows系统才可用。在其它平台上，我们大可以直接用sendmail或者PEAR Mail Package等等。配置好了的话，大约是这样的：</p>
<p>[mail function]<br />
SMTP = smtp.kangzj.net.ru<br />
sendmail_from = <a href="mailto:kangzj@kangzj.net.ru">kangzj@kangzj.net.ru</a></p>
<p style='text-align:left'>&copy; 2009, <a href='http://kangzj.net'>kangzj</a>. 版权所有.  </p>
<hr />
<p><small>© kangzj for <a href="http://kangzj.net">Kangzj</a>, 2009. |
<a href="http://kangzj.net/php-send-email-using-remote-smtp/">http://kangzj.net/php-send-email-using-remote-smtp/</a> |
<a href="http://kangzj.net/php-send-email-using-remote-smtp/#comments">板凳还在</a> |
Add to
<a href="http://del.icio.us/post?url=http://kangzj.net/php-send-email-using-remote-smtp/&title=配置php利用远程smtp服务器发送电子邮件">del.icio.us</a>
<br/>
Post tags: <a href="http://kangzj.net/tag/php/" rel="tag">php</a>, <a href="http://kangzj.net/tag/php-email/" rel="tag">php-email</a>, <a href="http://kangzj.net/tag/smtp/" rel="tag">smtp</a>, <a href="http://kangzj.net/tag/socket/" rel="tag">socket</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://kangzj.net/php-send-email-using-remote-smtp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

