BIS Postcard

Web postcard system. Try it out!, Download source to the free version, or Checkout the commercial version.


Send a picture postcard to your frends. Cards are stored in a flat file back end. Old cards are automatically expired. Soon to come, hopefully, is a commercial version with features like dbm back end and file uploading.

A really great thing about BIS Postcard is it's simplicity. Users don't have to jump through radio buttons and check boxes and complicated forms just to send a card. All they need to do is click on an image, then fill in To, From, and the message!

I have been working on a newer version and some fixes will go into this free version, but expect a better "for pay" version fairly soon now. You can see the incomplete docs for the almost complete commercial version here.

Please send comments to


# 1. This program requires you to have installed on your system. 
#       See:
# 2. Make sure the line at the top points to perl on your system. 
#    You might find out if you type "which perl" on the UNIX command line.
# 3. Edit the user configurable variables near the top of the script.
# 4. Ask your ISP where you can run CGI from. Sometimes you must call it 
#    through a wrapper and locate it in a cgi-bin directory. Sometimes it
#    is sufficient to give it a name ending in .cgi. This is the case on 
# Install as they direct.
# 5. Make sure the CGI has write permission to $DATA_FILE. If you use a
#    wrapper it will. If not you may have to make the file and directory
#    containing it to world writable. Ask your ISP for help.
# 6. Create your index page. Sample at:

User Configurable Variables

You may modify these variables to your heart's content.

$DATA_FILE = "/httpd/htdocs/postcard/postcard.dat";
This is the full location to the postcard data file. Make sure that the userid your CGIs run as has write permissions to this directory. Postcard program will create this file. You just give it a name.

$BASE_REF = "";
Homepage for your postcard installation.

$FOOTER = "<p><a href=$BASE_REF>Send your own postcard to someone!</a>";
Text printed at the bottom of each postcard

$BGCOLOR = "#ffffff";
Postcard background color.

This is the URL that users should be sent to for picking up their card. (Hint: it will match the action attribute of your index form.) Before this URL is given to the user the script will tag the pickup code to it. Example: will be shown to the user (in their notification mail) as

$IMG_URL = "/photos/";
Put in the path to your images. Be it a URL to a totally different server or just a relative URL. The image filename will be added to this.

$MAIL_FROM = '';
This is the return address that users recieve their postcard notices from.

$CREATE_BUTTON = 'Create BIS Postcard!';
Text on the create postcard button.

$SUBJECT = "Postcard for you!";
This is the subject in the email notifications.

$THUMB_DIR = "thumbs/";
This one is relative to $IMG_DIR. We expect to find thumbnails here. Unused right now.

$CARD_LIFE = "7";
Number of days to keep cards in database.

$MAIL_PROG = "/usr/lib/sendmail -oi -t";
Postcard will open a pipe to this command when sending postcard notice to recipient.

Other Postcard Sites

Do you use postcard.cgi? Let me know.

Examples of sites using BIS Postcard.cgi

Below is a list of similar scripts. Postcard sites in general


Bewley Internet Solutions perl page