<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7844658328750651088</id><updated>2011-12-14T18:56:06.613-08:00</updated><title type='text'>CameNix's site</title><subtitle type='html'>How to make a cheap site?</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.mvgg.org/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7844658328750651088/posts/default'/><link rel='alternate' type='text/html' href='http://www.mvgg.org/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Camenix</name><uri>http://www.blogger.com/profile/02967107066119166479</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7844658328750651088.post-4816190678878977773</id><published>2009-10-06T12:48:00.000-07:00</published><updated>2009-10-06T12:49:01.843-07:00</updated><title type='text'></title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7844658328750651088-4816190678878977773?l=www.mvgg.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.mvgg.org/feeds/4816190678878977773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7844658328750651088&amp;postID=4816190678878977773' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7844658328750651088/posts/default/4816190678878977773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7844658328750651088/posts/default/4816190678878977773'/><link rel='alternate' type='text/html' href='http://www.mvgg.org/2009/10/blog-post.html' title=''/><author><name>Camenix</name><uri>http://www.blogger.com/profile/02967107066119166479</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7844658328750651088.post-232192506653823498</id><published>2008-05-06T10:29:00.001-07:00</published><updated>2008-05-06T20:00:29.468-07:00</updated><title type='text'>Create entry by mail on movable type 4</title><content type='html'>pop3_to_blog_utf8.pl  uses Net::MovableType and Mail::Box to convert&lt;br /&gt;mail to blog's entry,it passed at XPsp2 :&lt;br /&gt;&lt;p&gt;perl -w pop3_to_blog_utf8.pl&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------------------&lt;br /&gt;#!/usr/local/bin/perl&lt;/p&gt;&lt;p&gt;# This file is encoding by utf8,do not use other encoding!&lt;br /&gt;#&lt;br /&gt;# These codes are originally comes from&lt;br /&gt;&lt;a href="http://forums.sixapart.com/index.php?showtopic=63059"&gt;http://forums.sixapart.com/index.php?showtopic=63059&lt;/a&gt;&lt;br /&gt;# but has been completely rewritten.&lt;br /&gt;# ----------------------------------------------------------&lt;br /&gt;# I rewrite it because it doesn't support wide character.&lt;br /&gt;# Gao Feng 2007.use it freely.&lt;br /&gt;# ----------------------------------------------------------&lt;br /&gt;# There is an another MT::Import::Mbox ,I am not try it.&lt;br /&gt;# Same as above,a program named mtmail-0.5,a mail-&amp;gt;mt worked as mailfilter&lt;br /&gt;# come from &lt;a href="http://www.zonageek.com/software/files/mt/mtmail-0.5/mtmail.html"&gt;http://www.zonageek.com/software/files/mt/mtmail-0.5/mtmail.html&lt;/a&gt;&lt;br /&gt;# is a more complex case,but it has been outdated.&lt;br /&gt;use strict;&lt;br /&gt;use File::Temp qw ( :mktemp );&lt;br /&gt;use File::Basename;&lt;br /&gt;# use Net::Blogger;&lt;br /&gt;# use XML::Simple;&lt;br /&gt;# use LWP;&lt;br /&gt;# use SOAP;&lt;br /&gt;use Net::MovableType;&lt;br /&gt;# Created by Gao Feng 2007&lt;br /&gt;# the Mail::Box is a large module,&lt;br /&gt;# you'd better use it on your machine.(Not exsited on hosting machine)&lt;br /&gt;use Carp;&lt;br /&gt;use Data::Dump;&lt;br /&gt;use Mail::Box;&lt;br /&gt;use Mail::Box::Manager;&lt;br /&gt;use Mail::Box::POP3;&lt;br /&gt;use Mail::Address;&lt;br /&gt;# use IO::Scalar;&lt;br /&gt;use Encode qw( encode decode );&lt;br /&gt;use Encode::Guess;&lt;/p&gt;&lt;p&gt;sub loopmail{&lt;br /&gt; my $mailproccessor=shift||return;&lt;br /&gt; my $mailconfig=shift;&lt;br /&gt; open(LOGFILE, "&amp;gt;&amp;gt;pop3_to_blog_log.log");&lt;br /&gt; # Net::POP3 Like Net::SMTP,it do nothing but receive messsage&lt;br /&gt; # You must parse the body your self,&lt;br /&gt; # Mail::Box is better.&lt;br /&gt; # But you still have to decoding the header and the body.&lt;br /&gt; # for those who mother language is not English.&lt;br /&gt; my $mgr = Mail::Box::Manager-&amp;gt;new;&lt;br /&gt; # my $url = 'pop3://name:password@pop.perl.com';&lt;br /&gt; # print $mailconfig-&amp;gt;{'type'},"\n",$mailconfig-&amp;gt;{'username'},"\n",$mailconfig-&amp;gt;{'password'},"\n",$mailconfig-&amp;gt;{'server_name'},"\n";&lt;br /&gt; my $pop = $mgr-&amp;gt;open(&lt;br /&gt;     type =&amp;gt; Encode::encode("iso-8859-1", $mailconfig-&amp;gt;{'type'}),&lt;br /&gt;     username =&amp;gt; Encode::encode("iso-8859-1", $mailconfig-&amp;gt;{'username'}),&lt;br /&gt;     password =&amp;gt; Encode::encode("iso-8859-1", $mailconfig-&amp;gt;{'password'}),&lt;br /&gt;     server_name =&amp;gt; Encode::encode("iso-8859-1", $mailconfig-&amp;gt;{'server_name'})&lt;br /&gt;   );&lt;br /&gt; foreach my $message ($pop-&amp;gt;messages) {&lt;br /&gt;   my $Subject = ( $message-&amp;gt;get('Subject')  || '&amp;lt;no subject&amp;gt;' ) ;&lt;br /&gt;   $Subject = Encode::decode( "MIME-Header",$Subject ) ;&lt;br /&gt;   $Subject = Encode::encode('utf8', $Subject);&lt;br /&gt;   # Perl can't detect a string is utf8 encoding&lt;br /&gt;   # use hak instead ,suppose only one address existed.&lt;br /&gt;   my $From = $message-&amp;gt;get('From');&lt;br /&gt;   my $Sender = $message-&amp;gt;get('To');&lt;br /&gt;   $From =~s/^.*&amp;lt;(.*)&amp;gt;$/$1/;&lt;br /&gt;   $Sender =~s/^.*&amp;lt;(.*)&amp;gt;$/$1/;&lt;br /&gt;   # pay attention -&amp;gt;body() print empty line&lt;br /&gt;   # may be caused by utf8 encoding&lt;br /&gt;   # If you want these codes working everywhere,convert the string to utf8&lt;br /&gt;   my $BodyLines = $message-&amp;gt;decoded();&lt;br /&gt;   my $Body = join('',@{ $BodyLines-&amp;gt;{'MMBL_array'} } );&lt;/p&gt;&lt;p&gt;    my $id = &amp;amp;$mailproccessor($mailconfig,$Sender,$From,$Subject,$Body);&lt;br /&gt;   # --------------------------------------------------------------&lt;br /&gt;   # See the documents of Encode::PerlIO;&lt;br /&gt;   # open(OUT, "&amp;gt;:utf8","mail.txt") or die $!;&lt;br /&gt;   # if the string is not encoding ,you can use below&lt;br /&gt;   # The code below convert string to utf8 file automotively,&lt;br /&gt;   # but Encode::from_to method doen't work!&lt;br /&gt;   # open(OUT, "&amp;gt;:encoding(euc-cn)","mail.txt") or die $!;&lt;br /&gt;   # open(OUT, "&amp;gt;:encoding(utf8)","mail.txt") or die $!;&lt;br /&gt;   # print OUT $Subject;&lt;br /&gt;   # close OUT;&lt;br /&gt;   # ---------------------------------------------------------------&lt;br /&gt;   if (!$id){&lt;br /&gt;       print "post fail! \n";&lt;br /&gt;       next;&lt;br /&gt;   }&lt;br /&gt;   # Timestamp for the log.&lt;br /&gt;   my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime();&lt;br /&gt;   $year = sprintf("%02d", $year % 100); # Make 2 digit year.&lt;br /&gt;   $mon += 1; #month is 0 based i.e. 0 = Jan, 11 = Dec&lt;br /&gt;   printf(LOGFILE "%02d-%02d-%02d %02d:%02d:%02d -&amp;gt;Posting message" ,&lt;br /&gt;                     $mday,$mon,$year,$hour,$min,$sec);&lt;br /&gt;   print(LOGFILE "\n");&lt;br /&gt;   print LOGFILE "$Subject \n";&lt;br /&gt;   print LOGFILE "Message posted as $id .\n";&lt;br /&gt;   print "Message posted.\n", $Subject;&lt;br /&gt;   $message-&amp;gt;delete;&lt;br /&gt;   print LOGFILE "Message deleted as $id. \n";&lt;br /&gt; }&lt;br /&gt; # Close POP box..&lt;br /&gt; $pop-&amp;gt;close();&lt;br /&gt; print LOGFILE "Finished processing mail. \n";&lt;br /&gt; close(LOGFILE);&lt;br /&gt;}&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7844658328750651088-232192506653823498?l=www.mvgg.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.mvgg.org/feeds/232192506653823498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7844658328750651088&amp;postID=232192506653823498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7844658328750651088/posts/default/232192506653823498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7844658328750651088/posts/default/232192506653823498'/><link rel='alternate' type='text/html' href='http://www.mvgg.org/2008/05/create-entry-by-mail-on-movable-type-4.html' title='Create entry by mail on movable type 4'/><author><name>Camenix</name><uri>http://www.blogger.com/profile/02967107066119166479</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
