<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  
  
  <channel>
    <title>chrisjrob: email</title>
    <link>https://chrisjrob.com</link>
    <atom:link href="https://chrisjrob.com/tag/email/feed/index.xml" rel="self" type="application/rss+xml" />
    <description>GNU Linux, Perl and FLOSS</description>
    <language>en-gb</language>
    <pubDate>Fri, 13 Feb 2026 17:22:31 +0000</pubDate>
    <lastBuildDate>Fri, 13 Feb 2026 17:22:31 +0000</lastBuildDate>
    
    <item>
      <title>Howto | Add ActiveDirectory Addressbook to Sylpheed Email</title>
      <link>https://chrisjrob.com/2015/11/19/add-activedirectory-addressbook-to-sylpheed-email/</link>
      <pubDate>Thu, 19 Nov 2015 21:00:00 +0000</pubDate>
      <author>chrisjrob@gmail.com (Chris Roberts)</author>
      <guid>https://chrisjrob.com/2015/11/19/add-activedirectory-addressbook-to-sylpheed-email</guid>
      <description>
       <![CDATA[
         
           <img src="https://chrisjrob.com/assets/sylpheed.png" align="right" alt="Featured Image">
         
         <p>Where we require a lightweight mail client, we tend to use <a href="http://sylpheed.sraoss.jp/en/">Sylpheed</a> (from which Claws Mail was later forked).</p>

<p>It seems unlikely that you would be able to add an ActiveDirectory Address Book into such a lightweight email client, and indeed the <a href="http://sylpheed.sraoss.jp/doc/manual/en/sylpheed-12.html">manual</a> states:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>### FIXME: write this part.
</code></pre></div></div>

<p>But in fact it was trivially easy:</p>

<!--more-->

<h2 id="caveat">Caveat</h2>

<p>Whilst these instructions worked for us, do be aware that we are using Samba4 ActiveDirectory. 
In theory this is a drop-in replacement for Windows ActiveDirectory and these instructions <em>should</em> work unchanged.</p>

<h2 id="add-ldap-addressbook">Add LDAP Addressbook</h2>

<p>Firstly run Sylpheed and go to Tools and Addressbook. 
Within the Sylpheed Addressbook go to File New LDAP Server
You should now see a screen like this:</p>

<p><img src="/assets/sylpheed-ldap-1.png" alt="Sylpheed LDAP Basic Settings" /></p>

<p>Having entered the Name, Hostname and Port you are able to “Check Server”, to ensure connectivity.
Next either enter your Search Base, or click on the &amp;ellipsis; button to select from the detected Search Bases.</p>

<table>
  <thead>
    <tr>
      <th>Item</th>
      <th>Explanation</th>
      <th>Example</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Name</td>
      <td>Addressbook or server name</td>
      <td>example</td>
    </tr>
    <tr>
      <td>Hostname</td>
      <td>ActiveDirectory Host Name</td>
      <td>ads.example.lan</td>
    </tr>
    <tr>
      <td>Port</td>
      <td>LDAP Port Number*</td>
      <td>389 or 636</td>
    </tr>
    <tr>
      <td>Search Base</td>
      <td>Your AD domain in LDAP form</td>
      <td>DC=example,DC=lan</td>
    </tr>
  </tbody>
</table>

<p>*You should probably choose 636 when connecting via a public network, and you may need to open ports on your router.</p>

<p>Now select the Extended tab and you should see the following screen:</p>

<p><img src="/assets/sylpheed-ldap-2.png" alt="Sylpheed LDAP Extended Settings" /></p>

<table>
  <thead>
    <tr>
      <th>Item</th>
      <th>Explanation</th>
      <th>Example</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Search Criteria</td>
      <td>This simple example worked for us</td>
      <td>(objectclass=*)</td>
    </tr>
    <tr>
      <td>Bind DN</td>
      <td>Your ActiveDirectory username</td>
      <td>chris@example.lan</td>
    </tr>
    <tr>
      <td>Bind Password</td>
      <td>Your ActiveDirectory password</td>
      <td>-</td>
    </tr>
  </tbody>
</table>

<p>Now click on OK to finish.</p>

<h2 id="test">Test</h2>

<p>You should now have a Search field available, enter a colleague’s first name and Search and you should be faced with their email addresses.</p>

<h2 id="conclusion">Conclusion</h2>

<p>As far as I can tell the addressbook lookup is not automatic and you have to click on the addressbook icon in the Compose Window and search for the person, in order to add them to the To: field. A bit clunky perhaps, but arguably not so very different from the need in Outlook to press Check Names to look up new addresses. 
Needless to say - once the address is in the recent address list, it is auto-completed in the future.</p>


       ]]>
      </description>
    </item>
    
    <item>
      <title>Configuring Mutt For Spam</title>
      <link>https://chrisjrob.com/2011/03/23/configuring-mutt-for-spam/</link>
      <pubDate>Wed, 23 Mar 2011 00:00:00 +0000</pubDate>
      <author>chrisjrob@gmail.com (Chris Roberts)</author>
      <guid>https://chrisjrob.com/2011/03/23/configuring-mutt-for-spam</guid>
      <description>
       <![CDATA[
         
         <p>I have been using Mutt for some time, but have always found it a pain
for handling spam, so I finally spent the time yesterday to work out how
to do it. The surprising thing is that there seemed to be different and
confusing advice on how to achieve this. The best information turned out
to be the <a href="http://wiki.mutt.org/?MuttGuide/Macros">Mutt manual</a> itself,
which is a great example of how open source documentation should be.</p>

<!--more-->

<p>My folder layout is that I have a Spam folder, within which I have two
folders - Spam/Ham and Spam/Verified. The Spam/Ham are good emails,
particularly those that have been wrongly identified as Spam. The
Spam/Verified are the Spam that I am confirming are definitely Spam.
SpamAssassin places all the detected Spam in the Spam folder. I
generally move all the Spam folder into Spam/Verified except the one or
two false positives, which I move to Spam/Ham. Then overnight
<a href="http://spamassassin.apache.org/">SpamAssassin</a> learns from those two
folders - a fairly standard SpamAssassin layout I think.</p>

<p>Occasionally we get Spam in our Inbox, and obviously these can be moved
straight to the Spam/Verified folder.</p>

<p>The important factor here is that I want to be able to easily flag
individual emails in my Inbox as Spam, but I also want to be able to tag
the whole of my Spam folder and flag as Spam.</p>

<p>The manual gives a <a href="http://www.mutt.org/doc/devel/manual.html#functions">list of functions</a>, which I
used rather than the normal key bindings, as the manual advises that
this is more portable and robust. I used the <code class="language-plaintext highlighter-rouge">tag-prefix</code> command to
enable tagging. I was not using the keys H nor S, so I chose these as
Ham and Spam respectively.</p>

<p>You need two macros for each function - one for use in the folder list
(index) and one for use inside an email message (pager), so that you can
flag it as Spam without moving back to the message list.</p>

<p>The biggest problem I encountered was the difficulty that removing the
unread flag resulted in the selection moving down to the next email, and
then the next email would be flagged as Spam - frustrating. The only
solution seemed to be modify the muttrc configuration before and after,
and almost unbelievably that is in fact possible using the function.</p>

<p>The final macros are shown below:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># Move message(s) to Spam/Verified by pressing "S"
macro index S "&lt;tag-prefix&gt;&lt;enter-command&gt;unset resolve&lt;enter&gt;&lt;tag-prefix&gt;&lt;clear-flag&gt;N&lt;tag-prefix&gt;&lt;enter-command&gt;set resolve&lt;enter&gt;&lt;tag-prefix&gt;&lt;save-message&gt;=INBOX/Spam/Verified&lt;enter&gt;" "file as Spam"
macro pager S "&lt;save-message&gt;=INBOX/Spam/Verified&lt;enter&gt;" "file as Spam"
# Move message(s) to Spam/Ham by pressing "H"
macro index H "&lt;tag-prefix&gt;&lt;enter-command&gt;unset resolve&lt;enter&gt;&lt;tag-prefix&gt;&lt;clear-flag&gt;N&lt;tag-prefix&gt;&lt;enter-command&gt;set resolve&lt;enter&gt;&lt;tag-prefix&gt;&lt;save-message&gt;=INBOX/Spam/Ham&lt;enter&gt;" "file as Ham"
macro pager H "&lt;save-message&gt;=INBOX/Spam/Ham&lt;enter&gt;" "file as Ham"
# Return to Inbox by pressing "."
macro index . "&lt;change-folder&gt;=INBOX&lt;enter&gt;" "Inbox"
</code></pre></div></div>

<p>Suddenly Mutt is the easiest way for me to handle by Spam.</p>


       ]]>
      </description>
    </item>
    
    <item>
      <title>Building a new mailserver</title>
      <link>https://chrisjrob.com/2009/05/27/building-a-new-mailserver/</link>
      <pubDate>Wed, 27 May 2009 00:00:00 +0000</pubDate>
      <author>chrisjrob@gmail.com (Chris Roberts)</author>
      <guid>https://chrisjrob.com/2009/05/27/building-a-new-mailserver</guid>
      <description>
       <![CDATA[
         
           <img src="https://chrisjrob.com/assets/debian_logo.png" align="right" alt="Featured Image">
         
         <p>Our Debian Lenny <a href="/2009/01/24/ltsp5-clean-install/">LTSP5 Install</a> has hit a road block: currently the site are using a Citrix server at another location over a 256k connection to pick up their emails.  I really didn’t feel that I could ask them all to collect their emails over a 256k connection, so what are the alternatives?</p>

<!--more-->

<p>Well I could upgrade the bandwidth by creating an inter-site VPN, but that will still only provide perhaps 600k (that being the upload bandwidth of the host site).  The solution is to move the mailserver onto the ‘net, so that they can benefit from a full 8mb ADSL download.</p>

<p>After seeking advice, I choose <a href="http://bytemark.co.uk">Bytemark</a> as a trusted Debian VPS supplier, a day later I had my login to my new virtual server.  But what to install?  Advice pointed me in the direction of Postfix and Dovecot, which were not much more than an apt-get install:</p>

<ul>
  <li><a href="http://www.debianadmin.com/debian-mail-server-setup-with-postfix-dovecot-sasl-squirrel-mail.html">Debian Admin Mailserver</a></li>
</ul>

<p>Great, a working mailserver, but the problem with the installation was that the users were local system accounts, which made it more cumbersome to administer.  The best solution seemed to be LDAP, and I duly followed the guide <a href="http://www.debuntu.org/ldap-server-and-linux-ldap-clients">Debuntu</a> to install, and I managed to integrate LDAP with PAM thus giving me the ability to allow users to login with an LDAP account; but in a nutshell that was exactly what was wrong with this solution - the users <em>had</em> to login to the server, before their system account would be created, and if that was the case I might as well have stuck with local system accounts in the first place.  What I needed was a true virtual mail host.  To that end, I was pointed in the direction of a <a href="http://www.howtoforge.com/postfix-virtual-hosting-with-ldap-and-dovecot-on-ubuntu8.04">Ubuntu howto on Howtoforge</a>.</p>

<p>Okay but this was for Ubuntu not Debian and for one reason and another I simply could not get it working.  After starting from scratch a couple of times, but ending up in the same place, I found that I had to combine the howto with <a href="http://www.howtoforge.com/postfix-virtual-hosting-with-ldap-backend-and-with-dovecot-pop3-imap-on-ubuntu-8.10">this one for 8.10</a>.</p>

<p>Even then it took a fair amount of battling to get it working on Debian Lenny.  The key to most of my problems was in reading the comments on every page, as these include invaluable corrections and suggestions.</p>

<p>So after a week of pain, I now have a working virtual mail host, now I just need to set-up the domains, users and mailgroups.</p>


       ]]>
      </description>
    </item>
    
    <item>
      <title>Howto | Microsoft Outlook</title>
      <link>https://chrisjrob.com/2009/03/21/transfer-emails-from-microsoft-outlook/</link>
      <pubDate>Sat, 21 Mar 2009 06:23:08 +0000</pubDate>
      <author>chrisjrob@gmail.com (Chris Roberts)</author>
      <guid>https://chrisjrob.com/2009/03/21/transfer-emails-from-microsoft-outlook</guid>
      <description>
       <![CDATA[
         
         <h2 id="introduction">Introduction</h2>

<p>Outlook email cannot be easily transferred into Kontact (at least at the time of writing). There are a couple of applications that might work, but the best solution at present is to use Mozilla Thunderbird as a conduit for emails and contacts, and Outport for Calendar. At the time of writing I have found no easy solution for Notes or Tasks, so at present the only solution for these is a re-key.</p>

<p><strong>This method can only be performed on a Windows system, with Outlook installed and working on the same client as you install Thunderbird.  This is because Thunderbird uses Outlook itself to perform the data exchange.  This means that you cannot just copy across a PST and expect Thunderbird to be able to import it - you must have a running Outlook session on the client.</strong></p>

<!--more-->

<h2 id="step-1-prepare-outlook">Step 1 Prepare Outlook</h2>

<p>Move any emails, calendar entries, tasks, contacts etc that are currently in your archive folder back into your main “Outlook today” Personal Folder.</p>

<p>In case you wish to refer to your Outlook folders again, I recommend that you make the following changes:</p>

<ul>
  <li>Switch off send/receive at start-up</li>
  <li>Switch off interval check</li>
  <li>Switch on “leave mail on host”</li>
</ul>

<p>This will enable to refer to your Outlook folders, and even collect your mail, without losing the mail on your Linux box.</p>

<h2 id="step-2-outport">Step 2 Outport</h2>

<p>Download:</p>

<ul>
  <li>http://outport.sourceforge.net/</li>
</ul>

<p>Check/tick your Calendar folder on the left-hand-side of Outport, and ensure that the chosen conversion format is:</p>

<ul>
  <li>Calendar: Evolution Calendar</li>
</ul>

<p>Originally I thought I wanted iCalendar, but this created individual files for every event; but, thanks to a tiny bug in Outport, occasionally it did not remember the setting that I had made, and instead defaulted to Evolution Calendar.  For ages I couldn’t understand why sometimes it would work perfectly and other times it would not!  Eventually I realised what was happening and accordingly have updated these instructions. Phew!</p>

<h2 id="step-3-thunderbird-import">Step 3 Thunderbird Import</h2>

<p>Download Mozilla Thunderbird and run it.</p>

<p><strong>If you have used Thunderbird before on this PC, then you need to erase “C:\Documents and Settings\USERID\Application Data\Thunderbird” folder (which will lose that data).</strong></p>

<p>Follow the prompts to import from Outlook, if the import prompt does not occur, then erase the folder (see above tip).  Be warned, this import process may take a long time (especially with 1gb plus pst files!)</p>

<p>Once complete, Thunderbird has the emails, but has not created index files for each folder.  If you click on each folder it will do this for you, but I have found that it crashes if you select empty folders.  Instead I have found that it is best to stay out of the folders.</p>

<p><strong>Don’t bother marking messages as read, as they will be transferred as unread to Kmail anyway.</strong></p>

<h2 id="step-4-export-thunderbird-address-book">Step 4 Export Thunderbird Address Book</h2>

<p>Access the Thunderbird address book, click into the correct folder, so that you can see all your contacts on the right-hand-side, and take option to export to LDIF.</p>

<h2 id="step-5-transfer-to-linux">Step 5 Transfer to Linux</h2>

<p>Transfer the exported iCalendar file, the exported LDIF address book, and the Thunderbird data store (e.g. <code class="language-plaintext highlighter-rouge">C:\Documents and Settings\USERID\Application Data\Thunderbird\Profiles\qmrx14h2.default\Mail\Local Folders</code>) to one of the user’s folders on the Linux system.  You’ll need to be able to access these from the user’s account, so somewhere logical might be /home/username/imported.</p>

<h2 id="step-6-convert-address-book">Step 6 Convert Address Book</h2>

<p>Two problems with the Thunderbird exported LDIF:</p>

<ul>
  <li>Uses “company”, whereas Kmail uses “organization” for the company name.</li>
  <li>Uses “cn” for contact names, whereas Kmail uses “formatted name”.</li>
</ul>

<p>You can change these manually, or a simple script:</p>

<h3 id="example-script">Example script</h3>

<p>The following script will replace “company: “ with “organization: “ and will update “cn: “ with a formatted name in the format “sn, givenName”, if givenName is available, or fall back on just “sn” if not. This worked for us, but you might have to tailor this to your requirements.</p>

<div class="language-pl highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">#!/usr/bin/perl</span>
<span class="c1"># thunder2kab</span>
<span class="c1"># Converts Thunderbird LDIF file into Kmail LDIF format</span>

<span class="k">my</span> <span class="nv">$count</span> <span class="o">=</span> <span class="nv">@ARGV</span><span class="p">;</span>
<span class="k">if</span> <span class="p">(</span><span class="nv">$count</span> <span class="o">!=</span> <span class="mi">2</span><span class="p">)</span> <span class="p">[</span>
	<span class="k">print</span> <span class="p">"</span><span class="s2">Usage: thunder2kab source destination</span><span class="se">\n</span><span class="p">";</span>
	<span class="nb">exit</span><span class="p">;</span>
<span class="p">}</span>

<span class="nv">PrivoxyWindowOpen</span><span class="p">(</span><span class="nv">IN</span><span class="p">,</span> <span class="nv">$ARGV</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="p">](</span><span class="o">|</span> <span class="nb">die</span> <span class="p">"</span><span class="s2">Cannot open </span><span class="si">$ARGV</span><span class="s2">[0] for reading: $!</span><span class="p">";</span>
<span class="nv">PrivoxyWindowOpen</span><span class="p">(</span><span class="nv">OUT</span><span class="p">,</span> <span class="p">"</span><span class="s2">&gt;</span><span class="si">$ARGV</span><span class="s2">[1]</span><span class="p">")</span> <span class="o">||</span> <span class="nb">die</span> <span class="p">"</span><span class="s2">Cannot create </span><span class="si">$ARGV</span><span class="s2">[1] for writing: $!</span><span class="p">";</span>

<span class="k">my</span> <span class="p">(</span><span class="nv">$surname</span><span class="p">,</span> <span class="nv">$givenname</span><span class="p">,</span> <span class="nv">$formattedname</span><span class="p">);</span>
<span class="k">while</span> <span class="p">(</span><span class="nb">defined</span> <span class="p">(</span><span class="k">my</span> <span class="nv">$line</span> <span class="o">=</span> <span class="o">&lt;</span><span class="nv">IN</span><span class="o">&gt;</span><span class="p">))</span> <span class="p">{</span>
	<span class="c1"># Superchomp to cope with Windows nonsense</span>
	<span class="nv">$line</span> <span class="o">=*</span> <span class="sr">s/[\r\n]*$//</span><span class="p">;</span>

	<span class="c1"># givenName: Terry</span>
	<span class="c1"># sn: McCarthy</span>

	<span class="k">if</span> <span class="p">(</span><span class="nv">$line</span> <span class="ow">eq</span> <span class="nb">undef</span><span class="p">)</span> <span class="p">{</span>
		<span class="nb">undef</span> <span class="p">(</span><span class="nv">$surname</span><span class="p">);</span>
		<span class="nb">undef</span> <span class="p">(</span><span class="nv">$givenname</span><span class="p">);</span>
		<span class="nb">undef</span> <span class="p">(</span><span class="nv">$formattedname</span><span class="p">);</span>
	<span class="p">)</span> <span class="k">elsif</span> <span class="p">(</span><span class="nv">$line</span> <span class="o">=*</span> <span class="sr">/^givenName\: (.+)$/</span><span class="p">)</span> <span class="p">{</span>
		<span class="nv">$givenname</span> <span class="o">=</span> <span class="err">$</span><span class="mi">1</span><span class="p">;</span>
	<span class="p">}</span> <span class="k">elsif</span> <span class="p">(</span><span class="nv">$line</span> <span class="o">=*</span> <span class="sr">/^sn\: (.+)$/</span><span class="p">)</span> <span class="p">{</span>
		<span class="nv">$surname</span> <span class="o">=</span> <span class="err">$</span><span class="mi">1</span><span class="p">;</span>
	<span class="p">}</span> <span class="k">elsif</span> <span class="p">(</span><span class="nv">$line</span> <span class="o">=*</span> <span class="sr">/^cn\: /</span><span class="p">)</span> <span class="p">{</span>
		<span class="k">if</span> <span class="p">((</span><span class="nv">$givenname</span> <span class="ow">ne</span> <span class="nb">undef</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="nv">$surname</span> <span class="ow">ne</span> <span class="nb">undef</span><span class="p">))</span> <span class="p">{</span>
			<span class="nv">$line</span> <span class="o">=</span> <span class="p">"</span><span class="s2">cn: </span><span class="si">$surname</span><span class="s2">, </span><span class="si">$givenname</span><span class="p">";</span>
		<span class="p">}</span> <span class="k">elsif</span> <span class="p">(</span><span class="nv">$surname</span> <span class="ow">ne</span> <span class="nb">undef</span><span class="p">)</span> <span class="p">{</span>
			<span class="nv">$line</span> <span class="o">=</span> <span class="p">"</span><span class="s2">cn: </span><span class="si">$surname</span><span class="p">";</span>
		<span class="p">}</span>
	<span class="p">}</span>
			
	<span class="nv">$line</span> <span class="o">=~</span> <span class="sr">s/^company\: /organization\: /</span><span class="p">;</span>

	<span class="k">print</span> <span class="nv">OUT</span> <span class="nv">$line</span><span class="p">,</span> <span class="p">"</span><span class="se">\n</span><span class="p">";</span>

<span class="p">}</span>

<span class="nb">close</span> <span class="p">(</span><span class="nv">OUT</span><span class="p">)</span> <span class="o">||</span> <span class="nb">die</span> <span class="p">"</span><span class="s2">Cannot close </span><span class="si">$ARGV</span><span class="s2">[1]: $!</span><span class="p">";</span>
<span class="nb">close</span> <span class="p">(</span><span class="nv">IN</span><span class="p">)</span> <span class="o">||</span> <span class="nb">die</span> <span class="p">"</span><span class="s2">Cannot close </span><span class="si">$ARGV</span><span class="s2">[0]: $!</span><span class="p">";</span>

<span class="nb">exit</span><span class="p">;</span>
</code></pre></div></div>

<p><strong>Please change the PrivoxyWindowOpen command for just a plain “open” - this is just our http proxy trying to protect us and getting it wrong!</strong></p>

<h2 id="step-7-import-into-kontact">Step 7 Import into Kontact</h2>

<p>Oh joy, the final steps, and the good news is that this bit is really simple (hopefully).</p>

<ul>
  <li>Run Kontact, click on Contacts and take option to import from your converted LDIF.</li>
  <li>Click on Mail and take opion to import from Thunderbird mail structure.</li>
  <li>Click on Calendar and take option to import from the transferred iCalendar file.</li>
</ul>


       ]]>
      </description>
    </item>
    
    <item>
      <title>Howto | Transfer Emails from Windows to Linux</title>
      <link>https://chrisjrob.com/2009/03/21/transfer-emails-from-windows-to-linux/</link>
      <pubDate>Sat, 21 Mar 2009 06:22:56 +0000</pubDate>
      <author>chrisjrob@gmail.com (Chris Roberts)</author>
      <guid>https://chrisjrob.com/2009/03/21/transfer-emails-from-windows-to-linux</guid>
      <description>
       <![CDATA[
         
         <p>These instructions explain how to transfer emails from a Windows email client to Linux Kmail.  This document has a number of provisos:</p>

<ol>
  <li>If your mailserver is running IMAP, then what are you doing here?  Just connect your Linux mail client to your IMAP server and you’re good to go!</li>
  <li>If you are running a common mail client on Windows, then consider installing Mozilla Thunderbird on Windows and importing your emails into that…
a. See <a href="/2009/03/21/transfer-emails-from-microsoft-outlook/">Transfer Emails from Microsoft Outlook</a></li>
  <li>If you are running Mozilla Thunderbird on Windows, then you can simply copy the files onto Linux and use Mozilla Thunderbird on Linux - job done.</li>
  <li>If your Windows email client stores in mbox format (unlikely) then again you should be able to simply copy the mail store to Linux.</li>
  <li>Check whether you have any export options and see if you can export into an easier format, e.g. Thunderbird/MBOX.</li>
  <li>If your Windows email client does not support IMAP, then you will need to upgrade it to a more recent version that does before proceeding.</li>
  <li>If your Windows email client does support IMAP, then let’s continue…</li>
</ol>

<!--more-->

<h2 id="install-courier-imap-on-server">Install Courier-IMAP on server</h2>

<p>See <a href="/2009/03/21/install-courier-imap-server/">Install Courier-IMAP Server</a></p>

<h2 id="create-ltsp-user">Create LTSP User</h2>

<p>In KUserManager create the user, and add to the following groups:</p>

<ul>
  <li>kiosk-standard</li>
  <li>Staff</li>
  <li>Users</li>
  <li>Fuse (only if you want them to be able to access USB devices)</li>
  <li>Saned (only if you want them to be able to use scanning)</li>
</ul>

<p><strong>Take a note of UID and GID before exiting KUserManager</strong></p>

<h2 id="create-imap-account">Create IMAP Account</h2>

<p><strong>You need to have installed an IMAP server first - see page Install Courier-IMAP Server</strong></p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo userdb USERNAME set uid=9999 gid=9999 shell=/bin/bash home=/opt/imap-mail/USERNAME
</code></pre></div></div>

<p>*Replace USERNAME and 9999 for actual username, uid and gid</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo userdbpw -md5 | sudo userdb USERNAME set systempw
$ sudo mkdir -p /opt/imap-mail/USERNAME
$ sudo maildirmake /opt/imap-mail/USERNAME/Maildir
$ sudo chown -R 9999:9999 /opt/imap-mail/USERNAME
$ sudo makeuserdb
$ sudo /etc/init.d/courier-authdaemon stop
$ sudo /etc/init.d/courier-imap stop
$ sudo /etc/init.d/courier-authdaemon start
$ sudo /etc/init.d/courier-imap start
</code></pre></div></div>

<p>*Replace USERNAME and 9999 for actual username, uid and gid</p>

<h2 id="key-steps">Key steps</h2>

<p>The rest of the process is simple enough, that hopefully I do not need to go through it in detail.  Briefly:</p>

<ul>
  <li>Install Courier-IMAP Server</li>
  <li>Create IMAP account in Windows email client</li>
  <li>Log onto LTSP</li>
  <li>Kontact → Mail → Create IMAP account</li>
  <li>Transfer each mail folder into IMAP Inbox then transfer each IMAP folder into Kmail folder</li>
  <li>Repeat last step for each folder</li>
</ul>

<p><strong>Change each client to work off-line between transfers - you don’t really want both clients connected to the same IMAP mailbox at the same time</strong></p>


       ]]>
      </description>
    </item>
    
    <item>
      <title>Howto | Send Files by Email</title>
      <link>https://chrisjrob.com/2009/03/21/send-files-by-email/</link>
      <pubDate>Sat, 21 Mar 2009 06:21:16 +0000</pubDate>
      <author>chrisjrob@gmail.com (Chris Roberts)</author>
      <guid>https://chrisjrob.com/2009/03/21/send-files-by-email</guid>
      <description>
       <![CDATA[
         
         <h2 id="explanation">Explanation</h2>

<p>Oddly enough, there is no option, when browsing folders, to right-click and send by email - something Windows users take for granted. Fortunately this omission may be easily corrected as follows.</p>

<p>These instructions are for Kmail, if you are not using Kmail (or KDE Kontact PIM) then these instructions will need to be modified for the command line of your email client.</p>

<!--more-->

<h2 id="installation">Installation</h2>

<p>Create the following file and save as “kmail.desktop” in the folder <code class="language-plaintext highlighter-rouge">/usr/share/apps/konqueror/servicemenus</code> (for all users on your system).</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[Desktop Entry]
Encoding=UTF-8
ServiceTypes=all/allfiles
Actions=Email;

[Desktop Action Email]
Name=Send file(s) with KMail
Exec=kmail --attach %F
Icon=kmail
</code></pre></div></div>

       ]]>
      </description>
    </item>
    
  </channel> 
</rss>
