Bug:
-------
In EmailAddress.cs, the charset is never initialized by default causing a Null Reference exception:
Reproduce:
-----------------
Send an email to an address that needs to be encoded (eg "
Thomas LJmann JRgensen"), I get an error:
System.NullReferenceException: Object reference not set to an instance of an object.
at DotNetOpenMail.Encoding.QPEncoder.Encode(StringReader stringreader, StringWriter stringwriter, Encoding charset, Boolean forceRFC2027) in e:\dotnetopenmail-0.5.1b\dotnetopenmail\encoding\qpencoder.cs:line 353
at DotNetOpenMail.Encoding.QPEncoder.EncodeString(String sourceString, Encoding charset, Boolean forceRFC2027) in e:\dotnetopenmail-0.5.1b\dotnetopenmail\encoding\qpencoder.cs:line 149
at DotNetOpenMail.Encoding.QPEncoder.EncodeHeaderString(String str, Encoding charset, Boolean forceencoding) in e:\dotnetopenmail-0.5.1b\dotnetopenmail\encoding\qpencoder.cs:line 170
at DotNetOpenMail.EmailAddress.ToDataString() in e:\dotnetopenmail-0.5.1b\dotnetopenmail\emailaddress.cs:line 138
at DotNetOpenMail.EmailAddressCollection.ToDataString() in e:\dotnetopenmail-0.5.1b\dotnetopenmail\emailaddresscollection.cs:line 132
at DotNetOpenMail.EmailMessage.GetStandardHeaders(Encoding charset, IEncoder encoder) in e:\dotnetopenmail-0.5.1b\dotnetopenmail\emailmessage.cs:line 294
at DotNetOpenMail.EmailMessage.ToDataStringHeaders(Encoding charset, IEncoder encoder) in e:\dotnetopenmail-0.5.1b\dotnetopenmail\emailmessage.cs:line 407
at DotNetOpenMail.EmailMessage.ToDataString() in e:\dotnetopenmail-0.5.1b\dotnetopenmail\emailmessage.cs:line 567
Solution:
------------
In EmailAddress.cs, set default:
_charset=System.Text.Encoding.ASCII;
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Bug:
-------
In EmailAddress.cs, the charset is never initialized by default causing a Null Reference exception:
Reproduce:
-----------------
Send an email to an address that needs to be encoded (eg "
Thomas LJmann JRgensen"), I get an error:
System.NullReferenceException: Object reference not set to an instance of an object.
at DotNetOpenMail.Encoding.QPEncoder.Encode(StringReader stringreader, StringWriter stringwriter, Encoding charset, Boolean forceRFC2027) in e:\dotnetopenmail-0.5.1b\dotnetopenmail\encoding\qpencoder.cs:line 353
at DotNetOpenMail.Encoding.QPEncoder.EncodeString(String sourceString, Encoding charset, Boolean forceRFC2027) in e:\dotnetopenmail-0.5.1b\dotnetopenmail\encoding\qpencoder.cs:line 149
at DotNetOpenMail.Encoding.QPEncoder.EncodeHeaderString(String str, Encoding charset, Boolean forceencoding) in e:\dotnetopenmail-0.5.1b\dotnetopenmail\encoding\qpencoder.cs:line 170
at DotNetOpenMail.EmailAddress.ToDataString() in e:\dotnetopenmail-0.5.1b\dotnetopenmail\emailaddress.cs:line 138
at DotNetOpenMail.EmailAddressCollection.ToDataString() in e:\dotnetopenmail-0.5.1b\dotnetopenmail\emailaddresscollection.cs:line 132
at DotNetOpenMail.EmailMessage.GetStandardHeaders(Encoding charset, IEncoder encoder) in e:\dotnetopenmail-0.5.1b\dotnetopenmail\emailmessage.cs:line 294
at DotNetOpenMail.EmailMessage.ToDataStringHeaders(Encoding charset, IEncoder encoder) in e:\dotnetopenmail-0.5.1b\dotnetopenmail\emailmessage.cs:line 407
at DotNetOpenMail.EmailMessage.ToDataString() in e:\dotnetopenmail-0.5.1b\dotnetopenmail\emailmessage.cs:line 567
Solution:
------------
In EmailAddress.cs, set default:
_charset=System.Text.Encoding.ASCII;
Hi-
I've fixed this in the latest version. I set the default is iso-8859-1, since QP is not required for ASCII.
Thanks,
-Mike