mirror of
https://github.com/pocoproject/poco.git
synced 2025-10-29 12:18:01 +01:00
Fix for bug in MailMessage reported on forum
(http://pocoproject.org/forum/viewtopic.php?f=12&t=6106&sid=9283682f915ea148d86813ea140cd3c7). MailMessage was not handling encoding when no Content-Transfer-Encodign header was not present for MultiPart messages, resulting on an Exception. His fix checks if the header is present before getting is value, and defaults to 7bit encoding as in http://www.w3.org/Protocols/rfc1341/5_Content-Transfer-Encoding.html
This commit is contained in:
@@ -104,13 +104,16 @@ namespace
|
||||
{
|
||||
|
||||
MailMessage::ContentTransferEncoding cte = MailMessage::ENCODING_7BIT;
|
||||
std::string enc = header[MailMessage::HEADER_CONTENT_TRANSFER_ENCODING];
|
||||
if (enc == MailMessage::CTE_8BIT)
|
||||
cte = MailMessage::ENCODING_8BIT;
|
||||
else if (enc == MailMessage::CTE_QUOTED_PRINTABLE)
|
||||
cte = MailMessage::ENCODING_QUOTED_PRINTABLE;
|
||||
else if (enc == MailMessage::CTE_BASE64)
|
||||
cte = MailMessage::ENCODING_BASE64;
|
||||
if(header.has(MailMessage::HEADER_CONTENT_TRANSFER_ENCODING))
|
||||
{
|
||||
std::string enc = header[MailMessage::HEADER_CONTENT_TRANSFER_ENCODING];
|
||||
if (enc == MailMessage::CTE_8BIT)
|
||||
cte = MailMessage::ENCODING_8BIT;
|
||||
else if (enc == MailMessage::CTE_QUOTED_PRINTABLE)
|
||||
cte = MailMessage::ENCODING_QUOTED_PRINTABLE;
|
||||
else if (enc == MailMessage::CTE_BASE64)
|
||||
cte = MailMessage::ENCODING_BASE64;
|
||||
}
|
||||
|
||||
NameValueCollection::ConstIterator it = header.begin();
|
||||
NameValueCollection::ConstIterator end = header.end();
|
||||
|
||||
Reference in New Issue
Block a user