зеркало из https://github.com/mozilla/pjs.git
Send full name of sender, fix bug 10500
This commit is contained in:
Родитель
5d983a7c04
Коммит
7e6f308511
|
@ -31,6 +31,7 @@
|
||||||
#include "nsXPIDLString.h"
|
#include "nsXPIDLString.h"
|
||||||
#include "nsIParser.h"
|
#include "nsIParser.h"
|
||||||
#include "nsParserCIID.h"
|
#include "nsParserCIID.h"
|
||||||
|
#include "nsIMsgHeaderParser.h"
|
||||||
#include "nsHTMLToTXTSinkStream.h"
|
#include "nsHTMLToTXTSinkStream.h"
|
||||||
#include "CNavDTD.h"
|
#include "CNavDTD.h"
|
||||||
#include "nsMsgCompUtils.h"
|
#include "nsMsgCompUtils.h"
|
||||||
|
@ -59,6 +60,7 @@ static NS_DEFINE_CID(kMsgMailSessionCID, NS_MSGMAILSESSION_CID);
|
||||||
// Defines....
|
// Defines....
|
||||||
static NS_DEFINE_CID(kMsgQuoteCID, NS_MSGQUOTE_CID);
|
static NS_DEFINE_CID(kMsgQuoteCID, NS_MSGQUOTE_CID);
|
||||||
static NS_DEFINE_CID(kPrefCID, NS_PREF_CID);
|
static NS_DEFINE_CID(kPrefCID, NS_PREF_CID);
|
||||||
|
static NS_DEFINE_CID(kHeaderParserCID, NS_MSGHEADERPARSER_CID);
|
||||||
|
|
||||||
// RICHIE
|
// RICHIE
|
||||||
// This is a temp hack and will go away soon!
|
// This is a temp hack and will go away soon!
|
||||||
|
@ -236,14 +238,31 @@ nsresult nsMsgCompose::_SendMsg(MSG_DeliverMode deliverMode,
|
||||||
{
|
{
|
||||||
// Pref values are supposed to be stored as UTF-8, so no conversion
|
// Pref values are supposed to be stored as UTF-8, so no conversion
|
||||||
nsXPIDLCString email;
|
nsXPIDLCString email;
|
||||||
|
nsXPIDLCString fullName;
|
||||||
nsXPIDLCString replyTo;
|
nsXPIDLCString replyTo;
|
||||||
nsXPIDLCString organization;
|
nsXPIDLCString organization;
|
||||||
|
|
||||||
identity->GetEmail(getter_Copies(email));
|
identity->GetEmail(getter_Copies(email));
|
||||||
|
identity->GetFullName(getter_Copies(fullName));
|
||||||
identity->GetReplyTo(getter_Copies(replyTo));
|
identity->GetReplyTo(getter_Copies(replyTo));
|
||||||
identity->GetOrganization(getter_Copies(organization));
|
identity->GetOrganization(getter_Copies(organization));
|
||||||
|
|
||||||
m_compFields->SetFrom(NS_CONST_CAST(char*, (const char *)email));
|
char * sender = nsnull;
|
||||||
|
nsCOMPtr<nsIMsgHeaderParser> parser;
|
||||||
|
nsComponentManager::CreateInstance(kHeaderParserCID,
|
||||||
|
nsnull,
|
||||||
|
nsCOMTypeInfo<nsIMsgHeaderParser>::GetIID(),
|
||||||
|
getter_AddRefs(parser));
|
||||||
|
if (parser)
|
||||||
|
parser->MakeFullAddress(nsnull, NS_CONST_CAST(char*, (const char *)fullName),
|
||||||
|
NS_CONST_CAST(char*, (const char *)email),
|
||||||
|
&sender);
|
||||||
|
if (!sender)
|
||||||
|
m_compFields->SetFrom(NS_CONST_CAST(char*, (const char *)email));
|
||||||
|
else
|
||||||
|
m_compFields->SetFrom(sender);
|
||||||
|
PR_FREEIF(sender);
|
||||||
|
|
||||||
//Set the reply-to only if the user have not specified one in the message
|
//Set the reply-to only if the user have not specified one in the message
|
||||||
const char * reply = m_compFields->GetReplyTo();
|
const char * reply = m_compFields->GetReplyTo();
|
||||||
if (reply == nsnull || *reply == 0)
|
if (reply == nsnull || *reply == 0)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче