htnews  - E-mail robot for adding news items to a webpage.


SYNOPSIS

       htnews [-c | -a configfile]




DESCRIPTION

       With htnews you can very easily add  news  items  to  your
       webpage.  Simply  send an e-mail to it, and htnews will do
       the rest!

       Since it is an e-mail robot, you have to create a  special
       e-mail address and an entry in /etc/aliases. If you do not
       use  sendmail,  refer  to  the   documentation   of   your
       mailserver  about  sending  mail to a program. htnews will
       open a pipe, read the incoming message, and start to  pro-
       cess it.

       For example, if your system uses a virtual user table, add
       a line like this to /etc/virtusertable :
        htnews@foo.bar          robot

       And add a line like this to /etc/aliases (you will have to
       run newaliases afterward) :
        robot:        "|/usr/sbin/htnews"

       Now  you can send an e-mail to htnews@foo.bar, and it will
       be passed through htnews.  The program is  highly  config-
       urable.  See below for a detailed description of available
       configuration flags.


OPTIONS

       -c configfile
              Opens the file configfile, instead of  the  default
              /etc/htnews.conf.   Since  you  can  have  as  many
              e-mail addresses as you want, you can have multiple
              htnews robots running on your system. This is espe-
              cially usefull if you are running  several  virtual
              webservers  or want to provide htnews for your cus-
              tomers as a special service.

       -a configfile
              Run htnews in cron-mode. It will not  open  a  pipe
              for reading an email. htnews can be used to archive
              the news items of the last month with this  option.
              Note, that ARCHIV must be enabled (ARCHIV YES).

       -h --help
              Print  a usage message to standard output then exit
              successfully.

              Print version information to standard  output  then
              exit successfully.



Configuration

       You  can  specify  some  variables  in the configfile,
              which will parsed everytime htnews runs.

       If  you  already  have  some  items  created, and you have
       changed the configuration, then there is a way to force  a
       refresh  of  the output, without putting a new item on the
       page. Simply send an e-mail to  htnews  (the  address  you
       have  configured) with the keyword refresh in the subject.
       htnews will re-read the config-file and recreate the  out-
       put.  Note that ONLY the adminstrator can do this. You can
       specify who that is with the "ADMIN" flag in the  configu-
       ration. See below for details.

       The  format  of  a flag is as follows: PARAMETER value.  A
       parameter and its value must be separated  with  at  least
       one  blank.  You  can use tabs or blanks as you choose. If
       you do not want to use a parameter, simply  leave  it,  or
       you can delete the parameter itself. This is only possible
       if the parameter  is  not  required!  If  a  parameter  is
       required, it is marked with comment. A line beginning with
       # is a comment. Comments and blank lines will be  ignored.

   Configuration Flags
       SENDER e-mail_address
              Required!   This  is  the  e-mail address of htnews
              itself. If the program has to send an  e-mail  mes-
              sage  (an  error  or a delivery notification), then
              this adress will be used in the From: field of  the
              mail.

       ADMIN e-mail_address
              The  server  administrator,  who will get any error
              messages. If not specified, a default value will be
              used.   This  default  is  defined  in  the  source
              htnews.cc.  It is not required but  recommended  to
              have  this  address and one person who really reads
              mail from this box.

       TO e-mail_address
              The person who will get delivery notifications.  If
              not specified, the originator will get the message.

       CC e-mail_address
              You may send a carbon copy to someone.

       Allow_From filename
              You may specify a filename,  where  you  have  some
              If not specified, everybody can use it.

       Auth_Code string
              htnews  has  a basic authentication mechanism built
              in. If you specify a password here, the user  would
              have  to  add the password to the subject line of a
              new  mail.  If,  for  example,  the   password   is
              "hucka13",  and the subject you want to use is "New
              update of program bla bla...", then the line in the
              subject  field  must be "hucka13 New update of pro-
              gram bla bla...".
               Of course the password will be parsed before  html
              generation.  It  is  important  that  you leave one
              space after the password. This is required  if  you
              want to use special characters in the subject (like
              german "Umlauts"). Most e-mail clients format these
              characters,  and  any  blanks will be replaced with
              "_". Currently, you cannot use  special  characters
              in  the  subject  field if authentication is turned
              on. But I am working on this.
               If not specified, authentication is disabled.

       TEMPLATE filename
              Required!  You must specify a  file  that  will  be
              used  as  a  template  for generating the resulting
              webpage. This can be a normal  html  page.  At  the
              position  where  you  want  htnews  to add the news
              item(s), you must have an html  comment  like  this
              (on one line): <!--htnews--> at this position items
              will be inserted. Note  that  the  output  will  be
              written to a separate file, specified within OUTPUT
              .

       OUTPUT filename
              Required!  htnews will write  its  output  to  this
              file. Note that it will be overwritten everytime it
              runs, so do not edit this file; edit  the  template
              instead.

       STORE filename
              Required!   htnews will store all old news items in
              this file. A new item will be added to the  top  of
              the file.  The format of this file is a little spe-
              cific, so take a look to your store file to see how
              it  appears.  Note  that the "%<htnews" string is a
              marker for the end of an item.

       UseHTML YES | NO
              It is possible to  send  mime  formatted  mails  to
              htnews,  which  are  in the "multipart-alternative"
              format, that means such a mail contains the message
              in text format and in html format.
              blank, the text part will be used.
               Please  note,  that  pure html mails are currently
              NOT supported!

       ITEM_HEAD html-code
              You can specify some html code. htnews has  to  add
              this  before inserting the item into the page (e.g.
              "<tr><td>").

       ITEM_FOOT html-code
              You can specify some html code. htnews has  to  add
              this  after  inserting the item into the page (e.g.
              "</td></tr>").

       Field1 ... Field4 fieldname
              Required!  You can  specify  the  order  that  some
              fields are displayed. One item consists of the fol-
              lowing fields:  Date,  From,  Subject,  Text.   For
              example,  if you want to have Date displayed first,
              then From, and then the Text, you could specify:

               Field1 Date
               Field2 From
               Field3 Text

               You must specify at least ONE  field,  and  it  is
              required to have the "Text" field.

       Mailto YES | NO
              You  can,  if  you  have coosen to display the From
              field, specify how it is to be  displayed.  If  you
              set  Mailto  to  "YES",  then  htnews will create a
              "mailto:" link like this:
               "<A HREF="mailto:user@foo.bar">Real Name</A>".
               If there is no real name found in the from line of
              your  e-mail,  then the e-mail address will be used
              instead. If you set this parameter  to  NO  ,  then
              only the name will be displayed.
               Since  spammers  get  e-mail  addresses especially
              from websites (searched by the "mailto:" tag),  you
              may  find  it  better  not  to  display  an  e-mail
              address. Simply edit the  "Field1  ...  Field4"  to
              remove From.  That's all. See also SPAMPROTECT .

       Date_HEAD and Date_FOOT

       Subject_HEAD and Subject_FOOT

       From_HEAD and From_FOOT

       Text_HEAD and Text_FOOT
              You  may  like to specify what kind of html will be
              have to specify "<b>" for Date_HEAD and "</b>"  for
              Date_FOOT.

       SPAMPROTECT YES | NO
              It  is  possible to protect your page against spam-
              mers. htnews can insert blanks into  the  displayed
              address (i.e. "user @ foo.bar").
               A  spammer  cannot  use such an address. Note that
              someone who wants to send an e-mail to  an  address
              prepared this way must edit the address first.


       ARCHIV YES | NO
              If  set  to  YES  ,  all  the following options are
              required. This flag turns  on  the  archive  mecha-
              nisms.  htnews  will only display the N most recent
              messages on the front page. The other (older)  ones
              will  be  displayed  on another page. Of course you
              have to create a link to this page.



       Archiv_Output filename
              The html page where htnews will put  the  old  news
              items.
               If  you  want  to  store older items in a separate
              file every month, you can run htnews from  a  cron-
              job!  If  you  di this, you must have the following
              HTML-comment in your archiv-template: <!--cron--> .
               htnews  will insert at this position several links
              to the monthly pages.



       Archiv_Template filename
              The template to use for generating the output file.
               Again,  the template must contain a comment, where
              htnews will insert the news items: <!--archiv-->

              Note: htnews will use all flags in htnews.conf  for
              formatting  every  item  field in the archive page.
              So, please take care about which template  you  use
              and which flags you use.


       Archiv_Store filename
              Where  old  news  items  are stored. This file will
              have the same format as your main storage file.


       Archiv_MAXITEMS number
              The max N Number of items to be  displayed  on  the
              archive.




       Cron_TEMPL filename
              The template to use for generating the monthly out-
              put of the cronjob (htnews -a config-file).
               This   template   can   contain   a   HTML-comment
              <!--title-->.   If this comment exists, htnews will
              insert at this position the title of this page. The
              title will look like this: "May 1999". You can for-
              mat   this   title   with   the   two    parameters
              Archiv_Title_Head    and   Archiv_Title_Foot   (see
              below).



       Cron_OUTPATH path
              The complete  unix-PATH  to  the  directory,  where
              htnews  can  store  the  various monthly web-pages.
              htnews must have write permissions to  this  direc-
              tory.  Note,  that the links to these files will be
              without any PATH!
               So, it would be a very good idea, if  this  output
              directory  is the same as the root directory of the
              other HTML-pages.



       Cron_Hist filename
              Where should the archiv history  be  saved  to.  (a
              list of filenames).



       Cron_HEAD html-code and Cron_FOOT html-code
              htnews  will  add  a link to the archiv page to the
              monthly page. With these parameters you can specify
              some HTML-formatting, if you wish.



       Archiv_Title_Head html-code and Archiv_Title_Foot
              html-code
              The monthly generated page can have  a  title  with
              the  name  of  the  month  and  the  year. The file
              Cron_TEMPL    must    contain    a    HTML-comment:
              <!--title-->, where htnews will insert the title of
              the monthly page.


              Enable the "detail"-feature. htnews  can  create  a
              separate  web-page for every news item with details
              (like "read more...").
               If enabled, all Detail_* parameters must  be  con-
              figured!
               The program will look for the first occurence of a
              HTML-comment    within    the    incoming     mail:
              <!--detail--> , every stuff after this line will be
              passed to a separate new file.



       Detail_TEMPL filename
               The   template   to   use   for   generating   the
              detail-page.  It  can  also contain a HTML-comment:
              <!--title-->, if it occurs, htnews will insert  the
              subject at this position!



       Detail_PATH PATH
              The  path  to  the  output directory containing the
              detailpages, it should be the same where the  other
              files are located.
               htnews will generate for every news item (when the
              mail contained the detail-comment) a new  file.  It
              uses the MessageID to create a unique filename! Any
              occurence of "@", "$", "%" or "*" will be  replaced
              with "O".



       Detail_LINK string
              How  the  link  on the news item to the detail-page
              should be named, i.e. "read more...".
               If you specify Subject here, then the  subject  of
              the   item   itself   will   be  the  link  to  the
              detail-page.



       Detail_HEAD html-code and Detail_FOOT html-code
              You can format the link to the detail-page, if  you
              wish.



       again required parameters:
              ""SENDER",  "TEMPLATE", "OUTPUT", "STORE", "Field1"
              (with minimum one entry and >Text< MUST be  there).


Trouble Shooting

              It  is  possible  to  test htnews from the command-
              line. The  source  archiv  contains  a  file  named
              fake.mail. This is a complete mail (header and mes-
              sagebody), the body is in MIME  format  and  it  is
              quoted-printable formatted.
               Issue the following command:

               cat fake.mail | htnews -c /where/ever/htnews.conf

               Now see what happens.

       Debugging
              You can edit the Makefile. There is a line #DEBUG =
              -Ddebug .  Remove the "#", and htnews will  display
              some  information about what's happening during the
              processing. Note that you will only see this infor-
              mation if you run htnews from the command-line.

       Error messages
              htnews sends small error messages back to the orig-
              inator (or to the person you  have  specified  with
              "TO").  There  are two kinds of messages. The first
              kind is a "delivery" message, sent when  everything
              works  well.  If something goes wrong, you will get
              an error message. htnews will in most cases  detect
              and  "know"  what  was wrong, so the error messages
              will help you find the mistake (or what ever).

       SMTP   You may also have  problems  with  your  mailserver
              configuration.  Note  that  the  given installation
              procedure is only good for use  with  sendmail.  If
              you  run another smtp server (like qmail, etc.) you
              must refer to the documentation for that server  on
              how to configure it. If someone has experience with
              some other mailservers, please drop me a line, so I
              can add some tips for those users.



Attachments

       Currently,  htnews  can NOT handle attachments! If someone
       sends an attachment to htnews, it will read its data  con-
       tent as ascii data and display it as ascii. If you require
       this feature, please be patient; I am working on this.



Message Formats

       htnews can currently process plain text mail and a sort of
       MIME   messages  (multipart/alternative),  also  known  as
       html-mail. htnews "understands" two MIME-types: text/plain
        and  text/html.   You  can choose, which one of these you
       want to use. If you use the html-part, any occurence of  a
       <body>  -or  <html>-tag  will  be  removed, because it may
        htnews   is  also  capable  of  parsing  quoted-printable
       e-mails. If a message is quoted-printable formatted,  then
       it  will  be  changed  to html. A "=3D" will be changed to
       "=", a "=20" to " "(blank), if after  a  "=20"  a  newline
       follows  it  will be removed, and a "=" foolowed by a new-
       line will be replaced by a "" (nothing) without  the  new-
       line.
        Example:
        <font size=3D2=20
        face=3Darial>
        will be changed to:
        <font size=2 face=arial>

        htnews cannot handle pure html-mails!
        I  have  tested it with Netscape Messenger (both text and
       text/html), Outlook Express, Outlook '97, pine  and  kmail
       :-)




Security

       Within  version 0.6.0 htnews will replace any occurence of
       a "`" character with a "'". So it will not be possible  to
       let htnews execute any command while it calls sendmail for
       sending the response message back to  the  originator.  In
       earlier  releases  of  htnews, it was possible, if one had
       something like `cat /etc/passwd` into the message body.
        If you need this "dangerous"  character,  then  you  must
       edit  the source of htnews. But I recommend you, NOT to do
       it! It is dangerous and you cannot trust everybody!



Future Plans

       I plan to provide a Web interface to htnews. With such  an
       interface,  one  could  configure  the  program  from  his
       browser. And I  want  to  implement  a  system  to  handle
       attachments (i.e. converting images to gif, etc.).


Author and download location

       Author Author  of htnews is Thomas Linden, tom@daemon.de ,
              Munich Germany. Drop me a line if you have any com-
              ments or questions.

       Download location
              http://uss.cybernet-ag.net/~tlinden/htnews.tar.gz
               or ftp.daemon.de/pub/utils/htnews.tar.gz



Credits

       Very  special thanks to Jeff W. Bizzaro, who has corrected
       many mistakes in the man-page. With his help, it is "nice"
       english. Thanks a lot, Jeff!




Copyright

       htnews is published under the terms  of  the  GNU  General
       Public  License.  If  you  are running an operating system
       like Linux or BSD, you should already have a local copy of
       the    document.    If   not,   you   can   read   it   at
       http://www.gnu.org/












































Man(1) output converted with man2html