Professional Documents
Culture Documents
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 contenttype to use. Thanks to wwp for that patch.
- Added a -o message-charset option to specify the message body's
- 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 readServerResp
onse()
- 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.
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.