<?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-8664455890097060108</id><updated>2011-07-31T10:48:29.383+02:00</updated><category term='debian'/><category term='tunel'/><category term='postfix'/><category term='ssh'/><category term='smarthost'/><category term='vim'/><category term='smtp'/><category term='auth'/><category term='.vimrc'/><title type='text'>1soproni blogja</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://1soproni.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://1soproni.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Németh Csaba</name><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>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8664455890097060108.post-4087488065844884134</id><published>2010-03-24T14:54:00.001+01:00</published><updated>2010-03-24T14:54:22.510+01:00</updated><title type='text'>Bonding</title><content type='html'>&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;p class="line867"&gt; &lt;/p&gt;&lt;h3 id="Installpackages"&gt;Install packages&lt;/h3&gt; &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;p class="line862"&gt;First install the &lt;a class="interwiki" href="http://packages.debian.org/ifenslave-2.6" title="DebPkg"&gt;ifenslave-2.6&lt;/a&gt; package, necessary to enable bonding: &lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;# apt-get install ifenslave-2.6&lt;/pre&gt;&lt;span class="anchor" id="line-15"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-16"&gt;&lt;/span&gt;&lt;p class="line867"&gt; &lt;/p&gt;&lt;h3 id="ConfigfileforLenny"&gt;Config file for Lenny&lt;/h3&gt; &lt;span class="anchor" id="line-17"&gt;&lt;/span&gt;&lt;p class="line862"&gt;When you use Lenny, you have to modify &lt;strong&gt;/etc/network/interfaces&lt;/strong&gt; only. &lt;span class="anchor" id="line-18"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-19"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-20"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-21"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-22"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-23"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-24"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-25"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-26"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-27"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-28"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-29"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-30"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-31"&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;auto bond0&lt;br /&gt;&lt;br /&gt;iface bond0 inet static&lt;br /&gt;   address 10.31.1.5&lt;br /&gt;   netmask 255.255.255.0&lt;br /&gt;   network 10.31.1.0&lt;br /&gt;   gateway 10.31.1.254&lt;br /&gt;   slaves eth0 eth1&lt;br /&gt;   bond_mode active-backup&lt;br /&gt;   bond_miimon 100&lt;br /&gt;   bond_downdelay 200&lt;br /&gt;   bond_updelay 200&lt;/pre&gt;&lt;span class="anchor" id="line-32"&gt;&lt;/span&gt;For more detail, see &lt;strong&gt;/usr/share/doc/ifenslave-2.6/README.Debian&lt;/strong&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8664455890097060108-4087488065844884134?l=1soproni.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://1soproni.blogspot.com/feeds/4087488065844884134/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://1soproni.blogspot.com/2010/03/bonding.html#comment-form' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/4087488065844884134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/4087488065844884134'/><link rel='alternate' type='text/html' href='http://1soproni.blogspot.com/2010/03/bonding.html' title='Bonding'/><author><name>Németh Csaba</name><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-8664455890097060108.post-7907629244245042470</id><published>2010-03-22T20:51:00.001+01:00</published><updated>2010-03-22T20:53:56.857+01:00</updated><title type='text'>apt-pinning, avagy hogyan használjunk hibrid Debian terjesztést</title><content type='html'>http://hup.hu/node/46408&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;1. Frissítés&lt;/span&gt;&lt;/p&gt; &lt;p&gt;A művelet megkezdése előtt frissítünk:&lt;/p&gt; &lt;pre class="bb-code-block"&gt;$ sudo apt-get update&lt;br /&gt;$ sudo apt-get upgrade&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Ekkor az /etc/apt/sources.list még így néz ki:&lt;/p&gt; &lt;pre class="bb-code-block"&gt;deb &lt;a href="ftp://ftp.hu.debian.org/debian"&gt;ftp://ftp.hu.debian.org/debian&lt;/a&gt; etch main contrib non-free&lt;br /&gt;deb &lt;a href="ftp://ftp.hu.debian.org/debian-security"&gt;ftp://ftp.hu.debian.org/debian-security&lt;/a&gt; etch/updates main contrib non-free&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;span style="font-weight: bold;"&gt;2. sources.list módosítás&lt;/span&gt;&lt;/p&gt; &lt;p&gt;A frissítés után átírjuk a sources.list-et erre:&lt;/p&gt; &lt;pre class="bb-code-block"&gt;deb &lt;a href="ftp://ftp.hu.debian.org/debian"&gt;ftp://ftp.hu.debian.org/debian&lt;/a&gt; etch main contrib non-free&lt;br /&gt;deb &lt;a href="ftp://ftp.hu.debian.org/debian"&gt;ftp://ftp.hu.debian.org/debian&lt;/a&gt; lenny main contrib non-free&lt;br /&gt;deb &lt;a href="ftp://ftp.hu.debian.org/debian"&gt;ftp://ftp.hu.debian.org/debian&lt;/a&gt; sid main contrib non-free&lt;br /&gt;deb &lt;a href="ftp://ftp.hu.debian.org/debian-security"&gt;ftp://ftp.hu.debian.org/debian-security&lt;/a&gt; etch/updates main contrib non-free&lt;br /&gt;deb &lt;a href="ftp://ftp.hu.debian.org/debian-security"&gt;ftp://ftp.hu.debian.org/debian-security&lt;/a&gt; lenny/updates main contrib non-free&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;span style="font-weight: bold;"&gt;3. Apt beállítás&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Valamint az /etc/apt/apt.conf-ba, vagy pl.  /etc/apt/apt.conf.d/80defrelease-be (ez utóbbi saját választott fájlnév)  írjuk be az alábbiakat:&lt;/p&gt; &lt;pre class="bb-code-block"&gt;APT::Cache-Limit 50000000;&lt;br /&gt;APT::Default-Release "stable";&lt;br /&gt;&lt;/pre&gt;&lt;p&gt; (A cache limit a "Dynamic MMap ran out of room" típusú hiba elkerülése  érdekében kell.)&lt;/p&gt; &lt;p&gt;&lt;span style="font-style: italic;"&gt;Az idézett cikkben említett  /etc/apt/preferences fájl már nem szükséges az előbbi  'APT::Default-Release "stable";' miatt:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;s&gt;Package: *&lt;br /&gt;Pin: release a=stable&lt;br /&gt;Pin-Priority: 700&lt;/s&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-style: italic;"&gt;&lt;s&gt;Package: *&lt;br /&gt;Pin: release a=testing&lt;br /&gt;Pin-Priority: 650&lt;/s&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-style: italic;"&gt;&lt;s&gt;Package: *&lt;br /&gt;Pin: release a=unstable&lt;br /&gt;Pin-Priority: 600&lt;/s&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-weight: bold;"&gt;4. Frissítés&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Ezután ismét frissítünk:&lt;/p&gt; &lt;pre class="bb-code-block"&gt;$ sudo apt-get update&lt;br /&gt;$ sudo apt-get upgrade&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Ha minden rendben, akkor a rendszer nem akar semmit upgrade-elni.&lt;/p&gt; &lt;p&gt;&lt;span style="font-weight: bold;"&gt;5. Telepítés&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Innentől a telepítés az idézett módon történik:&lt;/p&gt; &lt;div class="bb-quote"&gt;&lt;b&gt;trey írta:&lt;/b&gt;&lt;br /&gt;&lt;blockquote class="bb-quote-body"&gt; &lt;ol class="bb-list" style="list-style-type: circle;"&gt;&lt;li&gt;sudo apt-get install &lt;csomagnév&gt;/unstable&lt;br /&gt;Ez telepíti a csomagot az ``unstable''-ből, de a ``stable''-ből próbálja  meg a függőségeket rendezni. Ha nem tudja, akkor szól.&lt;br /&gt;...&lt;/csomagnév&gt;&lt;/li&gt;&lt;li&gt;sudo apt-get -t unstable install &lt;csomagnév&gt;&lt;br /&gt;Ez a megoldás a csomagot az ``unstable''-ből próbálja meg telepíteni, és  a függőségeket is az ``unstable''-ből próbálja meg rendezni. Ez talán a  könnyebb út.&lt;/csomagnév&gt;&lt;/li&gt;&lt;/ol&gt; &lt;/blockquote&gt; &lt;/div&gt;  &lt;p&gt;Egy megjegyzés: nem aptitude-öt használunk, hanem apt-get-et, mert az  aptitude elakad a dependency-számításban.&lt;/p&gt; &lt;p&gt;A telepítés lehetséges módjai:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;a. &lt;/span&gt;&lt;code class="bb-code"&gt;$ sudo  apt-get install iceweasel/unstable flashplugin-nonfree/unstable  sun-java6-jdk/unstable gimp/unstable inkscape/unstable  openoffice.org/unstable pidgin/unstable totem/unstable&lt;/code&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(itt a függőségeket a "stable"-ből  próbálja meg rendezni a rendszer, tehát a rendszer stabilitása a fő  szempont, az alkalmazásé alacsonyabb prioritású)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;b.  &lt;/span&gt;&lt;code class="bb-code"&gt;$ sudo  apt-get -t unstable install iceweasel flashplugin-nonfree sun-java6-jdk  gimp inkscape openoffice.org pidgin totem&lt;/code&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(itt a függőségeket a cél verzióból  próbálja meg rendezni a rendszer, tehát az alkalmazás stabilitása a fő  szempont, a rendszeré alacsonyabb prioritású)&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Válasszuk a nekünk szimpatikusat (én a (b) megoldást választottam).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8664455890097060108-7907629244245042470?l=1soproni.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://1soproni.blogspot.com/feeds/7907629244245042470/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://1soproni.blogspot.com/2010/03/apt-pinning-avagy-hogyan-hasznaljunk.html#comment-form' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/7907629244245042470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/7907629244245042470'/><link rel='alternate' type='text/html' href='http://1soproni.blogspot.com/2010/03/apt-pinning-avagy-hogyan-hasznaljunk.html' title='apt-pinning, avagy hogyan használjunk hibrid Debian terjesztést'/><author><name>Németh Csaba</name><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-8664455890097060108.post-2378008385160928897</id><published>2010-02-03T11:38:00.006+01:00</published><updated>2010-03-11T12:28:03.440+01:00</updated><title type='text'>Virtual Vacation</title><content type='html'>Forrás: http://www200.pair.com/mecham/spam/virtualp1.html&lt;br /&gt;There are a lot of good reasons not to use an autoresponder. One reason is: most of the mail we receive is spam and the senders use forged addresses. You will either be sending notices to senders who did not send you mail, or you will fill up your deferred queue with undeliverable mail. There are often other problems like multiple deliveries or the potential for infinite loops.  The 'cache' field in the vacation table that stores email addresses of senders we have already sent notices to can fill up and cause errors. Use at your own risk. We will not use vacation.pl as supplied with PostfixAdmin. I just want to make sure you are using version 3.2, so get a copy from me. My copy also makes one small change: the envelope sender will be the null sender &lt;&gt;. Even though we have the latest version, there may be some lingering issues with vacation.pl; see &lt;a href="http://high5.net/forum/" target="_new110"&gt;http://high5.net/forum/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt; &lt;code&gt; apt-get install libdbi-perl libdbd-mysql-perl&lt;br /&gt;&lt;br /&gt;addgroup --gid 65501 vacation&lt;br /&gt;useradd -c "Virtual Vacation" -d  /nonexistent -u 65501 -g 65501 -s /sbin/false vacation&lt;br /&gt;mkdir /var/spool/vacation&lt;br /&gt;cd /var/spool/vacation/&lt;br /&gt;wget http://www200.pair.com/mecham/spam/gv-vac.txt&lt;br /&gt;&lt;br /&gt;mv gv-vac.txt vacation.pl&lt;br /&gt;sed -i "s/db_pass = 'postfixadmin/db_pass = '&lt;b&gt;pfixadm_password&lt;/b&gt;/" vacation.pl&lt;br /&gt;chown -R vacation:vacation /var/spool/vacation&lt;br /&gt;chmod 750 vacation.pl&lt;br /&gt;cd &lt;/code&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We place an entry in /etc/postfix/transport that will send mail to the vacation script. This is a bogus (sub)domain name. It does not need to be set up in DNS:&lt;br /&gt;&lt;span style="color:Blue;"&gt; &lt;code&gt; vi /etc/postfix/transport &lt;/code&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and insert:&lt;br /&gt;&lt;span style="color:Red;"&gt; &lt;code&gt; autoreply.&lt;b&gt;example.com&lt;/b&gt;   vacation: &lt;/code&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt; &lt;code&gt; vi /etc/postfix/master.cf &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;and insert (just below the maildrop transport might be a good place): &lt;pre&gt;&lt;span style="color:Red;"&gt;vacation  unix  -       n       n       -       -       pipe&lt;br /&gt; flags=Rq user=vacation argv=/var/spool/vacation/vacation.pl -f ${sender} -- ${recipient}&lt;/span&gt;&lt;/pre&gt; Then:&lt;br /&gt;&lt;span style="color:Blue;"&gt; &lt;code&gt; postmap /etc/postfix/transport&lt;br /&gt;postconf -e "transport_maps = hash:/etc/postfix/transport"&lt;br /&gt;LINUX2 &lt;/code&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we configure PostfixAdmin to use vacation:&lt;br /&gt;&lt;span style="color:Blue;"&gt; &lt;code&gt; sed -i "s/vacation'] = 'NO/vacation'] = 'YES/" /var/www/&lt;b&gt;postFixadminx&lt;/b&gt;/config.inc.php &lt;/code&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To change their Auto Response settings, a user could log into:&lt;br /&gt;&lt;a href="https://msa.example.com/postFixadminx/users" target="_new443"&gt; https://&lt;b&gt;msa.example.com&lt;/b&gt;/&lt;b&gt;postFixadminx&lt;/b&gt;/users&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;However, we can avoid users logging into PostfixAdmin by setting up a  PostfixAdmin plugin in SquirrelMail (jump ahead to the next section to set it up - then return here) &lt;a href="https://msa.example.com/mail" target="_new441"&gt;https://&lt;b&gt;msa.example.com&lt;/b&gt;/mail&lt;/a&gt;. Test by logging into your own account and setting yourself up. Remember that the database records the senders it has already seen (so only one notice is sent per sender). To clear out the cache and start over, return from your vacation by choosing Auto Response-&gt;Coming Back and then Auto Response-&gt;Going Away again. Use phpMyAdmin to browse the database as you make changes.&lt;br /&gt;&lt;br /&gt;Now that vacation is working, consider turning it off so no one can use it. First use &lt;a href="https://msa.example.com/phpmyadmiNx" target="_new754"&gt;https://&lt;b&gt;msa.example.com&lt;/b&gt;/&lt;b&gt;phpmyadmiNx&lt;/b&gt;&lt;/a&gt; to make sure there are no entries in the vacation table and no aliases that send mail to @autoreply.&lt;b&gt;example.com&lt;/b&gt;, then:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:Gray;"&gt; &lt;code&gt; sed -i "s/vacation'] = 'YES/vacation'] = 'NO/" /var/www/&lt;b&gt;postFixadminx&lt;/b&gt;/config.inc.php&lt;br /&gt;sed -i "s/Vacation = true/Vacation = false/" /usr/share/squirrelmail/plugins/postfixadmin/config.php&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;###&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/span&gt;&lt;pre&gt;#!/usr/bin/perl -w&lt;br /&gt;#&lt;br /&gt;# Virtual Vacation 3.2&lt;br /&gt;# by Mischa Peters &lt;mischa&gt;&lt;br /&gt;# Copyright (c) 2002 - 2005 High5!&lt;br /&gt;# Licensed under GPL for more info check GPL-LICENSE.TXT&lt;br /&gt;#&lt;br /&gt;# Additions:&lt;br /&gt;# 2004/07/13   David Osborn &lt;ossdev&gt;&lt;br /&gt;#               Uses strict, processes domain level aliases, more&lt;br /&gt;#               subroutines, send reply from original to address&lt;br /&gt;# 2004/11/09   David Osborn &lt;ossdev&gt;&lt;br /&gt;#               Added syslog support       &lt;br /&gt;#               Slightly better logging which includes messageid&lt;br /&gt;#               Avoid infinite loops with domain aliases&lt;br /&gt;#&lt;br /&gt;# 2005/07/20   David Osborn &lt;ossdev&gt;&lt;br /&gt;#               Added threading headers to reply&lt;br /&gt;#               Fixed problem of sending reply to wrong To:&lt;br /&gt;#&lt;br /&gt;# 2005/07/21   Brian Taber &lt;btaber&gt;&lt;br /&gt;#               Added error handling in case of database errors&lt;br /&gt;#               to prevent bounced email&lt;br /&gt;#&lt;br /&gt;# 2007/06/17   Gary V &lt;mr88talent@yahoo.com&gt;&lt;br /&gt;#               Changed sender address to '&lt;&gt;'&lt;br /&gt;#               See RFC3834 Section 3.3&lt;br /&gt;&lt;br /&gt;use DBI;&lt;br /&gt;use strict;&lt;br /&gt;use Sys::Syslog;&lt;br /&gt;&lt;br /&gt;my $db_type = 'mysql';&lt;br /&gt;my $db_host = 'localhost';&lt;br /&gt;my $db_user = 'postfixadmin';&lt;br /&gt;my $db_pass = 'postfixadmin';&lt;br /&gt;my $db_name = 'postfix';&lt;br /&gt;my $sendmail = "/usr/sbin/sendmail";&lt;br /&gt;my $logfile = "";    # specify a file name here for example: vacation.log&lt;br /&gt;my $debugfile = "";  # sepcify a file name here for example: vacation.debug&lt;br /&gt;my $syslog = 1;   # 1 if log entries should be sent to syslog&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;my $dbh = DBI-&gt;connect("DBI:$db_type:$db_name:$db_host", "$db_user", "$db_pass", { RaiseError =&gt; 1 }) or &amp;amp;exit_error($DBI::errstr);&lt;br /&gt;&lt;br /&gt;# make sure vacation.pl exists cleanly when it encounters an error&lt;br /&gt;sub exit_error {&lt;br /&gt;syslog('mail|warning', 'virtual vacation failure: %s', shift);&lt;br /&gt;exit (0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# used to detect infinite address lookup loops&lt;br /&gt;my $loopcount=0;&lt;br /&gt;&lt;br /&gt;sub do_query {&lt;br /&gt;my ($query) = @_;&lt;br /&gt;my $sth = $dbh-&gt;prepare($query) or &amp;amp;exit_error("Can't prepare $query: $dbh-&gt;errstr");&lt;br /&gt;$sth-&gt;execute or die "Can't execute the query: $sth-&gt;errstr";&lt;br /&gt;return $sth;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;sub do_debug {&lt;br /&gt;my ($in1, $in2, $in3, $in4, $in5, $in6) = @_;&lt;br /&gt;if ( $debugfile ) {&lt;br /&gt;   my $date;&lt;br /&gt;   open (DEBUG, "&gt;&gt; $debugfile") or &amp;amp;exit_error("Unable to open debug file");&lt;br /&gt;   chop ($date = `date "+%Y/%m/%d %H:%M:%S"`);&lt;br /&gt;   print DEBUG "====== $date ======\n";&lt;br /&gt;   printf DEBUG "%s | %s | %s | %s | %s | %s\n", $in1, $in2, $in3, $in4, $in5, $in6;&lt;br /&gt;   close (DEBUG);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;sub do_cache {&lt;br /&gt;my ($to, $from) = @_;&lt;br /&gt;my $query = qq{SELECT cache FROM vacation WHERE email='$to' AND FIND_IN_SET('$from',cache)};&lt;br /&gt;my $sth = do_query ($query);&lt;br /&gt;my $rv = $sth-&gt;rows;&lt;br /&gt;if ($rv == 0) {&lt;br /&gt;   $query = qq{UPDATE vacation SET cache=CONCAT(cache,',','$from') WHERE email='$to'};&lt;br /&gt;   $sth = do_query ($query);&lt;br /&gt;}&lt;br /&gt;return $rv;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;sub do_log {&lt;br /&gt;my ($messageid, $to, $from, $subject) = @_;&lt;br /&gt;my $date;&lt;br /&gt;if ( $syslog ) {&lt;br /&gt;    open (SYSLOG, "|/usr/bin/logger -p mail.info -t Vacation") or die ("Unable to open logger");&lt;br /&gt;    printf SYSLOG "Orig-To: %s From: %s MessageID: %s Subject: %s", $to, $from, $messageid, $subject;&lt;br /&gt;    close (SYSLOG);&lt;br /&gt;}&lt;br /&gt;if ( $logfile ) {&lt;br /&gt;    open (LOG, "&gt;&gt; $logfile") or die ("Unable to open log file");&lt;br /&gt;    chop ($date = `date "+%Y/%m/%d %H:%M:%S"`);&lt;br /&gt;    print LOG "$date: To: $to From: $from Subject: $subject MessageID: $messageid \n";&lt;br /&gt;    close (LOG);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;sub do_mail {&lt;br /&gt;my ($from, $to, $subject, $body, $orig_msgID) = @_;&lt;br /&gt;open (MAIL, "| $sendmail -t -f \"&lt;&gt;\"") or die ("Unable to open sendmail");&lt;br /&gt;print MAIL "From: $from\n";&lt;br /&gt;print MAIL "To: $to\n";&lt;br /&gt;print MAIL "Subject: $subject\n";&lt;br /&gt;if ( $orig_msgID ) {&lt;br /&gt;     print MAIL "References: $orig_msgID\n";&lt;br /&gt;     print MAIL "In-Reply-To: $orig_msgID\n";&lt;br /&gt;}&lt;br /&gt;print MAIL "X-Loop: Postfix Admin Virtual Vacation\n\n";&lt;br /&gt;print MAIL "$body";&lt;br /&gt;close (MAIL) or die ("Unable to close sendmail");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;sub find_real_address {&lt;br /&gt;my ($email) = @_;&lt;br /&gt;if (++$loopcount &gt; 20) {&lt;br /&gt;   do_log ("find_real_address loop!", "currently: $email", "ERROR", "ERROR");&lt;br /&gt;   print ("possible infinite loop in find_real_address for &lt;$email&gt;. Check for alias loop\n");&lt;br /&gt;   exit 1;&lt;br /&gt;}&lt;br /&gt;my $realemail;&lt;br /&gt;my $query = qq{SELECT email FROM vacation WHERE email='$email' and active=1};&lt;br /&gt;my $sth = do_query ($query);&lt;br /&gt;my $rv = $sth-&gt;rows;&lt;br /&gt;&lt;br /&gt;# Recipient has vacation&lt;br /&gt;if ($rv == 1) {&lt;br /&gt;     $realemail = $email;&lt;br /&gt;&lt;br /&gt;} else {&lt;br /&gt;   $query = qq{SELECT goto FROM alias WHERE address='$email'};&lt;br /&gt;   $sth = do_query ($query);&lt;br /&gt;   $rv = $sth-&gt;rows;&lt;br /&gt;&lt;br /&gt;   #  Recipient is an alias, check if mailbox has vacation&lt;br /&gt;   if ($rv == 1) {&lt;br /&gt;      my @row = $sth-&gt;fetchrow_array;&lt;br /&gt;      my $alias = $row[0];&lt;br /&gt;      $query = qq{SELECT email FROM vacation WHERE email='$alias' and active=1};&lt;br /&gt;      $sth = do_query ($query);&lt;br /&gt;      $rv = $sth-&gt;rows;&lt;br /&gt;&lt;br /&gt;      # Alias has vacation&lt;br /&gt;      if ($rv == 1) {&lt;br /&gt;          $realemail = $alias;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;   # We still have to look for domain level aliases...&lt;br /&gt;   } else {&lt;br /&gt;     my ($user, $domain) = split(/@/, $email);&lt;br /&gt;     $query = qq{SELECT goto FROM alias WHERE address='\@$domain'};&lt;br /&gt;     $sth = do_query ($query);&lt;br /&gt;     $rv = $sth-&gt;rows;&lt;br /&gt;&lt;br /&gt;     # The receipient has a domain level alias&lt;br /&gt;     if ($rv == 1) {&lt;br /&gt;      my @row = $sth-&gt;fetchrow_array;&lt;br /&gt;      my $wildcard_dest = $row[0];&lt;br /&gt;      my ($wilduser, $wilddomain) = split(/@/, $wildcard_dest);&lt;br /&gt;&lt;br /&gt;      # Check domain alias&lt;br /&gt;      if ($wilduser) {&lt;br /&gt;        ($rv, $realemail) = find_real_address ($wildcard_dest);&lt;br /&gt;      } else {&lt;br /&gt;        my $new_email = $user . '@' . $wilddomain;&lt;br /&gt;        ($rv, $realemail) = find_real_address ($new_email);&lt;br /&gt;      }&lt;br /&gt;     }&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;return ($rv, $realemail);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;sub send_vacation_email {&lt;br /&gt;my ($email, $orig_subject, $orig_from, $orig_to, $orig_messageid) = @_;&lt;br /&gt;my $query = qq{SELECT subject,body FROM vacation WHERE email='$email'};&lt;br /&gt;my $sth = do_query ($query);&lt;br /&gt;my $rv = $sth-&gt;rows;&lt;br /&gt;if ($rv == 1) {&lt;br /&gt;   my @row = $sth-&gt;fetchrow_array;&lt;br /&gt;   if (do_cache ($email, $orig_from)) { return; }&lt;br /&gt;   $row[0] =~ s/\$SUBJECT/$orig_subject/g;&lt;br /&gt;   $row[1] =~ s/\$SUBJECT/$orig_subject/g;&lt;br /&gt;   do_debug ("[SEND RESPONSE] for $orig_messageid:\n", "FROM: $email (orig_to: $orig_to)\n", "TO: $orig_from\n", "SUBJECT: $orig_subject\n", "VACATION SUBJECT: $row[0]\n", "VACATION BODY: $row[1]\n");&lt;br /&gt;   do_mail ($orig_to, $orig_from, $row[0], $row[1], $orig_messageid);&lt;br /&gt;   do_log ($orig_messageid, $orig_to, $orig_from, $orig_subject);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;########################### main #################################&lt;br /&gt;&lt;br /&gt;my ($from, $to, $cc, $subject, $messageid);&lt;br /&gt;&lt;br /&gt;# Take headers apart&lt;br /&gt;while (&lt;stdin&gt;) {&lt;br /&gt;last if (/^$/);&lt;br /&gt;if (/^from:\s+(.*)\n$/i) { $from = $1; }&lt;br /&gt;if (/^to:\s+(.*)\n$/i) { $to = $1; }&lt;br /&gt;if (/^cc:\s+(.*)\n$/i) { $cc = $1; }&lt;br /&gt;if (/^subject:\s+(.*)\n$/i) { $subject = $1; }&lt;br /&gt;if (/^message-id:\s+(.*)\n$/i) { $messageid = $1; }&lt;br /&gt;if (/^precedence:\s+(bulk|list|junk)/i) { exit (0); }&lt;br /&gt;if (/^x-loop:\s+postfix\ admin\ virtual\ vacation/i) { exit (0); }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# If either From: or To: are not set, exit&lt;br /&gt;if (!$from || !$to) { exit (0); }&lt;br /&gt;&lt;br /&gt;$from = lc ($from);&lt;br /&gt;&lt;br /&gt;# Check if it's an obvious sender, exit&lt;br /&gt;if ($from =~ /([\w\-.%]+\@[\w.-]+)/) { $from = $1; }&lt;br /&gt;if ($from eq "" || $from =~ /^owner-|-(request|owner)\@|^(mailer-daemon|postmaster)\@/i) { exit (0); }&lt;br /&gt;&lt;br /&gt;# Strip To: and Cc: and push them in array&lt;br /&gt;my @strip_cc_array;&lt;br /&gt;my @strip_to_array = split(/, */, lc ($to) );&lt;br /&gt;if (defined $cc) { @strip_cc_array = split(/, */, lc ($cc) ); }&lt;br /&gt;push (@strip_to_array, @strip_cc_array);&lt;br /&gt;&lt;br /&gt;my @search_array;&lt;br /&gt;&lt;br /&gt;# Strip email address from headers&lt;br /&gt;for (@strip_to_array) {&lt;br /&gt;if ($_ =~ /([\w\-.%]+\@[\w.-]+)/) {&lt;br /&gt;     push (@search_array, $1);&lt;br /&gt;     #do_debug ("[STRIP RECIPIENTS]: ", $messageid, $1, "-", "-", "-");&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# Search for email address which has vacation&lt;br /&gt;for my $to (@search_array) {&lt;br /&gt;my ($rv, $email) = find_real_address ($to);&lt;br /&gt;if ($rv == 1) {&lt;br /&gt;      do_debug ("[FOUND VACATION]: ", $messageid, $from, $to, $email, $subject);&lt;br /&gt;      send_vacation_email( $email, $subject, $from, $to, $messageid);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;0;&lt;br /&gt;&lt;/stdin&gt;&lt;/mr88talent@yahoo.com&gt;&lt;/btaber&gt;&lt;/ossdev&gt;&lt;/ossdev&gt;&lt;/ossdev&gt;&lt;/mischa&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8664455890097060108-2378008385160928897?l=1soproni.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://1soproni.blogspot.com/feeds/2378008385160928897/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://1soproni.blogspot.com/2010/02/virtual-vacation.html#comment-form' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/2378008385160928897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/2378008385160928897'/><link rel='alternate' type='text/html' href='http://1soproni.blogspot.com/2010/02/virtual-vacation.html' title='Virtual Vacation'/><author><name>Németh Csaba</name><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-8664455890097060108.post-2858912448944721030</id><published>2009-11-16T16:48:00.002+01:00</published><updated>2009-11-16T16:48:50.302+01:00</updated><title type='text'>Levelek kiküldése maildirből sendmaillel</title><content type='html'>&lt;i&gt;for f in $MAILDIR/new/*&lt;/i&gt;&lt;br /&gt;&lt;i&gt;do&lt;/i&gt;&lt;br /&gt;&lt;i&gt;sendmail user@domain &lt;$f&lt;/i&gt;&lt;br /&gt;&lt;i&gt;done&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8664455890097060108-2858912448944721030?l=1soproni.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://1soproni.blogspot.com/feeds/2858912448944721030/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://1soproni.blogspot.com/2009/11/levelek-kikuldese-maildirbol.html#comment-form' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/2858912448944721030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/2858912448944721030'/><link rel='alternate' type='text/html' href='http://1soproni.blogspot.com/2009/11/levelek-kikuldese-maildirbol.html' title='Levelek kiküldése maildirből sendmaillel'/><author><name>Németh Csaba</name><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-8664455890097060108.post-965800051843321678</id><published>2009-11-09T15:26:00.001+01:00</published><updated>2009-11-09T15:30:51.602+01:00</updated><title type='text'>postfix mysql black/whitelist</title><content type='html'>/etc/postfix/main.cf:&lt;br /&gt;smtpd_helo_restrictions = mysql:/etc/postfix/mysql_blacklist.cf&lt;br /&gt;&lt;br /&gt;/etc/postfix/mysql_blacklist.cf:&lt;br /&gt;hosts = 127.0.0.1&lt;br /&gt;user = user&lt;br /&gt;password = password&lt;br /&gt;dbname = dbname&lt;br /&gt;table = bl_mail&lt;br /&gt;select_field = bl_type&lt;br /&gt;where_field = address&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8664455890097060108-965800051843321678?l=1soproni.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://1soproni.blogspot.com/feeds/965800051843321678/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://1soproni.blogspot.com/2009/11/postfix-mysql-blackwhitelist.html#comment-form' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/965800051843321678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/965800051843321678'/><link rel='alternate' type='text/html' href='http://1soproni.blogspot.com/2009/11/postfix-mysql-blackwhitelist.html' title='postfix mysql black/whitelist'/><author><name>Németh Csaba</name><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-8664455890097060108.post-2660000010948528016</id><published>2009-09-15T14:10:00.000+02:00</published><updated>2009-09-15T14:12:17.717+02:00</updated><title type='text'>shaperd</title><content type='html'>/etc/shaperd/shaperd.conf&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;log level = info&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;packet forwarding = ipq&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;daemon = yes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pidfile = /var/run/shaperd.pid&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;class informatika_up {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    ipv4 classifier proto=all saddr=10.1.1.46&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    bandwidth = 1 mbyte/s&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;class informatika_down {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    ipv4 classifier proto=all daddr=10.1.1.46&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    bandwidth = 1 mbyte/s&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;iptables -A FORWARD -s 10.1.1.46 -j QUEUE&lt;br /&gt;iptables -A FORWARD -d 10.1.1.46 -j QUEUE&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;pre style="font-family: arial;" class="bb-code-block"&gt;&lt;span style="font-size:100%;"&gt;modprobe ip_queue&lt;br /&gt;echo 65535 &gt; /proc/sys/net/ipv4/ip_queue_maxlen&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8664455890097060108-2660000010948528016?l=1soproni.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://1soproni.blogspot.com/feeds/2660000010948528016/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://1soproni.blogspot.com/2009/09/shaperd.html#comment-form' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/2660000010948528016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/2660000010948528016'/><link rel='alternate' type='text/html' href='http://1soproni.blogspot.com/2009/09/shaperd.html' title='shaperd'/><author><name>Németh Csaba</name><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-8664455890097060108.post-909329172878282062</id><published>2009-08-17T15:14:00.001+02:00</published><updated>2009-08-17T15:14:28.627+02:00</updated><title type='text'>watch sql</title><content type='html'>watch -n 0,1 'mysql -u squid -psquid squid -B -e "select from_unixtime(timestamp),username,cache_status,req_uri from (select * from access_log_friss order by timestamp desc limit 0, 40) as s2 order by timestamp asc"'&lt;br /&gt;&lt;br /&gt;ctrl+s pillanatnyi állapot megállítása&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8664455890097060108-909329172878282062?l=1soproni.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://1soproni.blogspot.com/feeds/909329172878282062/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://1soproni.blogspot.com/2009/08/watch-sql.html#comment-form' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/909329172878282062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/909329172878282062'/><link rel='alternate' type='text/html' href='http://1soproni.blogspot.com/2009/08/watch-sql.html' title='watch sql'/><author><name>Németh Csaba</name><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-8664455890097060108.post-437508786404566754</id><published>2009-04-26T16:17:00.000+02:00</published><updated>2009-04-26T16:18:03.768+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='tunel'/><title type='text'>Reverse SSH tunel</title><content type='html'>&lt;p&gt; $ ssh -R &lt;span style="font-style: italic;"&gt;remote_port&lt;/span&gt;:localhost:22 &lt;span style="font-style: italic;"&gt;your_home_computer&lt;/span&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt; &lt;span style="font-weight: bold;"&gt;ssh -p 2048 localhost&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8664455890097060108-437508786404566754?l=1soproni.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://1soproni.blogspot.com/feeds/437508786404566754/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://1soproni.blogspot.com/2009/04/reverse-ssh-tunel.html#comment-form' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/437508786404566754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/437508786404566754'/><link rel='alternate' type='text/html' href='http://1soproni.blogspot.com/2009/04/reverse-ssh-tunel.html' title='Reverse SSH tunel'/><author><name>Németh Csaba</name><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-8664455890097060108.post-1193621727517640737</id><published>2009-04-26T16:15:00.000+02:00</published><updated>2009-04-26T16:16:41.765+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='smtp'/><category scheme='http://www.blogger.com/atom/ns#' term='smarthost'/><category scheme='http://www.blogger.com/atom/ns#' term='postfix'/><category scheme='http://www.blogger.com/atom/ns#' term='auth'/><title type='text'>postfix smarthost smtp auth</title><content type='html'>&lt;p&gt;This document describes 5 easy steps to setup your Postfix email server as smarthost to relay on DNS Exit mail relay server for all email sending.&lt;/p&gt; &lt;p&gt;The mail relay service from dnsExit.com can be found at here.&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.dnsexit.com/Direct.sv?cmd=mailRelay"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt; &lt;pre&gt;&lt;strong&gt;1. Create password maps file&lt;/strong&gt; (it assigns username/passwords to specified mail servers). You can choose any name, let's say it is /etc/postfix/relay_passwd. It's content should be as follows:   &lt;br /&gt;&lt;br /&gt;relay.dnsexit.com USERNAME:PASSWORD&lt;br /&gt;   &lt;br /&gt;&lt;strong&gt;Note:&lt;/strong&gt; Replace USERNAME and PASSWORD with your DNS EXIT mail relay username and PASSWORD.  &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Set proper permissions for that file:&lt;/strong&gt;   &lt;br /&gt;# chown root:root /etc/postfix/relay_passwd &lt;br /&gt;# chmod 600 /etc/postfix/relay_passwd    &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Create hash from maps file&lt;/strong&gt; (remember to do it each time you change your maps file):  &lt;br /&gt;#  postmap /etc/postfix/relay_passwd  &lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. Configure your /etc/postfix/main.cf:&lt;/strong&gt;   &lt;br /&gt;relayhost = [relay.dnsexit.com] &lt;br /&gt;smtp_sasl_auth_enable = yes &lt;br /&gt;smtp_sasl_password_maps = hash:/etc/postfix/relay_passwd &lt;br /&gt;smtp_sasl_security_options =   &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note:&lt;/strong&gt; If your ISP blocks outgoing port 25. You can choose to use alternative SMTP ports by appending the port at the end:&lt;br /&gt;relayhost = [relay.dnsexit.com]:26&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5. Reload or restart your postfix:&lt;/strong&gt; &lt;br /&gt;# /etc/init.d/postfix restart&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8664455890097060108-1193621727517640737?l=1soproni.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://1soproni.blogspot.com/feeds/1193621727517640737/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://1soproni.blogspot.com/2009/04/postfix-smarthost-smtp-auth.html#comment-form' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/1193621727517640737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/1193621727517640737'/><link rel='alternate' type='text/html' href='http://1soproni.blogspot.com/2009/04/postfix-smarthost-smtp-auth.html' title='postfix smarthost smtp auth'/><author><name>Németh Csaba</name><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-8664455890097060108.post-4616976354042669395</id><published>2009-04-26T16:12:00.000+02:00</published><updated>2009-04-26T16:14:20.932+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.vimrc'/><category scheme='http://www.blogger.com/atom/ns#' term='vim'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><title type='text'>.vimrc</title><content type='html'>syntax  on&lt;br /&gt;set tabstop=4&lt;br /&gt;startinsert&lt;br /&gt;&lt;br /&gt;map     &lt;f5&gt;    P&lt;br /&gt;map     &lt;f8&gt;    dd&lt;br /&gt;map     &lt;f10&gt;   :wq&lt;enter&gt;&lt;br /&gt;map     &lt;f11&gt;   :q!&lt;enter&gt;&lt;br /&gt;map     &lt;f12&gt;   :w&lt;enter&gt;&lt;br /&gt;&lt;br /&gt;imap    &lt;f5&gt;    &lt;esc&gt;Pa&lt;br /&gt;imap    &lt;f8&gt;    &lt;esc&gt;dda&lt;br /&gt;imap    &lt;f10&gt;   &lt;esc&gt;:wq&lt;enter&gt;&lt;br /&gt;imap    &lt;f11&gt;   &lt;esc&gt;:q!&lt;enter&gt;&lt;br /&gt;imap    &lt;f12&gt;   &lt;esc&gt;:w&lt;enter&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8664455890097060108-4616976354042669395?l=1soproni.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://1soproni.blogspot.com/feeds/4616976354042669395/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://1soproni.blogspot.com/2009/04/vimrc.html#comment-form' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/4616976354042669395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8664455890097060108/posts/default/4616976354042669395'/><link rel='alternate' type='text/html' href='http://1soproni.blogspot.com/2009/04/vimrc.html' title='.vimrc'/><author><name>Németh Csaba</name><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>
