Cool! It works now except for 1 thing. It prints each record twice! Here is the email it returned. I checked only 3 records.
Code:
<EBAY_BULK><EBAY_BULK_EMAIL>NCDIECAST@aol.com</EBAY_BULK_EMAIL>
<EBAY_BULK_DELIM>^</EBAY_BULK_DELIM>
<EBAY_BULK_ITEM>
<EBAY_BULK_ITEM_DESC>1998 Racing Champions #50 Ricky Craven 1/24 Scale 1969 Camaro Stock Rod.
Only 1,998 Produced.</EBAY_BULK_ITEM_DESC>
1/24 Scale #50 Budweiser Camaro Stock Rod^?^n^n^n^NC^http://ncdiecast.com/images/rci01.jpg^1^0.0^16.95^7^n</EBAY_BULK_ITEM>
<EBAY_BULK_ITEM>
<EBAY_BULK_ITEM_DESC>1998 Racing Champions #50 Ricky Craven 1/24 Scale 1969 Camaro Stock Rod.
Only 1,998 Produced.</EBAY_BULK_ITEM_DESC>
1/24 Scale #50 Budweiser Camaro Stock Rod^?^n^n^n^NC^http://ncdiecast.com/images/rci01.jpg^1^0.0^16.95^7^n</EBAY_BULK_ITEM>
<EBAY_BULK_ITEM>
<EBAY_BULK_ITEM_DESC>test</EBAY_BULK_ITEM_DESC>
test^2666^n^n^n^nc^http://^1^0.0^15.00^7^n</EBAY_BULK_ITEM>
<EBAY_BULK_ITEM>
<EBAY_BULK_ITEM_DESC>1998 Racing Champions #50 Ricky Craven 1/24 Scale 1969 Camaro Stock Rod.
Only 1,998 Produced.</EBAY_BULK_ITEM_DESC>
1/24 Scale #50 Budweiser Camaro Stock Rod^?^n^n^n^NC^http://ncdiecast.com/images/rci01.jpg^1^0.0^16.95^7^n</EBAY_BULK_ITEM>
<EBAY_BULK_ITEM>
<EBAY_BULK_ITEM_DESC>test</EBAY_BULK_ITEM_DESC>
test^2666^n^n^n^nc^http://^1^0.0^15.00^7^n</EBAY_BULK_ITEM>
<EBAY_BULK_ITEM>
<EBAY_BULK_ITEM_DESC>djdfjtdyj</EBAY_BULK_ITEM_DESC>
ytjtyj^jytj^n^n^n^nc^http://^1^0.0^15.00^3^n</EBAY_BULK_ITEM>
</EBAY_BULK>
Here is my sub:
Code:
sub ebay_mail {
# --------------------------------------------------------
#Sends up to 100 records to ebay bulk lister
#
my ($key, %ebay_list, $rec_to_ebay, @lines, $line, @data, $errstr, $succstr, $output, $restricted);
$rec_to_ebay = 0;
foreach $key (keys %in) { # Build a hash of keys to send.
if ($in{$key} eq "ebay") {
$ebay_list{$key} = 1;
$rec_to_ebay = 1;
}
}
if (!$rec_to_ebay) {
&ebay_send_failure("You must check the items you want to send.");
return;
}
open (DB, "<$db_file_name") or &cgierr("error in delete_records. unable to open db file: $db_file_name.\nReason: $!");
if ($db_use_flock) { flock(DB, 1); }
@lines = <DB>;
close DB;
open (MAIL,"|/usr/lib/sendmail -t");
print MAIL "To: sadie\@netmcr.com\n";
print MAIL "From: NCDIECAST\@aol.com\n";
print MAIL "Subject: MisterLister\n";
print MAIL "\<EBAY_BULK\>\<EBAY_BULK_EMAIL\>NCDIECAST\@aol.com\<\/EBAY_BULK_EMAIL\>\n";
print MAIL "\<EBAY_BULK_DELIM\>\^\<\/EBAY_BULK_DELIM\>\n";
LINE: foreach $line (@lines) {
if ($line =~ /^$/) { next LINE; }
if ($line =~ /^#/) { $output .= $line; next LINE; }
chomp ($line);
@data = &split_decode($line);
if ($ebay_list{$data[$db_key_pos]} ) {
$email_message .= "\<EBAY_BULK_ITEM\>\n\<EBAY_BULK_ITEM_DESC\>$data[22]\<\/EBAY_BULK_ITEM_DESC\>\n$data[10]\^$data[11]\^$data[12]\^$data[13] \^$ data[14]\^$data[15]\^$data[16]\^$data[17]\^$data[18]\^$data[19]\^$data[20]\^$data[21]\<\/EBAY_BULK_ITEM\>\n";
$ebay_list{$data[$db_key_pos]} = 0;
print MAIL "$email_message";
}
}
print MAIL "\<\/EBAY_BULK\>";
close MAIL;
foreach $key (keys %ebay_list) {
$ebay_list{$key} ? # Check to see if any items weren't sent
($errstr .= "$key,") : # that should have been.
($succstr .= "$key,"); # For logging, we'll remember the one's we sent.
}
chop($succstr); # Remove trailing delimeter
chop($errstr); # Remove trailing delimeter
&auth_logging("sent records to ebay: $succstr") if ($auth_logging);
$errstr ? # Do we have an error?
&ebay_send_failure($errstr) : # If so, then let's report go to the failure page,
&ebay_send_success($succstr); # else, everything went fine.
}
------------------
webmaster@racedaze.com