Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages
Envelope(3) User Contributed Perl Documentation Envelope(3)

Qmail::Envelope - Perl module modifying qmail envelope strings.

  use Qmail::Envelope;
  ## When you have received the envelope from qmail-smtpd
  my $E = Qmail::Envelope->new (data => $Envelope);
  ## or if you want to create one on the fly ...
  my $E = Qmail::Envelope->new();
  ## add a recipient
  ## remove a recipient
  ## remove all recipients for a specific domain
  ## clear the entire recipient list
  ## get ref to an array containing the list of hosts in the envelope
  my $host_list = $E->rcpt_hosts;
  ## get envelope sender
  my $sender = $E->sender;
  ## set envelope sender 
  ## get the total number of recipients in the envelope.
  ## duplicates are counted.
  my $number_of_recips = $E->total_recips;
  ## get the total numbers of recips for a specific host
  my $number_of_recips = $E->total_recips_for_host('');
  ## remove duplicate recipient entries in the envelope
  ## pretty print the envelope
  print $E->as_string;
  ## complete formatted envelope, with terminating null bytes and all.
  my $envelope = $E->gen;

This module takes a qmail envelope, and allows you perform operations on it. You can also create qmail envelopes from scratch. A quick background: qmail-smtpd hands all mail messages it receives to the mail queuer program, qmail-queue. qmail-queue gets the message (headers and body) from qmail-smtpd on file descriptor 1, and the envelope on file descriptor 2. Yeah, I thought it was weird at first too.
Anyway, the envelope is a string which contains the sender and all of the recipients of a mail message. This envelope may or may not match the headers of the mail message (think cc and bcc). The envelope tells qmail-queue where the message is from, and where it is going to.
This module my help you if you have decided to insert a perl script in between qmail-smtpd and qmail-queue. There is an interesting open source program called qmail-scanner which (in its documentation) explains how to accomplish this this neat trick.
I hope this module helps someone out there. I've been using it in a production environment for some time now, and it seems stable.

None by default.

Useful to me was qmail-scanner program, located at:
Also helpful were the man pages for qmail-smtpd, qmail-queue, and envelopes. They all come with the qmail mail server source.
You can see the other (few) things I've written at

root, <>

Copyright 2004 by Matt J. Avitable
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
2004-11-03 perl v5.28.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.