diff options
Diffstat (limited to 'CHANGELOG')
-rw-r--r-- | CHANGELOG | 260 |
1 files changed, 260 insertions, 0 deletions
diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..9deddaf --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,260 @@ +1.56 (Sep 8, 2009) + - Fixed authentication errors caused by invalid base64 encoding. + Thanks for dozens of people who reported this and even submitted + patches! Sorry it took me so long to get this fixed :| + - Updated authentication code so it would try both AUTH PLAIN and + AUTH LOGIN methods before giving up. This should make it even + more robust. + - Detect <!DOCTYPE in first line of the message body as an html email too. + - Added command line option to force sending message as either + text or html (also allows a manual content-type header). + +1.55 (Dec 13, 2006) + - New command line option to specify a local bind address. Useful on + machines with multiple IP addresses. + - EHLO should never send "localhost" now. I Added a new function + called get_hostname() that does several new checks to get the system's + hostname. If all else fails it will send it's own IP address. + - Added a new command line option, -o fqdn=FQDN, that allows one to override + the name sent after EHLO. + - Small change to how the timezone is sent, it was triggering spam filters. + - Windows executable now has TLS support enabled! + +1.54 (Oct 28, 2006) + NEW FEATURES: + - TLS support is finally here! See the -o tls=[auto|yes|no] option. + To enable simply install the Net::SSleay and IO::Socket::SSL modules. + NOTE: If you experience errors related to TLS, PLEASE UPDATE your + Net::SSleay and IO::Socket::SSL modules before reporting an error. + I have already found inconsistancies with older versions. + - Updated the "-o message-header=HEADER" option so that you can use + it more than once. Additionally you can now use it to override message + headers that would have normally been generated by sendEmail. This is + particularly useful when a custom Message-ID or subject is needed. + - SMTP authentication now supports the SASL PLAIN mechanism along + with the LOGIN method. + - New optional way to specify username and password with the -o option. + - If a username is supplied with -xu, but a password is not specified, + sendEmail will now prompt for one rather than exiting with an error. + BUG FIXES: + - Fixed an annoying bug that made some MUA's believe there was always + an attachment when there wasn't. + - New base64_encode() function that fixes a bug that was causing certain + usernames/passwords used with -xu and -xp to not work properly. + +1.53 (never publicly released, changes merged into 1.54) + +1.52 (Feb 19, 2005) + - Fixed the bug that prevented sendEmail on Windows and Mac systems + from working properly. Thanks to the many people that reported that + bug! Sorry it took me so long to fix, I've been working on my new + anti-spam service for businesses at http://www.dotclean.com/ + - Allow null command line arguments. For example -u "" should work. + Thanks to Mike Nadeau for pointing out that bug. + - Print shell escape codes for colored help on everything but Windows. + Thanks to Offer Kaye for that tip. If this causes problems anywhere + please let me know! + - Changed default mime-encoding header to "application/octet-stream" + rather than "base64" when sendEmail can't guess any other content- + type to use. Thanks to wwp for that patch. + - Added a -o message-charset option to specify the message body's + character set. Thanks to Jei for letting me know not everyone + sends messages in iso-8859-1 ;) + +1.51 (Dec 02, 2004) + - A few alarm() calls were being called on Win32 systems which doesn't work. + - Added -o message-format=raw option to allow sending of raw pre-built email + messages. Thanks to Lutz for the patch! + - If the hostname isn't found in common environment variables it now loads + the Sys::Hostname module and uses it to get the hostname. This should + work properly on more platforms now. If calling this module causes + anyone grief please let me know! + +1.50 (Sep 30, 2004) + - There has been a long standing bug where sendEmail could tell you the + remote server accepted the email when, in fact, it had been rejected. + This is now fixed. + - Changed the textual output of many debug messages. + - Added a Message-ID header to each message sent. + - You can now specify multiple to, cc, or bcc recipients by separating them + with either a space, comma, or semi-colon. Previously it had to be space + separated. + - Replaced the connect function with one from the IO::Socket library. The + IO::Socket module is included in default Perl installations, so this change + does not create any new Perl module dependencies. + - When sending to multiple recipients and one is rejected by the server + sendEmail does not abort as long as at least one recipient was + accepted. + - To, CC, and BCC fields can be specified in the + "Brandon Zehm <caspian@dotconf.net>" + format and it will populate the appropriate fields in the email message. + - All messages are now MIME encoded, even simple text ones. This makes the + program flow much cleaner. + - SMTP Auth is now supported with the -xu and -xp command line parameters. + - You can create multi-line messages on the command line now by putting + a '\n' into the message specified with the -m parameter. + - Always use +0000 for timezone, and get the current time from gmtime() + rather than localtime(). + - Added some color to the help and documentation if the shell is Bash. + - It now aborts with an error message if all file attachments can not be + found before connecting to the remote smtp server. Previously if an + attachment specified couldn't be opened it would simply send the message + without the attachment. + - Allow a single custom email header line to be specified with + -o message-header=HEADER + - Add a -o timeout=SECONDS option so you can set the timeout used for all + network reads and writes. + - Added ability to specify a "Reply-to:" header with -o reply-to=ADDRESS + - Added ability to read message body from a file with -o message-file=FILE + - Added a lot of new documentation available via --help TOPIC. + +1.42 (June 06, 2003) + - It was possible to send bare CR's, so I fixed that now. (Thanks to + Jared Cheney for the bug report) + - Patch from Jared Cheney to add the MIME-Version field to conform to RFC1521 + (made attachments work with more mail clients) + +1.41 (Apr 22, 2003) + - In some cases bare LF's were *still* getting sent, so I think I fixed it + right this time. (Thanks to Buddy Nahay for that bug report and helping + me test the fix!) + - Fixed bare period encoding (it wasn't working in all cases either) + - Changed HTML detection to require the <html> to be at the beginning of + a line. Otherwise any email with "<html>" in the message would get + tagged as being an html message. (Thanks to John Rouillard for that + bug report!) + +1.40 (Dec 04, 2002) + - A patch from Paul Kreiner (J.P van Oyen also reported a similar fix): + "This patch forces the timestamp string to always follow + the HH:MM:SS convention required by the RFCs, even if the + fields could be represented with a single digit. I also + took the liberty of adding a global "timezone" variable at + the top, and fixing a couple of typos." + - A patch from Reidar Johansen that included several fixes, but notably + he included a function called tz_offset that determines what timezone + your in. + - Fixed the signal handlers so they display a nice message + - Added a quit() function + - Added a printmsg() function to handle all printed/logged messages + - Added a simple openLogFile() function + - If running in Win32 it says "CTRL-Z" rather than "CTRL-D" + - Applied fix from Yakov Lerner to fix bare period encoding + - Check that attachments exist and are readable before trying to open them + - Rewrote the connect() function + - Rewrote the close/disconnect function + - Made the -v option work with any number of -v's + - Rewrote the read_server_response() function and renamed it to readServerResponse() + - Did a bunch of little fixes so that perl -w won't complain + - Redid the whole file logging stuff - now the printmsg function takes care of it, + and it's no longer partially broken. + - Added a global alarm variable for setting the alarm timeout, and changed + it's default value to 60 rather than 15. + - Fixed all the exit()'s so that sendEmail should now only exit with an + error status of 0 if it successfully sent the email. + - Added support for HTML email (Thanks again to Reidar Johansen) + - Re-worked the mime-encoding function to work with -w and use strict. + - Removed several die() calls in the file attachment process. + - Put a fix in place that should cleanly replace any bare LF's with CRLF. + +1.33 (Apr 16, 2001) + - Fixed some typo's and problems with the logging option regarding the + printing of attachment(s) names to the log file. + - Fixed several comparisons with null strings. + - Lots of little cleanup things. + +1.32 (Aug 18, 2000) + - Fixed a fairly serious error which in some circumstances would + cause file attachments to be corrupted because the mime padding at + the end of the attachment was not getting set correctly. + +1.31 (Aug 9, 2000) + - Totally rewrote all mime encoding code, it should now be 100% + MIME/Base64 compliant, and it now opens files in binary mode in win32. + This was a much bigger operation than it sounds like ;-) + - Now it should work with LARGE file attachments. In v1.30 it had to + load the whole file into memory before encoding it, now it encodes + line by line so it doesn't use nearly as much memory. + - Now checks the message for bare periods and encodes them. + - Fixed a bug that would allow text to be printed even if -q was + set (and -m was not). + - The MIME delimiter is now somewhat random. + +1.30 (Aug 1, 2000) + - ATTACHMENT SUPPORT ADDED! + - Added CC and BCC support, they are now normal command line options. + - sendEmail should now work easier in Win32. Win32 did not support + the alarm() calls, so I put a check that disables the alarm calls if + $^O matches 'Win'. + - Added autodetection of mime type on attachments. + - Disabled the alarm timer if there are attachments, that way people + on modems can send big attachments without getting their upload killed. + - Added a -q option for quiet mode + - Added a 'Date:' field in the mail headers so messages will + show up in the right order in my mail program ;-) + - Changed the way you specify a port form the command line + now you specify it in the -s <server> option as an + optional :port addendum to the server name. + - Added -h and --help support. + - Updated the help to reflect all changes. + +1.22 (Jul 8, 2000) + - Removed the 'content-type' and 'transfer encoding type' flags in the email + headers, in preparation for a version that will support real attachments. + - When piping data to sendEmail often email would have lines ending with + just \012 and many email servers do not like this. So I now have \012 + replaced with \012\015 in data piped from STDIN. + - When piping data as the message it now displays a message for those manually + typing in an email. It also changes the 15 second alarm to a 60 second alarm + and resets it after every new line. + +1.21 (May 15, 2000) + - Removed the SIG_ALARM call (gave errors on certain non-slackware distributions) + - Added a missing error check that could have allowed sendEmail to say a + message was sent successfully when the server had actually returned an + error message. + + +1.20 (May 10, 2000) + VERSION OVERVIEW: + ----------------- + -v option added + -vv option added + Passing the body of the email via STDIN is now an option + Multiple <to> addresses now allowed + Logging feature added + Terminates itself after 15 seconds to avoid dns hangs etc + Lots of small potential bugs fixed and a lot of code cleanup + + DETAILS: + -------- + - DEBUG CODE/MODE: + - Lots of error messages everywhere + - 2 levels of verbosity accessible via command like parameters + - Lots more information messages triggered by $debug's value + - Fixed a problem which could have caused sendEmail to overlook certain + error messages from the email server. + - All invalid command line parameters are now reported correctly + - Some code comments were written incorrectly, and are now fixed. + - Added handler for HUP and ALARM (both kill sendEmail now) + - Possible problems with certain email addresses fixed. + - Modified date routine to not use a system call. (making it more portable) + - Improved command line parsing (preventing a few possible errors). + - Thanks to Nick Pasich for help with these patches: + - You can now send the body of the email via the -m option + as before or optionally leave the -m out and pass the body + of the email to STDIN. + - Alarm to abort sendEmail if it runs longer than 15 seconds + - Multiple 'To' addresses + - Option to log to a file + - Updated the 'help' page to reflect all changes + + +1.01 + - Fixed a bug in the error/success checking routine which caused sendEmail + to report errors when there were none. + Thanks to Michael Santy for this bug report. + - Added some more documentation in the code. + - Added this CHANGELOG file. + - Release v1.01 + |