<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://ortiche.wiki.esiliati.org/index.php?action=history&amp;feed=atom&amp;title=Strutture_dati_di_posta</id>
	<title>Strutture dati di posta - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://ortiche.wiki.esiliati.org/index.php?action=history&amp;feed=atom&amp;title=Strutture_dati_di_posta"/>
	<link rel="alternate" type="text/html" href="http://ortiche.wiki.esiliati.org/index.php?title=Strutture_dati_di_posta&amp;action=history"/>
	<updated>2026-04-18T00:04:18Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://ortiche.wiki.esiliati.org/index.php?title=Strutture_dati_di_posta&amp;diff=228&amp;oldid=prev</id>
		<title>Admin at 20:51, 9 December 2014</title>
		<link rel="alternate" type="text/html" href="http://ortiche.wiki.esiliati.org/index.php?title=Strutture_dati_di_posta&amp;diff=228&amp;oldid=prev"/>
		<updated>2014-12-09T20:51:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:51, 9 December 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/del&gt;messaggi:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;messaggi:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;i messaggi vengono stoccati in formato maildir&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;i messaggi vengono stoccati in formato maildir&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l11&quot;&gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;gli account sono divisi per dominio di secondo livello in tabelle col seguente formato&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;gli account sono divisi per dominio di secondo livello in tabelle col seguente formato&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;source lang=&quot;sql&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CREATE TABLE `ortiche_net` (&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CREATE TABLE `ortiche_net` (&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;`user` varchar(32) collate utf8_bin NOT NULL default ,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;`user` varchar(32) collate utf8_bin NOT NULL default ,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l22&quot;&gt;Line 22:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 23:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;`deleted` int(11) NOT NULL&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;`deleted` int(11) NOT NULL&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/source&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;user&amp;#039; contiene la parte a sinistra della chiocciola&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;user&amp;#039; contiene la parte a sinistra della chiocciola&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>http://ortiche.wiki.esiliati.org/index.php?title=Strutture_dati_di_posta&amp;diff=118&amp;oldid=prev</id>
		<title>Admin: 1 revision: migrazione</title>
		<link rel="alternate" type="text/html" href="http://ortiche.wiki.esiliati.org/index.php?title=Strutture_dati_di_posta&amp;diff=118&amp;oldid=prev"/>
		<updated>2014-03-17T11:36:51Z</updated>

		<summary type="html">&lt;p&gt;1 revision: migrazione&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;messaggi:&lt;br /&gt;
&lt;br /&gt;
i messaggi vengono stoccati in formato maildir&lt;br /&gt;
&lt;br /&gt;
disposti nel filesystem con la struttura&lt;br /&gt;
dominio.di.posta/naomeutente@dominio.di.posta/Maildir&lt;br /&gt;
&lt;br /&gt;
autenticazione:&lt;br /&gt;
&lt;br /&gt;
i dati di autenticazione degli utenti di posta sono su database mysql&lt;br /&gt;
gli account sono divisi per dominio di secondo livello in tabelle col seguente formato&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `ortiche_net` (&lt;br /&gt;
`user` varchar(32) collate utf8_bin NOT NULL default ,&lt;br /&gt;
`domain` varchar(32) collate utf8_bin NOT NULL default ,&lt;br /&gt;
`password` varchar(32) collate utf8_bin NOT NULL default ,&lt;br /&gt;
`goto` varchar(32) collate utf8_bin NOT NULL default ,&lt;br /&gt;
`active` char(1) collate utf8_bin NOT NULL default &amp;#039;Y&amp;#039;,&lt;br /&gt;
`tipo` varchar(5) collate utf8_bin default &amp;#039;mbox&amp;#039;,&lt;br /&gt;
`md5salt` varchar(64) collate utf8_bin default NULL,&lt;br /&gt;
`modified` int(11) default NULL,&lt;br /&gt;
`deleted` int(11) NOT NULL&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;user&amp;#039; contiene la parte a sinistra della chiocciola&lt;br /&gt;
&amp;#039;domain&amp;#039; contiene la parte alla destra della chiocciola&lt;br /&gt;
&amp;#039;password&amp;#039; contiene la password hashata in formato md5 puro (senza salting)&lt;br /&gt;
&amp;#039;goto&amp;#039; e&amp;#039; la destinazione alla quale recapitare nel caso l&amp;#039;account sia un alias&lt;br /&gt;
&amp;#039;active&amp;#039; se a Y l&amp;#039;account e&amp;#039; attivo&lt;br /&gt;
&amp;#039;tipo&amp;#039; mbox nel caso di account di posta e alias nel caso di alias&lt;br /&gt;
&amp;#039;md5salt&amp;#039; password hashata in formato md5-salt&lt;br /&gt;
&amp;#039;modified&amp;#039; data di ultima modifica di un campo qualsiasi dei precedenti&lt;br /&gt;
&amp;#039;deleted&amp;#039; data di cancellazione della riga corrente&lt;br /&gt;
&lt;br /&gt;
l&amp;#039;algoritmo di hashing e&amp;#039; doppio dato che non tutti i demoni lavorano bene con lo stesso algoritmo.&lt;br /&gt;
per il campo active sarebbe interessante definire una semantica un po piu complessa.&lt;br /&gt;
modified e deleted servono primariamente per la replicazione della tabella stessa.&lt;br /&gt;
&lt;br /&gt;
la commutazione e attivazione dei vari servizi viene fatta su blocchi di account divisi per comune dominio di posta&lt;br /&gt;
mediante la seguente tabella&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `posta_domains` (&lt;br /&gt;
`domain` varchar(64) collate utf8_bin default NULL,&lt;br /&gt;
`host` varchar(64) collate utf8_bin NOT NULL,&lt;br /&gt;
`smtp` varchar(1) collate utf8_bin NOT NULL,&lt;br /&gt;
`popimap` varchar(1) collate utf8_bin NOT NULL,&lt;br /&gt;
`mx` varchar(1) collate utf8_bin default NULL,&lt;br /&gt;
`relay` varchar(1) collate utf8_bin NOT NULL,&lt;br /&gt;
`modified` int(11) NOT NULL,&lt;br /&gt;
`deleted` int(11) NOT NULL&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;domain&amp;#039; e&amp;#039; un dominio di posta (la parte alla destra della chiocciola)&lt;br /&gt;
&amp;#039;host&amp;#039; e&amp;#039; un server, individuato dal proprio hostname&lt;br /&gt;
&amp;#039;smtp&amp;#039; &amp;#039;popimap&amp;#039; &amp;#039;mx&amp;#039; e &amp;#039;relay&amp;#039; indicano (con una Y o una N) se&lt;br /&gt;
account di posta con il dato domain devono essere accettati o meno rispettivamente:&lt;br /&gt;
come autenticazione SASL per l&amp;#039;invio di messaggi,&lt;br /&gt;
come autenticazione POP e IMAP per l&amp;#039;accesso alla casella di posta,&lt;br /&gt;
come indirizzi destinatario della posta entrante, da stoccare localmente&lt;br /&gt;
e come indirizzi destinatario della posta entrante da inoltrare successivamente ad un&amp;#039;altro server&lt;br /&gt;
sul server host&lt;br /&gt;
&amp;#039;modified&amp;#039; e &amp;#039;deleted&amp;#039; come sopra&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>