Closed Bug 95124 Opened 24 years ago Closed 23 years ago

Mail news interface for Simple MAPI

Categories

(MailNews Core :: Simple MAPI, defect, P1)

x86
Windows NT

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: tiantian, Assigned: bugzilla)

References

Details

(Whiteboard: Have fix)

Attachments

(2 files)

This is to track the implementation for the mail news interface for Simple MAPI. Rajiv has mailed the request to Jean-Francois. Here's a copy of the mail. "Hi David and JF, Thank you very much once again for ur feedback. Based on your answers two enhancements need to be done for supporting the MAPI Logon, Logoff, SendMail and SendDocs APIs. 1. define an API in the nsIMsgComposeService for registering a SendListener which will be called/notified on completion of the send. 2. figure out a way, either add a param to existing API or define another one, to pass the password that is recieved during MAPI Logon at the time of send message. This password would then be used to verify with the SMTP server, if there is a password specified for the sender. If the password is wrong prompt the user for it again and if it is still incorrect return failure. Please let us know if there is anything else that you feel might be added / modified in the mailnews API. Also I will open a separate bug for these changes to mailnews module. Thank you, - Rajiv." Tiantian has discussed with Scott about the delivery schedule and our expectation for the delivery of these interfaces before the end of this week. (8/17)
Blocks: 95113, 95116
Keywords: nsenterprise
Priority: -- → P1
QA Contact: sheelar → hong
patch coming...
Status: NEW → ASSIGNED
Whiteboard: Have fix
mass qa assigning all simple MAPI bugs to olgac
QA Contact: hong → olgac
Attached patch proposed fix, v1Splinter Review
oops, I forget to extend the compose service to let you pass the listener and the password... I'll create a new API that let you Open a Compose Window from a compose Param.
NS_IMETHODIMP nsMsgCompose::GetExternalSendListener(nsIMsgSendListener **_retval) +{ + NS_ENSURE_ARG(_retval); + should be NS_ENSURE_ARG_POINTER. And is there a reason this is [noscript] in the idl?
rigth, should be NS_ENSURE_ARG_POINTER. it's a noscript api because it's used only by the listener internally and all other internal use only api are noscript.
Attached patch proposed fix, V2Splinter Review
If V2, I added nsMsgComposeService::OpenComposeWindowWithParam and used NS_ENSURE_ARG_POINTER instead of NS_ENSURE_ARG.
r=bienvenu
sr=mscott. I'm still fuzzy as to why we need the no script tag on the the interface method though. Just because it currently is only used internally doesn't mean the no script tag should be there. If there's a security reason why we don't want it exposed via xpconnect then you should ue the no script tag. Otherwise, I don't think we need it.
The only reason I use noscript for the new interface is to be consistent with the others api. In this case there is no security issue. Also I don't see any reason to be scriptable but that doesn't mean it should not. I'll break the old pattern an make this API scriptable.
Fixed and checked in.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Lots of tabs in the file, and some in the + lines of the patch -- could you please respect the indent-tabs-mode: nil of the Emacs modeline comment on line 1, in the future? If you use vi, switch to vim and :set expandtabs. If you use MSVC, try Options / Tabs / Expand Spaces (from memory, should be close). If you use CodeWarrior, I hear the latest version has an expand-tabs-to-spaces option, but don't know for sure. /be
it looks to me like it's the old, existing, context lines with tabs, not the lines that were added.
Right, we still have early code which uses TABS. I tried to fix them when I have to go back to those source files but I did not changes it this time. Maybe next time...
You can now specify an external send listener as well a smtp password when you open a compose window through the interface nsIMsgComposeParams: 1) Create a nsIMsgComposeParams, set the various field you need. 2) Open a compose window using nsIMsgComposeService::OpenComposeWindowWithParams Also, in the case you need to do a blind send (without a compose window), you can now pass a smtp password through the interface nsIMsgSend::CreateAndSendMessage PS: I have not tested those new interfaces, I am just crossing my fingers.
The usage of nsIMsgCompose::createAndSendMessage doesnot seem to work in case of send without a UI. Seems like an smtp connection is not made, although the smtp servers etc is specified correctly. am in touch with mscott but looks like it could be (not very sure though) because the notification callbacks specified by nsMsgSend::DeliverMsg is null since no mailnews window exist. This problem needs to be looked into.
QA over to trix, please verify.
QA Contact: olgac → trix
reopening bug, since no fix has been checked in yet. not clear why this was marked resolved fixed in the first place.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
trix this was marked fixed because we checked in the fix for this bug. =) You are looking for eclient's simpla mapi bug which uses the apis we exposed in this bug. You really can't verify this bug except by either code inspection or by waiting for eclient to land simple mapi and then verifying that simple mapi works. This bug was to add some apis for the mapi team to use and we did that. reclosing.
Status: REOPENED → RESOLVED
Closed: 24 years ago23 years ago
Resolution: --- → FIXED
Keywords: nsbranch+
marking verified with 2001-10-22-18-0.9.4
Status: RESOLVED → VERIFIED
changing component from Composition to Simple MAPI
Component: Composition → Simple MAPI
Product: MailNews → Core
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: