Announcement

Collapse
No announcement yet.

Email to draft folder same machine

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • BOB MECHLER
    replied
    We call'em network nazis when the IT guy at the customer site convinces the owner or manager that legitimate access for a specific purpose that can be controlled is still a no-no.

    I tracked down the nag message to occuring when a user is just a Domain user. Domain Admins can use this code without the nag message.

    Three solutions I've come up with to use MAPI and no ADD-INS.

    1. A normal domain user can run the program with the destination as Save which will put all the emails in the draft folder without a nag message. From there the logged in Domain user can select all the emails in the draft folder or a good chunk of them, right click and then open items. From there all the emails chosen will display. Then it's a matter of doing Alt-S for however many there are.

    2. A normal domain user can have a Domain Admin Remote Desktop Login that is set to run exactly the program in question and send the emails then logout when it's done. There are no nag messages if a Domain Admin is running the program

    3. A Domain Admin logs in and runs the program in question.

    The customers want the email statement pdfs to be held and later archived by Outlook.

    Bob Mechler

    Leave a comment:


  • Knuth Konrad
    replied
    OK, just to get this straight: Due to security concerns, your customer won't allow you to send directly from your application. Fair enough ...

    But than he rather would like your appliaction to have complete access to his Outlook, which not only would let you send anything that you could have sent via SMTP, but now you also gain access to all stored messages, contacts and what not?

    You might try to explain this paradoxon to your customer and see what he has to say about this. Remind him that as soon as one of his employees logs into Outlook and hands control over to you by using your add-on, you/your application could potentially do much more harm.

    Leave a comment:


  • BOB MECHLER
    replied
    I've seen some Outlook add-ins advertised that give an object to disable the message for less that Domain Admins.

    MSDN says that Outlook security patch took away the ability to program MAPI to instantiate a new instance of Outlook and send emails using COM unless the Windows Authentication was high enough not to trigger the warning. As a work-around they suggeste using Simple MAPi instead which is why I'm seeking info about it.

    I've downloaded some information about CDO also and see where that leads.

    Can't use SMTP because I need the email pdf's to optionally go to the draft folder first and when sent to end up in the sent folder for archiving.

    Bob Mechler

    Leave a comment:


  • Michael Mattias
    replied
    I know with the Outlook Express' MAPI interface, the 'someone is trying to send mail as me' warning is controlled by a user security options setting.

    I have no clue if Outlook [no 'Express'] has a similar user option setting but I don't think I'd be shocked if it did and was used by the COM interface as well as the MAPI interface.

    MCM

    Leave a comment:


  • BOB MECHLER
    replied
    Nagging Message using COM send

    With my NT Authentication I don't get any nagging messages. When another user runs the same email program, they get a message saying that someone is trying to send email.

    What ways can be used to get around this. Simple MAPI? We use exchange server and I don't thing it's installed at the moment.

    Bob Mechler

    Leave a comment:


  • BOB MECHLER
    replied
    Found the error. The following works if you have Outlook.

    Code:
    #COMPILE EXE "pbemail.exe"
    #INCLUDE"WIN32API.INC"
    #INCLUDE"oOUTLOOK.INC"
    FUNCTION PBMAIN
      DIM o_mlApplication AS OutlookApplication
      DIM o_mlNameSpace AS OutLookNameSpace
      DIM o_mlMailitem AS OutLookMailItem
      DIM vSpace AS VARIANT
      DIM vMapi AS VARIANT
      DIM vMail AS VARIANT
      DIM vItemType AS VARIANT
      DIM vSubject AS VARIANT
      DIM vBody AS VARIANT
      DIM vTo AS VARIANT
      DIM vVnt AS VARIANT
      'Dim o_ml_MailItem As Dispatch
      
      vMapi = "mapi"
      
      SET o_mlApplication = NEW OutLookApplication IN $PROGID_OutLookApplication9
      OBJECT CALL o_mlApplication.GetNameSpace(vMapi) TO vSpace
      
      SET o_mlNameSpace = vSpace
      OBJECT CALL o_mlNameSpace.Logon
    
      OBJECT CALL o_mlApplication.CreateItem(vItemType) TO vMail
      SET o_mlMailItem = vMail
    
      vSubject = "Pb Email using Outlook"
      OBJECT LET o_mlMailItem.Subject = vSubject
    
      vBody = "This is a test"+$CRLF+"This is the second line"+$CRLF
      OBJECT LET o_mlMailItem.Body = vBody
    
      vTo = "[email protected]"
      OBJECT LET o_mlMailItem.To = vTo
      
      vVnt = "c:\pdfs\COMC.PDF"
      OBJECT CALL o_mlMailItem.Attachments.Add(vVnt)
      
      OBJECT CALL o_mlMailItem.Save
      
       SET o_mlMailItem = NOTHING
       SET o_mlNameSpace = NOTHING
       SET o_mlApplication = NOTHING
      'OBJECT CALL
      
      OBJECT CALL o_mlNameSpace.Logoff
    
    END FUNCTION
    Last edited by BOB MECHLER; 18 Sep 2008, 09:34 PM.

    Leave a comment:


  • BOB MECHLER
    replied
    Looks like I'm posting to myself here but anyway, the following sends emails to the current users draft folder but the attachment statement doesn't work. What am I doing wrong?

    Code:
    #COMPILE EXE "pbemail.exe"
    #INCLUDE"WIN32API.INC"
    #INCLUDE"oOUTLOOK.INC"
    FUNCTION PBMAIN
      DIM o_mlApplication AS OutlookApplication
      DIM o_mlNameSpace AS OutLookNameSpace
      DIM o_mlMailitem AS OutLookMailItem
      DIM vSpace AS VARIANT
      DIM vMapi AS VARIANT
      DIM vMail AS VARIANT
      DIM vItemType AS VARIANT
      DIM vSubject AS VARIANT
      DIM vBody AS VARIANT
      DIM vTo AS VARIANT
      DIM vVnt AS VARIANT
      'DIM o_ml_MailItem AS DISPATCH
      
      vMapi = "mapi"
      
      SET o_mlApplication = NEW OutLookApplication IN $PROGID_OutLookApplication9
      OBJECT CALL o_mlApplication.GetNameSpace(vMapi) TO vSpace
      
      SET o_mlNameSpace = vSpace
      OBJECT CALL o_mlNameSpace.Logon
    
      OBJECT CALL o_mlApplication.CreateItem(vItemType) TO vMail
      SET o_ml_MailItem = vMail
    
      vSubject = "Pb Email using Outlook"
      OBJECT LET o_ml_MailItem.Subject = vSubject
    
      vBody = "This is a test"+$CRLF+"This is the second line"+$CRLF
      OBJECT LET o_ml_MailItem.Body = vBody
    
      vTo = "[email protected]"
      OBJECT LET o_ml_MailItem.To = vTo
      
      vVnt = "c:\pdfs\COMC.PDF"
      OBJECT CALL o_ml_MailItem.Attachements.Add(vVnt)
      
      OBJECT CALL o_ml_MailItem.Save
      
       SET o_ml_MailItem = NOTHING
       SET o_mlNameSpace = NOTHING
       SET o_mlApplication = NOTHING
      'OBJECT CALL
      
      OBJECT CALL o_mlNameSpace.Logoff
    
    END FUNCTION
    
    Bob Mechler
    Last edited by BOB MECHLER; 18 Sep 2008, 09:33 PM.

    Leave a comment:


  • BOB MECHLER
    replied
    The following VB6 classmodule code does what I want. How would this look in pb7.04 and COM?

    Code:
    Private m_olApplication As Outlook.Application
    Private m_olNameSpace As Outlook.NameSpace
    Private m_olMailItem As Outlook.MailItem
    Public Sub MailReport(ByVal rptname As String, _
                          ByVal draft As Boolean, _
                          ByVal workpath As String)
                                   
        'create Outlook application
        Set m_olApplication = New Outlook.Application
          
        'get nameSpace and logon
    
        Set m_olNameSpace = m_olApplication.GetNamespace("mapi")
        m_olNameSpace.Logon "Outlook", "", False, True
           
        Set m_olMailItem = m_olApplication.CreateItem(olMailItem)
        
        m_olMailItem.To = "[email protected]"
        m_olMailItem.Subject = "Sample email"
        m_olMailItem.Body = "Now is the time for all good menu "
        m_olMailItem.Attachments.Add workpath & "\" & rptname
        If draft Then
           m_olMailItem.Save
        Else
           m_olMailItem.Send
        End If
                
       Set m_olMailItem = Nothing
       Set m_olNameSpace = Nothing
       Set m_olApplication = Nothing
       
       'Kill workpath & "\" & rptname
    End Sub
    I used this code on a button on a plain form to crank it up
    Code:
    Private Sub Command1_Click()
      Dim rptname As String, parts() As String
      Dim draft As Boolean, workpath As String
    
      parts = Split(Command$, " ") 'starting at 0
      rptname = "comc.pdf"          'parts(0) this will be used after testing
      draft = 1                           'parts(1)
      workpath = "c:\pdfs\"          'parts(2)
    
      Dim rpt As ClassEmailPdf
      Set rpt = New ClassEmailPdf
      Call rpt.MailReport(rptname, draft, workpath)
    
    End Sub
    Is it easier to do in PB 9?

    Bob Mechler

    Leave a comment:


  • BOB MECHLER
    started a topic Email to draft folder same machine

    Email to draft folder same machine

    A customer wants to created pdf statements (done). Now they want those pdf statements attached to a generic email and placed in the draft folder in her Microsoft Outlook. She then wants to call them up one by one, review and send them on. Later she would like all the items in the draft folder to be sent automatically by using a program.

    I've been looking for hours in the forum and a lot of the code doesn't work and nothing specifically about sending to the draft folder or any kind of mass sending from the draft folder to the outbox.

    Seems this customer will not allow the use of a username and password to authenticate otherwise I'd used SMTP (a method I've already got working thanks to sample code here).

    I've seen this done in VB but wonder if PB 9 might be the way to do this using MAPI save? instead of MAPI send.

    Help!
    Thanks,

    Bob Mechler
Working...
X