Documentation for the labels package is here:
http://ftp.math.purdue.edu/mirrors/c...els/labels.pdf

Source is here:
------8<-------

\documentclass[10pt]{article}
\usepackage[newdimens]{labels}

%\LabelGridtrue % uncomment to show label boundaries

\LabelCols=3% Number of columns of labels per page
\LabelRows=10% Number of rows of labels per page
\LeftPageMargin=.1875in%7mm% These four parameters give the
\RightPageMargin=0.15625in%7mm% page gutter sizes. The outer edges of
\TopPageMargin=.5in%15mm% the outer labels are the specified
\BottomPageMargin=.5in%15mm% distances from the edge of the paper.
\InterLabelColumn=.125in%2mm% Gap between columns of labels
\InterLabelRow=0mm% Gap between rows of labels
\LeftLabelBorder=.125in%$5mm% These four parameters give the extra
\RightLabelBorder=.125in%5mm% space used around the text on each
\TopLabelBorder=.125in%5mm% actual label.
\BottomLabelBorder=.125in%5mm%

\begin{document}
\small \sf
\labelfile{addressdat.txt}
\end{document}

------8<-------

The address file is just a plain text file with address separated by blank lines.

person 1
address 1
address 1

person 2
address2
address2

etc.