fix 221673, mapi send problems when mapi client puts smtp: in front of address, sr=sspitzer

This commit is contained in:
bienvenu%nventure.com 2004-05-12 17:51:44 +00:00
Родитель 7aeb002528
Коммит 81faa74f88
1 изменённых файлов: 13 добавлений и 6 удалений

Просмотреть файл

@ -452,24 +452,27 @@ nsresult nsMapiHook::PopulateCompFields(lpnsMapiMessage aMessage,
{ {
if (aMessage->lpRecips[i].lpszAddress) if (aMessage->lpRecips[i].lpszAddress)
{ {
const char *addressWithoutType = aMessage->lpRecips[i].lpszAddress;
if (!PL_strncasecmp(addressWithoutType, "SMTP:", 5))
addressWithoutType += 5;
switch (aMessage->lpRecips[i].ulRecipClass) switch (aMessage->lpRecips[i].ulRecipClass)
{ {
case MAPI_TO : case MAPI_TO :
if (!To.IsEmpty()) if (!To.IsEmpty())
To += Comma ; To += Comma ;
To.AppendWithConversion(aMessage->lpRecips[i].lpszAddress) ; To.AppendWithConversion(addressWithoutType) ;
break ; break ;
case MAPI_CC : case MAPI_CC :
if (!Cc.IsEmpty()) if (!Cc.IsEmpty())
Cc += Comma ; Cc += Comma ;
Cc.AppendWithConversion(aMessage->lpRecips[i].lpszAddress) ; Cc.AppendWithConversion(addressWithoutType) ;
break ; break ;
case MAPI_BCC : case MAPI_BCC :
if (!Bcc.IsEmpty()) if (!Bcc.IsEmpty())
Bcc += Comma ; Bcc += Comma ;
Bcc.AppendWithConversion(aMessage->lpRecips[i].lpszAddress) ; Bcc.AppendWithConversion(addressWithoutType) ;
break ; break ;
} }
} }
@ -683,24 +686,28 @@ nsresult nsMapiHook::PopulateCompFieldsWithConversion(lpnsMapiMessage aMessage,
{ {
if (aMessage->lpRecips[i].lpszAddress) if (aMessage->lpRecips[i].lpszAddress)
{ {
const char *addressWithoutType = aMessage->lpRecips[i].lpszAddress;
if (!PL_strncasecmp(addressWithoutType, "SMTP:", 5))
addressWithoutType += 5;
switch (aMessage->lpRecips[i].ulRecipClass) switch (aMessage->lpRecips[i].ulRecipClass)
{ {
case MAPI_TO : case MAPI_TO :
if (!To.IsEmpty()) if (!To.IsEmpty())
To += Comma ; To += Comma ;
To.AppendWithConversion ((char *) aMessage->lpRecips[i].lpszAddress); To.AppendWithConversion (addressWithoutType);
break ; break ;
case MAPI_CC : case MAPI_CC :
if (!Cc.IsEmpty()) if (!Cc.IsEmpty())
Cc += Comma ; Cc += Comma ;
Cc.AppendWithConversion ((char *) aMessage->lpRecips[i].lpszAddress); Cc.AppendWithConversion (addressWithoutType);
break ; break ;
case MAPI_BCC : case MAPI_BCC :
if (!Bcc.IsEmpty()) if (!Bcc.IsEmpty())
Bcc += Comma ; Bcc += Comma ;
Bcc.AppendWithConversion ((char *) aMessage->lpRecips[i].lpszAddress) ; Bcc.AppendWithConversion (addressWithoutType) ;
break ; break ;
} }
} }