Considerations
  • [color:black] mailto:
  • HTTP GET - HyperText Transfer Protocol (data in URL)
  • HTTP POST - HyperText Transfer Protocol - (hidden data)
  • Anonymous FTP - File Transfer Protocol
  • SMTP - Simple Mail Transfer Protocol
    [/color]
The design of the script and its data elements is going to depend on which protocol you intend to use to transfer the bug report data. You can send it (via socket) by email (SMTP) or through a web interface (HTTP - the same as <form method=GET|POST action=http://socket.connection.page.to.interpret.the.data.[cgi|asp|php]> on a web page form) or perhaps even by transferring a file (FTP) to a common bug report collection point. If you have a web page (.cgi|.asp|.php) capable of handling data input, then the web page interface is quite likely the easiest to implement. SMTP would require that the user tell the script where there email host is, probably a password to use it as well as writing a mnimal SMTP client engine itself (a non-trivial task); the FTP interface would not be horribly difficult for an ASCII file transfer but would require a minimal FTP client engine (again, a non-trivial task for scripters inexperienced with sockets).

Probably the easiest method would simply to disregard the sockets altogether, build a decent mailto: string and simply open an email to you (or your bug report email alias) from them, using their default email client. You can even format the body of the email nicely (for most well-behaved email clients) with $crlf's (%0D%0A). mailto:Hammer <hammer[/b]@dal.net>?subject=Bug Report for MyScript - Away System&body=When I was trying to set myself away%0D%0Ait wouldn't work!!!!!!

The second easiest method is an HTTP socket to a URL that can handle GET like http://www.site.com/mypage.cgi?topic=Bug...%21%21%21%21%21 and then let your .cgi or .asp or .php script handle the data input. Of course, this method requires the presence of such a script on a web server that can handle that kind of web extension.

Third easiest would be the HTTP socket toa URL that can handle a POST (variables not in the URL itself but in a block that follows the HTTP headers+$crlf) with the same caveat as above.

Next most difficult is probably the FTP script (anonymous login). The basic FTP protocol isn't too difficult to deal with and since you're not writing a full-blown FTP client, you'd only have to make the script deal with the most rudimentary file transfer, though that still requires keeping track of 2 sockets (data + control), rather than one as in the HTTP examples and in the SMTP example to follow.

Finally, SMTP would most likely be the most difficult because most users are not technically adept enough to be able to configure a real STMP client (like Outlook or Eudora) confidently. Therefore, requesting the required information from them and getting everything working (based solely on the data THEY must input to the script) can be quite challenging.

All of these will require that you learn the protocol you choose, however much of it you need to accomplish what you want to do.


DALnet: #HelpDesk and #m[color:#FF0000]IR[color:#EEEE00]C