<?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-13233519</id><updated>2012-01-30T23:10:27.414-08:00</updated><title type='text'>Qmail Help</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://qmail-support.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://qmail-support.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>FWH</name><uri>http://www.blogger.com/profile/11042197813648919118</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>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-13233519.post-111752498077429050</id><published>2005-05-31T00:31:00.000-07:00</published><updated>2005-05-31T00:36:20.776-07:00</updated><title type='text'>Deleting mails from qmail queue</title><content type='html'>Following commands can delete all mails from your qmail mail server queue.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;qmailctl stop&lt;br /&gt;find /var/qmail/queue/mess -type f -exec rm {} \;&lt;br /&gt;find /var/qmail/queue/info -type f -exec rm {} \;&lt;br /&gt;find /var/qmail/queue/local -type f -exec rm {} \;&lt;br /&gt;find /var/qmail/queue/intd -type f -exec rm {} \;&lt;br /&gt;find /var/qmail/queue/todo -type f -exec rm {} \;&lt;br /&gt;find /var/qmail/queue/remote -type f -exec rm {} \;&lt;br /&gt;qmailctl start&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Do this when even you get time :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13233519-111752498077429050?l=qmail-support.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qmail-support.blogspot.com/feeds/111752498077429050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13233519&amp;postID=111752498077429050' title='33 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111752498077429050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111752498077429050'/><link rel='alternate' type='text/html' href='http://qmail-support.blogspot.com/2005/05/deleting-mails-from-qmail-queue.html' title='Deleting mails from qmail queue'/><author><name>FWH</name><uri>http://www.blogger.com/profile/11042197813648919118</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>33</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13233519.post-111746772212571752</id><published>2005-05-30T08:39:00.000-07:00</published><updated>2005-05-30T08:42:02.133-07:00</updated><title type='text'>badmailfrom</title><content type='html'>You can block email from reaching your server by adding email or domain name to&lt;br /&gt;&lt;br /&gt;/var/qmail/control/badmailfrom&lt;br /&gt;&lt;br /&gt;If you add&lt;br /&gt;&lt;br /&gt;&lt;a href="mailto:spamer@yahoo.com"&gt;spamer@yahoo.com&lt;/a&gt;&lt;br /&gt;spamerhome.com&lt;br /&gt;&lt;br /&gt;Your email server will not accept any email from &lt;a href="mailto:spamer@yahoo.com"&gt;spamer@yahoo.com&lt;/a&gt; and  any email account @spamerhome.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13233519-111746772212571752?l=qmail-support.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qmail-support.blogspot.com/feeds/111746772212571752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13233519&amp;postID=111746772212571752' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111746772212571752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111746772212571752'/><link rel='alternate' type='text/html' href='http://qmail-support.blogspot.com/2005/05/badmailfrom.html' title='badmailfrom'/><author><name>FWH</name><uri>http://www.blogger.com/profile/11042197813648919118</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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13233519.post-111746204795756720</id><published>2005-05-30T07:01:00.000-07:00</published><updated>2005-05-30T07:07:27.956-07:00</updated><title type='text'>vadduser - create an email account</title><content type='html'>vadduser is used to create an email account (email user) under a virtual domain.&lt;br /&gt;&lt;br /&gt;First we add a virtual domain.&lt;br /&gt;&lt;br /&gt;# /usr/home/vpopmail/bin/vadddomain bizhat.com 123456&lt;br /&gt;&lt;br /&gt;Now we will create an email account under bizhat.com domain that we just created.&lt;br /&gt;&lt;br /&gt;# /usr/home/vpopmail/bin/vadduser info@bizhat.com 123456&lt;br /&gt;&lt;br /&gt;This will create an email account info@bizhat.com with password 123456&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;freebsd# /usr/home/vpopmail/bin/vadddomain bizhat.com 123456&lt;br /&gt;freebsd# /usr/home/vpopmail/bin/vadduser info@bizhat.com 123456&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we have created an email account, you can configure email client to read this email account or use webmail.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13233519-111746204795756720?l=qmail-support.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qmail-support.blogspot.com/feeds/111746204795756720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13233519&amp;postID=111746204795756720' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111746204795756720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111746204795756720'/><link rel='alternate' type='text/html' href='http://qmail-support.blogspot.com/2005/05/vadduser-create-email-account.html' title='vadduser - create an email account'/><author><name>FWH</name><uri>http://www.blogger.com/profile/11042197813648919118</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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13233519.post-111746163620967746</id><published>2005-05-30T06:56:00.000-07:00</published><updated>2005-05-30T07:00:36.210-07:00</updated><title type='text'>vdeldomain - deleting a virtual domain</title><content type='html'>After you add a domain with vadddomain, you can delete the virtual domain at any time with vdeldomain command.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;# /usr/home/vpopmail/bin/vdeldomain &lt;domain-name&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;First we will add a virtual domain&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;# /usr/home/vpopmail/bin/vadddomain bizhat.com 123456&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This will add a virtual domain "bizhat.com" with postmaster password "123456"&lt;br /&gt;&lt;br /&gt;Now we will delete it&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;# /usr/home/vpopmail/bin/vdeldomain bizhat.com&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Thats all, the domain is removed from qmail.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13233519-111746163620967746?l=qmail-support.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qmail-support.blogspot.com/feeds/111746163620967746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13233519&amp;postID=111746163620967746' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111746163620967746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111746163620967746'/><link rel='alternate' type='text/html' href='http://qmail-support.blogspot.com/2005/05/vdeldomain-deleting-virtual-domain.html' title='vdeldomain - deleting a virtual domain'/><author><name>FWH</name><uri>http://www.blogger.com/profile/11042197813648919118</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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13233519.post-111746129908547938</id><published>2005-05-30T06:50:00.000-07:00</published><updated>2005-05-30T06:54:59.090-07:00</updated><title type='text'>vpopmail - Adding Virtual Domain with vadddomain</title><content type='html'>vadddomain command is used to add a virtual domain to qmail-vpopmail system.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color:#000099;"&gt;vadddomain: usage: vadddomain [options] virtual_domain [postmaster password]&lt;br /&gt;options: -v prints the version&lt;br /&gt;         -q quota_in_bytes (sets the quota for postmaster account)&lt;br /&gt;         -b (bounces all mail that doesn't match a user, default)&lt;br /&gt;         -e email_address (forwards all non matching user to this address [*])&lt;br /&gt;         -u user (sets the uid/gid based on a user in /etc/passwd)&lt;br /&gt;         -d dir (sets the dir to use for this domain)&lt;br /&gt;         -i uid (sets the uid to use for this domain)&lt;br /&gt;         -g gid (sets the gid to use for this domain)&lt;br /&gt;         -O optimize adding, for bulk adds set this for all&lt;br /&gt;            except the last one&lt;br /&gt;         -r[len] (generate a len (default 8) char random postmaster password)&lt;br /&gt;&lt;br /&gt; [*] omit @-sign to deliver directly into user's Maildir: '-e postmaster'&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Here is how we add a virtual domain "bizhat.com" to qmail-vpopmail system.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;freebsd# /usr/home/vpopmail/bin/vadddomain bizhat.com&lt;br /&gt;Please enter password for postmaster:&lt;br /&gt;enter password again:&lt;br /&gt;freebsd#&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;OR we can provide postmaster password in command line.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;freebsd# /usr/home/vpopmail/bin/vadddomain bizhat.com 123456&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13233519-111746129908547938?l=qmail-support.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qmail-support.blogspot.com/feeds/111746129908547938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13233519&amp;postID=111746129908547938' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111746129908547938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111746129908547938'/><link rel='alternate' type='text/html' href='http://qmail-support.blogspot.com/2005/05/vpopmail-adding-virtual-domain-with.html' title='vpopmail - Adding Virtual Domain with vadddomain'/><author><name>FWH</name><uri>http://www.blogger.com/profile/11042197813648919118</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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13233519.post-111746062614683002</id><published>2005-05-30T06:32:00.000-07:00</published><updated>2005-05-30T06:43:46.150-07:00</updated><title type='text'>vpopmail</title><content type='html'>By default qmail can only serve users in /etc/password, that is system users.&lt;br /&gt;&lt;br /&gt;If we want to povide free email to all our visitors, we have to make system user for each email account. But we do not want this.&lt;br /&gt;&lt;br /&gt;By using vpopmail with qmail, we can store email users info in MySQL instead of /etc/passwd&lt;br /&gt;&lt;br /&gt;This will allow us to host more than one domain in a server (qmail installation).&lt;br /&gt;&lt;br /&gt;vpopmail is provided by inter7.com&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.inter7.com/index.php?page=vpopmail"&gt;http://www.inter7.com/index.php?page=vpopmail&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;vpopmail usualy installed in&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;/home/vopomail/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;in FreeBSD it will be in&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000066;"&gt;/usr/home/vpopmail/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can find vpopmail commands at&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;/usr/home/vpopmail/bin&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;freebsd# pwd&lt;br /&gt;/usr/home/vpopmail/bin&lt;br /&gt;freebsd# ls -l&lt;br /&gt;total 3572&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  150205 May 26 01:14 clearopensmtp&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  156265 May 26 01:14 dotqmail2valias&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  154045 May 26 01:14 vaddaliasdomain&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  158436 May 26 01:14 vadddomain&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  158093 May 26 01:14 vadduser&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  157902 May 26 01:14 valias&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  153998 May 26 01:14 vchangepw&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  168220 May 26 01:14 vchkpw&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  160509 May 26 01:14 vconvert&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  153537 May 26 01:14 vdeldomain&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  177305 May 26 01:14 vdelivermail&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  155854 May 26 01:14 vdeloldusers&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  153722 May 26 01:14 vdeluser&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  155969 May 26 01:14 vdominfo&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  151539 May 26 01:14 vipmap&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  151609 May 26 01:14 vkill&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  152954 May 26 01:14 vmkpasswd&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  169898 May 26 01:14 vmoddomlimits&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  158286 May 26 01:14 vmoduser&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  154310 May 26 01:14 vpasswd&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  159823 May 26 01:14 vpopbull&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  155521 May 26 01:14 vsetuserquota&lt;br /&gt;-rwx--x--x  1 vpopmail  vchkpw  159903 May 26 01:14 vuserinfo&lt;br /&gt;freebsd#&lt;br /&gt;&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/13233519-111746062614683002?l=qmail-support.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qmail-support.blogspot.com/feeds/111746062614683002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13233519&amp;postID=111746062614683002' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111746062614683002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111746062614683002'/><link rel='alternate' type='text/html' href='http://qmail-support.blogspot.com/2005/05/vpopmail.html' title='vpopmail'/><author><name>FWH</name><uri>http://www.blogger.com/profile/11042197813648919118</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>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13233519.post-111728651447244284</id><published>2005-05-28T06:21:00.000-07:00</published><updated>2005-05-28T06:21:54.473-07:00</updated><title type='text'>What is Qmail rcpthosts ?</title><content type='html'>&lt;strong&gt;rcpthosts&lt;/strong&gt; host is a text file, contains list of domain names one per line, that a qmail server is allowed to send/receive emails with out SMTP authentication.&lt;br /&gt;&lt;br /&gt;All domain names hosted on a server is listed in rcpthosts, so qmail server knows the domain is local and have to accept emails coming to this domain name.&lt;br /&gt;&lt;br /&gt;rcpthosts is located in&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;/var/qmail/control/rcpthosts&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Let me know you the content of my rcpthosts file&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;freebsd# cat /var/qmail/control/rcpthosts&lt;br /&gt;freebsd.netfreehost.com&lt;br /&gt;netfreehost.com&lt;br /&gt;freebsd#&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That is "freebsd.netfreehost.com" is my hostname. After installing qmail, i added a domain name for testing through vqadmin, so the second line "netfreehost.com", if i add more domains, that will get listed in &lt;span style="color:#000099;"&gt;/var/qmail/control/rcpthosts&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13233519-111728651447244284?l=qmail-support.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qmail-support.blogspot.com/feeds/111728651447244284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13233519&amp;postID=111728651447244284' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111728651447244284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111728651447244284'/><link rel='alternate' type='text/html' href='http://qmail-support.blogspot.com/2005/05/what-is-qmail-rcpthosts.html' title='What is Qmail rcpthosts ?'/><author><name>FWH</name><uri>http://www.blogger.com/profile/11042197813648919118</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>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13233519.post-111728602239472322</id><published>2005-05-28T06:10:00.000-07:00</published><updated>2005-05-28T06:13:42.396-07:00</updated><title type='text'>Qmail Variable RELAYCLIENT</title><content type='html'>qmail-smtpd uses the vairable &lt;span style="color:#000099;"&gt;RELAYCLIENT&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;When the variable RELAYCLIENT is set, qmail-smtpd will accept email for relay.&lt;br /&gt;&lt;br /&gt;If variable RELAYCLIENT not SET, qmail-smtpd will not accept any emails for relay, it only accept emails for localdomains (site hosted on the qmail server).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13233519-111728602239472322?l=qmail-support.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qmail-support.blogspot.com/feeds/111728602239472322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13233519&amp;postID=111728602239472322' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111728602239472322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111728602239472322'/><link rel='alternate' type='text/html' href='http://qmail-support.blogspot.com/2005/05/qmail-variable-relayclient.html' title='Qmail Variable RELAYCLIENT'/><author><name>FWH</name><uri>http://www.blogger.com/profile/11042197813648919118</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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13233519.post-111728537914715501</id><published>2005-05-28T05:59:00.000-07:00</published><updated>2005-05-28T06:02:59.150-07:00</updated><title type='text'>Qmail SMTP Access Control with tcp.smtp</title><content type='html'>Before we can start using qmail smtpd service, we need to define some access control.&lt;br /&gt;&lt;br /&gt;This can be done with file&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;/etc/tcp.smtp&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To allow relaying from localhost, you have to add&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;127.:allow,RELAYCLIENT=""&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This setting wil allow Qmail SMTP server to send email from any IP starting with 127.X.X.X&lt;br /&gt;&lt;br /&gt;IP 127.0.0.1 is used by localhost&lt;br /&gt;&lt;br /&gt;If you need to allow relay from IP address 200.200.200.100 and localhost, Add following&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;127.:allow,RELAYCLIENT=""&lt;br /&gt;200.200.200.100:allow,RELAYCLIENT=""&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Now you need to use tcprules command to add the rule to qmail database (/etc/tcp.smtp.cdb).&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp &lt; /etc/tcp.smtp&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13233519-111728537914715501?l=qmail-support.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qmail-support.blogspot.com/feeds/111728537914715501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13233519&amp;postID=111728537914715501' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111728537914715501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111728537914715501'/><link rel='alternate' type='text/html' href='http://qmail-support.blogspot.com/2005/05/qmail-smtp-access-control-with-tcpsmtp.html' title='Qmail SMTP Access Control with tcp.smtp'/><author><name>FWH</name><uri>http://www.blogger.com/profile/11042197813648919118</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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13233519.post-111726582457739308</id><published>2005-05-28T00:15:00.000-07:00</published><updated>2005-05-28T00:37:04.580-07:00</updated><title type='text'>maildirmake</title><content type='html'>&lt;strong&gt;maildirmake&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The maildirmake command creates maildirs, and maildir folders.&lt;br /&gt;&lt;br /&gt;maildirmake [ options ... ] maildir&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Options&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-S&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;create  a  "sharable"  maildir.  A sharable maildir has slightly different permissions which allows creation  of  publicly-shared folders.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-q quota&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Install a quota on the maildir.  See "Maildir Quotas", below.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-f folder&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Do  not  create  a  maildir,  but create a folder in an existing maildir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-s mode&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;create a publicly accessible folder in an  existing  sharable maildir.  First, use the -S option to create a sharable maildir. Then, run maildirmake again with the -s option  to  create  publicly accessible folders. mode is a comma-separated list of the following keywords: &lt;br /&gt;&lt;br /&gt;read - readonly folder, only you  can  write messages  to this folder&lt;br /&gt;&lt;br /&gt;write - anyone can read and write messages to this folder&lt;br /&gt;&lt;br /&gt;group - only allow  members  of  your  own system  group  to  access  messages  in  this folder (instead of everyone).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;--add name=pathname, --del name&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Create or delete the directories  and  links  needed  to  access shared folders.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13233519-111726582457739308?l=qmail-support.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qmail-support.blogspot.com/feeds/111726582457739308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13233519&amp;postID=111726582457739308' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111726582457739308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111726582457739308'/><link rel='alternate' type='text/html' href='http://qmail-support.blogspot.com/2005/05/maildirmake.html' title='maildirmake'/><author><name>FWH</name><uri>http://www.blogger.com/profile/11042197813648919118</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-13233519.post-111726445940063132</id><published>2005-05-27T23:19:00.000-07:00</published><updated>2005-05-28T00:14:19.410-07:00</updated><title type='text'>What is maildir</title><content type='html'>&lt;strong&gt;maildir - E-mail directory&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A ``Maildir'' is a structured directory that holds E-mail messages. Maildirs were first implemented by the Qmail mail server.  Qmail's maildirs were a simple data structure, nothing more than a single collection of E-mail messages. Courier builds upon Qmail's maildirs to provide extended functionality, such as folders and quotas. This document describes Courier's extended maildirs, without explicitly identify Courier-specific extensions. See maildir in Qmail's documentation for the original definition of maildirs.&lt;br /&gt;&lt;br /&gt;Traditionally, E-mail folders were saved as plain text files, called ``mboxes''. Mboxes have known limitations. Only one application can use an mbox at the same time. Locking is required in order to allow simultaneous concurrent access by different applications. Locking is often problematic, and not very reliable in network-based filesystem requirements. Some network-based filesystems don't offer any reliable locking mechanism at all. Furthermore, even bulletproof locking won't prevent occasional mbox corruption. A process can be killed or terminated in the middle of updating an mbox. This will likely result in corruption, and a loss of most messages in the mbox.&lt;br /&gt;&lt;br /&gt;Maildirs allow multiple concurrent access by different applications. Maildirs do not require locking. Multiple applications can update a maildir at the same time, without stepping on each other's feet.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;MAILDIR CONTENTS&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A ``maildir'' is a directory that's created by maildirmake. Naturally, maildirs should not have any group or world permissions, unless you want other people to read your mail. A maildir contains three sub-&lt;br /&gt;directories: tmp, new, and cur. These three subdirectories comprise the primary folder, where new mail is delivered by the system.&lt;br /&gt;&lt;br /&gt;Folders are additional subdirectories in the maildir whose names begin with a period: such as .Drafts or .Sent. Each folder itself contains the same three subdirectories, tmp, new, and cur, and an additional zero-length file named maildirfolder, whose purpose is to inform any mail delivery agent that it's really delivering to a folder, and that the mail delivery agent should look in the parent directory for any maildir-related information.&lt;br /&gt;&lt;br /&gt;Folders are not physically nested.  A folder subdirectory, such as .Sent does not itself contain any subfolders. The main maildir contains a single, flat list of subfolders. These folders are logically nested, and periods serve to separate folder hierarchies. For example, .Sent.2002 is considered to be a subfolder called ``2002'' which is a subfolder of ``Sent''.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;FOLDER NAME ENCODING&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Folder names can contain any Unicode character, except for control characters. US-ASCII characters, U+0x0020 - U+0x007F, except for the period, forward-slash, and ampersand characters (U+0x002E, U+0x002F, and U+0x0026) represent themselves. The ampersand is represent by the two character sequence ``&amp;-''. The period, forward slash, and non US-ASCII Unicode characters are represented using the UTF-7 character set, and encoded with a modified form of base64-encoding. The ``&amp;'' character starts the modified base64-encoded sequence; the sequence is terminated by the ``-'' character. The sequence of 16-bit Unicode characters is written in big-endian order, and encoded using the base64-encoding method described in section 5.2 of RFC 1521, with the following modifications:&lt;br /&gt;&lt;br /&gt;o The ``='' padding character is omitted. When decoding, an incomplete 16-bit character is discarded.&lt;br /&gt;&lt;br /&gt;o The comma character, ``,'' is used in place of the ``/'' character in the base64 alphabet.&lt;br /&gt;&lt;br /&gt;For example, the word ``Resume'' with both "e"s being the e-acute character, U+0x00e9, is encoded as ``R&amp;AOk-sum&amp;AOk-'' (so a folder of that name would be a maildir subdirectory called ``.R&amp;AOk-sum&amp;AOk-'').&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;OTHER MAILDIR CONTENTS&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Software that uses maildirs may also create additional files besides the tmp, new, and cur subdirectories -- in the main maildir or a subfolder -- for its own purposes.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;MESSAGES&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;E-mail messages are stored in separate, individual files, one E-mail message per file. The tmp subdirectory temporarily stores E-mail messages that are in the process of being delivered to this maildir.  tmp may also store other kinds of temporary files, as long as they are created in the same way that message files are created in tmp.  The new subdirectory stores messages that have been delivered to this maildir, but have not yet been seen by any mail application. The cur subdirectory stores messages that have already been seen by mail applications.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ADDING NEW MAIL TO MAILDIRS&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The following process delivers a new message to the maildir:&lt;br /&gt;&lt;br /&gt;A new unique filename is created using one of two possible forms: ``time.MusecPpid.host'', or ``time.MusecPpid_unique.host''. ``time'' and ``usec'' is the current system time, obtained from gettimeofday(2). ``pid'' is the process number of the process that is delivering this message to the maildir. ``host'' is the name of the machine where the mail is being delivered. In the event that the same process creates multiple messages, a suffix unique to each message is appended to the process id; preferrably an underscore, followed by an increasing counter. This applies whether messages created by a process are all added to the same, or different, maildirs. This protocol allows multiple processes running on multiple machines on the same network to simultaneously create new messages without stomping on each other.&lt;br /&gt;&lt;br /&gt;The filename created in the previous step is checked for existence by executing the stat(2) system call.  If stat(2) results in ANYTHING OTHER than the system error ENOENT, the process must sleep for two sec- onds, then go back and create another unique filename.  This is an extra step to insure that each new message has a completely unique filename.&lt;br /&gt;&lt;br /&gt;Other applications that wish to use tmp for temporary storage should observe the same protocol (but see READING MAIL FROM MAILDIRS below, because old files in tmp will be eventually deleted).&lt;br /&gt;&lt;br /&gt;If the stat(2) system call returned ENOENT, the process may proceed to create the file in the tmp subdirectory, and save the entire message in the new file. The message saved MUST NOT have the ``From_'' header that is used to mboxes. The message also MUST NOT have any ``From_'' lines in the contents of the message prefixed by the ``&gt;'' character.&lt;br /&gt;&lt;br /&gt;When saving the message, the number of bytes returned by the write(2) system call must be checked, in order to make sure that the complete message has been written out.&lt;br /&gt;&lt;br /&gt;After the message is saved, the file descriptor is fstat(2)-ed.  The file's device number, inode number, and the its byte size, are saved. The file is closed and is then immediately moved/renamed into the new subdirectory.  The name of the file in new should be ``time.MusecPpid- VdevIino.host,S=cnt'', or ``time.MusecPpidVdevIino_unique.host,S=cnt''. ``dev'' is the message's device number, ``ino'' is the message's inode number (from the previous fstat(2) call); and ``cnt'' is the message's size, in bytes.&lt;br /&gt;&lt;br /&gt;The ``,S=cnt'' part optimizes Courier's maildir quota enhancement; it allows the size of all the mail stored in the maildir to be added up without issuing the stat(2) system call for each individual message (this can be quite a performance drain with certain network filesys- tems).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;READING MAIL FROM MAILDIRS&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Applications that read mail from maildirs should do it in the following order:&lt;br /&gt;&lt;br /&gt;When opening a maildir or a maildir folder, read the tmp subdirectory and delete any files in there that are at least 36 hours old.&lt;br /&gt;&lt;br /&gt;Look for new messages in the new subdirectory. Rename new/filename, as cur/filename:2,info. Here, info represents the state of the message, and it consists of zero or more boolean flags chosen from the following: ``D'' - this is a 'draft' message, ``R'' - this message has been replied to, ``S'' - this message has been viewed (seen), ``T'' - this message has been marked to be deleted (trashed), but is not yet removed (messages are removed from maildirs simply by deleting their file), ``F'' - this message has been marked by the user, for some purpose. These flags must be stored in alphabetical order. New messages contain only the :2, suffix, with no flags, indicating that the messages were not seen, replied, marked, or deleted.&lt;br /&gt;&lt;br /&gt;Maildirs may have maximum size quotas defined, but these quotas are purely voluntary. If you need to implement mandatory quotas, you should use any quota facilities provided by the underlying filesystem that is used to store the maildirs. The maildir quota enhancement is designed to be used in certain situations where filesystem-based quotas cannot be used for some reason.  The implementation is designed to avoid the use of any locking. As such, at certain times the calculated quota may be imprecise, and certain anomalous situations may result in the maildir actually going over the stated quota. One such situation would be when applications create messages without updating the quota estimate for the maildir.  Eventually it will be precisely recalcu- lated, but wherever possible new messages should be created in compli- ance with the voluntary quota protocol.&lt;br /&gt;&lt;br /&gt;The voluntary quota protocol involves some additional procedures that must be followed when creating or deleting messages within a given maildir or its subfolders.  The deliverquota(8) command is a tiny application that delivers a single message to a maildir using the vol- untary quota protocol, and hopefully it can be used as a measure of last resort. Alternatively, applications can use the libmaildir.a library to handle all the low-level dirty details for them. The volun- tary quota enhancement is described in the maildirquota(7) man page.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;MAILDIR QUOTAS&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This is a voluntary mechanism for enforcing "loose" quotas on the maxi- mum sizes of maildirs. This mechanism is enforced in software, and not by the operating system. Therefore it is only effective as long as the maildirs themselves are not directly accessible by their users, since this mechanism is trivially disabled.&lt;br /&gt;&lt;br /&gt;If possible, operating system-enforced quotas are preferrable.  Where operating system quota enforcement is not available, or not possible, this voluntary quota enforcement mechanism might be an acceptable compromise.  Since it's enforced in software, all software that modifies or accesses the maildirs is required to voluntary obey and enforce a quota.  The voluntary quota implementation is flexible enough to allow non quota-aware applications to also access the maildirs, without any drastic consequences.  There will be some non-drastic consequences, though. Of course, non quota-aware applications will not enforce any defined quotas.  Furthermore, this voluntary maildir quota mechanism works by estimating the current size of the maildir, with periodic exact recalculation.  Obviously non quota-aware maildir applications will not update the maildir size estimation, so the estimate will be thrown off for some period of time, until the next recalculation.&lt;br /&gt;&lt;br /&gt;This voluntary quota mechanism is designed to be a reasonable compromise between effectiveness, and performance.  The entire purpose of using maildir-based mail storage is to avoid any kind of locking, and to permit parallel access to mail by multiple applications.  In order to compute the exact size of a maildir, the maildir must be locked somehow to prevent any modifications while its contents are added up. Obviously something like that defeats the original purpose of using maildirs, therefore the voluntary quota mechanism does not use locking, and that's why the current recorded maildir size is always considered to be an estimate. Regular size recalculations will compensate for any occasional race conditions that result in the estimate to be thrown off.&lt;br /&gt;&lt;br /&gt;A quota for an existing maildir is installed by running maildirmake with the -q option, and naming an existing maildir. The -q option takes a parameter, quota, which is a comma-separated list of quota specifications. A quota specification consists of a number followed by either 'S', indicating the maximum message size in bytes, or 'C', maximum number of messages. For example:&lt;br /&gt;&lt;br /&gt;maildirmake -q 5000000S,1000C ./Maildir&lt;br /&gt;&lt;br /&gt;This sets the quota to 5,000,000 bytes or 1000 messages, whichever comes first.&lt;br /&gt;&lt;br /&gt;maildirmake -q 1000000S ./Maildir&lt;br /&gt;&lt;br /&gt;This sets the quota to 1,000,000 bytes, without limiting the number of messages.&lt;br /&gt;&lt;br /&gt;A quota of an existing maildir can be changed by rerunning the maildirmake command with a new -q option. &lt;br /&gt;&lt;br /&gt;To delete a quota entirely, delete the Maildir/maildirsize file.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13233519-111726445940063132?l=qmail-support.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qmail-support.blogspot.com/feeds/111726445940063132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13233519&amp;postID=111726445940063132' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111726445940063132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13233519/posts/default/111726445940063132'/><link rel='alternate' type='text/html' href='http://qmail-support.blogspot.com/2005/05/what-is-maildir.html' title='What is maildir'/><author><name>FWH</name><uri>http://www.blogger.com/profile/11042197813648919118</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>5</thr:total></entry></feed>
