SMTP_PORT, aRecipients ? aRecipients : "");
SMTP_PORT);
nsresult NS_MsgBuildSmtpUrl(nsIFileSpec * aFilePath,                            const char* aSmtpHostName,                             const char* aSmtpUserName,                             const char * aRecipients,                             nsIMsgIdentity * aSenderIdentity,                            nsIUrlListener * aUrlListener,                             nsINetPrompt * aNetPrompt,                            nsIURI ** aUrl){	// mscott: this function is a convience hack until netlib actually dispatches smtp urls.	// in addition until we have a session to get a password, host and other stuff from, we need to use default values....	// ..for testing purposes....		nsresult rv = NS_OK;	nsCOMPtr <nsISmtpUrl> smtpUrl;	rv = nsComponentManager::CreateInstance(kCSmtpUrlCID, NULL, NS_GET_IID(nsISmtpUrl), getter_AddRefs(smtpUrl));	if (NS_SUCCEEDED(rv) && smtpUrl)	{		// this is complicated because the smtp username can be null		char * urlSpec= PR_smprintf("smtp://%s%s%s:%d/%s",					((const char*)aSmtpUserName)?(const char*)aSmtpUserName:"",					((const char*)aSmtpUserName)?"@":"",                                    	(const char*)aSmtpHostName, 					SMTP_PORT, aRecipients ? aRecipients : "");		if (urlSpec)		{			nsCOMPtr<nsIMsgMailNewsUrl> url = do_QueryInterface(smtpUrl);			url->SetSpec(urlSpec);			smtpUrl->SetPostMessageFile(aFilePath);			smtpUrl->SetSenderIdentity(aSenderIdentity);            smtpUrl->SetNetPrompt(aNetPrompt);			url->RegisterListener(aUrlListener);			PR_Free(urlSpec);		}		rv = smtpUrl->QueryInterface(NS_GET_IID(nsIURI), (void **) aUrl);	 }	 return rv;}