Hack 74 Streamlining Communications

figs/expert.giffigs/hack74.gif

Use templates to send prewritten emails to your bidders.

As a seller, it is your responsibility to guide your bidders, helping them send payments and complete your transactions. You are the teacher as well as the seller, and ? unfortunately ? you'll get blamed when something goes wrong.

The email you send to your winning bidders after an auction has ended, as discussed in [Hack #66], must communicate several different pieces of information, including the total amount to pay, the methods of payment you accept, and how to actually send payment. As a busy seller, you'll want to do everything you can to simplify this task so that notifying dozens or even hundreds of bidders takes no more time than notifying a single one. Here are three different approaches that offer three different levels of automation.

7.4.1 The Simple Approach

As stated at the beginning of this chapter, sellers have different needs and different capabilities. The simplest way to streamline repetitive emails is to use the Stationery feature of your email program (instructions for Eudora and Outlook follow).

  • Eudora (www.eudora.com). To start, go to Tools Stationery. Right-click an empty area of the Stationery window, and select New. Type the subject line and body text that you'd like to send to an average bidder, and close the Untitled window when you're done. Eudora will prompt you for a filename in which to save the stationery; thereafter, your stationery will appear in the Stationery window. Simply double-click your stationery to send it to a new customer.

    Your email should be readable by as many bidders as possible. For this reason, avoid using special fonts, colors, and especially pictures in your stationery.

  • Outlook or Outlook Express (www.microsoft.com). Go to Message New Message. Type the subject line and body text that you'd like to send to an average bidder, and then go to File Save as Stationery when you're done. To send a message with your stationery, go to Message New Message Using Select Stationery, find your newly created stationery in the folder, and then click OK.

7.4.2 The Hacker's Approach

This next approach involves a template, an HTML form, and a Perl script, all of which must be installed on a web server, even if it's a local server on your own machine. A seller enters a few specifics into the form, and the Perl script places them into the template and mails it to the bidder.

Start with this simple HTML form (replace the URL in the first line with the address of your script):

<form method="post" action="http://www.ebayhacks.com/cgi-bin/mail.pl">
Item Number: <input name="item" size=15>
<br>
Title: <input name="title" size=30>
<br>
Email address: <input name="email" size=30>
<p>
High bid: <input name="highbid" size=8>
<br>
Shipping: <input name="shipping" size=8>
<p>
<input type="submit" value="Send">
</form>

Next, the template should look something like this:

Congratulations!  You're the high bidder for the 
<insert title here>
 (ebay #
<insert item here>
).  Shipping will be 
<insert shipping here>
, bringing the total to 
<insert total here>
. The types of payment I accept are listed in the auction description and on 
my "About Me" page at eBay.  Payment can be made in any of the following 
ways:

- If you have a free PayPal account, you can pay with your credit card or 
with an electronic bank account transfer.  Just click the PayPal logo in the 
auction you've won.

- If you'd like to pay directly with your Visa, Mastercard, or American 
Express, you can use my private, secure server at:
https://www.ebayhacks.com/checkout.html

- If you'd like to pay with BidPay, or if you'd like to send a money order 
or cashier's check (sorry, no personal or business checks), send them to:
Acme Auctions,  123 Fake Street,   Springfield, 90125

Either way, please send a confirmation email mentioning how you intend to 
pay as soon as you get this email.  Thanks for bidding!

Customize the template to your heart's content and then save it into a plain text file. Note the special placeholders ? on their own lines ? into which the script places relevant information when the template is parsed. Use the following Perl script, mail.pl, to tie it all together.

This script requires the cgi-lib.pl Perl library (http://cgi-lib.berkeley.edu/), used to parse the arguments passed from the HTML form.

#!/usr/bin/perl

require("cgi-lib.pl");
&ReadParse;

$myemail = "paybot\@ebayhacks.com";
$template = "/usr/local/home/template.txt";
$returnurl = "http://www.ebayhacks.com/contactform.html";

if (($in{'item'} eq "") || ($in{'title'} eq "") || ($in{'email'} eq "")
           || ($in{'highbid'} eq "") || ($in{'shipping'} eq "")) {
  print "Content-type: text/html\n\n";
  print "Please fill out all the fields.\n";
  exit;
}

open(MAIL,"|/usr/sbin/sendmail -t");
print MAIL "To: $in{'email'}\n";
print MAIL "From: $myemail\n";
print MAIL "Reply-To: $myemail\n";
print MAIL "Subject: $in{'title'}\n\n";

open (COVER, "$template");
  while ( $line = <COVER> ) {
   if ($line eq "<insert title here>") { print MAIL $in{'title'}; }
   elsif ($line eq "<insert item here>") { print MAIL $in{'item'}; }
   elsif ($line eq "<insert shipping here>") { print MAIL $in{'shipping'}; }
   elsif ($line eq "<insert total here>") {
                   print MAIL $in{'highbid'} + $in{'shipping'}; }
   elsif ($line eq "") { print MAIL "\n\n"; }
   else {         
     if ($line eq "\n") { $line = "$line\n"; }
             else { chomp $line; }
     print MAIL $line;
   }
  }
close(COVER);
close(MAIL);
print "Location: $returnurl\n\n";

This script is fairly crude, but it does the job. Make sure to change the $myemail, $template, and $returnurl variables to reflect your email address, the location of your template file, and the URL of your HTML form, respectively.

To make this even more automated, tie the script in with the eBay API, which, when given an item number, will be able to retrieve the title, the email address of the high bidder, and the amounts of the high bid and applicable shipping charges. See Chapter 8 for details on the eBay API.

7.4.3 The Business Approach

Sellers who need to send payment instructions to hundreds or thousands of bidders will not have the time to process them individually. This situation requires auction management software, typically available for an additional monthly fee. A few examples include:

  • eBay's own Selling Manager, discussed in [Hack #76]

  • eBay Seller's Assistant Pro, discussed in [Hack #73].

  • Auctiva Manager (eBud), a component of Auctiva Pro (www.auctiva.com)

  • Andale Checkout (www.andale.com) and Vendio Checkout (www.vendio.com), both discussed in [Hack #75]