![]() |
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
![]()
Hello,
I would like to save a copy of an email when it is sent if I can find the SMTP address in a jet database. I have been successful (with the help of this community) in getting the SMTP address of incoming messages using Redemption and now I would like to get the addresses of outgoing messages. However, in the code below, the email address is empty. Can anyone advise? Private Sub Application_ItemSend(ByVal item As Object, Cancel As Boolean) Dim retval retval = FileSendingEmail(item) End Sub Function FileSendingEmail(MyMail As Object) '------Dimension variables---------------- Dim ws As Workspace Dim db As Database Dim rst As Recordset Dim rstlog As Recordset Dim strID As String Dim olNS As Outlook.NameSpace Dim olMail As Outlook.MailItem Dim utils, PR_SMTP_ADDRESS, SenderEMail Dim SafeMail Dim ID As Long Dim StrPath As String '-----Open databases----------------------- DBEngine.SystemDB = "z:\secured.mdw" Set ws = DBEngine.CreateWorkspace("New", "xxx", "xxx") Set db = ws.OpenDatabase("Z:\data.mdb") Set rst = db.OpenRecordset("Suppliers", dbOpenDynaset) Set rstlog = db.OpenRecordset("Supplierlog", dbOpenDynaset) '------------------------------------------------- StrPath = "J:\Documents\" strID = MyMail.EntryID Set olNS = Application.GetNamespace("MAPI") Set olMail = MyMail 'On Error GoTo 0 Set SafeMail = CreateObject("Redemption.SafemailItem") SafeMail.item = olMail Set utils = CreateObject("Redemption.MAPIUtils") PR_SMTP_ADDRESS = &H39FE001E SenderEMail = utils.HrGetOneProp(olMail.MAPIOBJECT, PR_SMTP_ADDRESS) rst.FindFirst "Email = '" & SenderEMail & "'" If Not rst.NoMatch Then 'do stuff End if end function Any ideas? |
#2
|
|||
|
|||
![]()
I forgot to mention that I am using Outlook 2002 SP3.
Thanks! "dkgb" wrote: Hello, I would like to save a copy of an email when it is sent if I can find the SMTP address in a jet database. I have been successful (with the help of this community) in getting the SMTP address of incoming messages using Redemption and now I would like to get the addresses of outgoing messages. However, in the code below, the email address is empty. Can anyone advise? Private Sub Application_ItemSend(ByVal item As Object, Cancel As Boolean) Dim retval retval = FileSendingEmail(item) End Sub Function FileSendingEmail(MyMail As Object) '------Dimension variables---------------- Dim ws As Workspace Dim db As Database Dim rst As Recordset Dim rstlog As Recordset Dim strID As String Dim olNS As Outlook.NameSpace Dim olMail As Outlook.MailItem Dim utils, PR_SMTP_ADDRESS, SenderEMail Dim SafeMail Dim ID As Long Dim StrPath As String '-----Open databases----------------------- DBEngine.SystemDB = "z:\secured.mdw" Set ws = DBEngine.CreateWorkspace("New", "xxx", "xxx") Set db = ws.OpenDatabase("Z:\data.mdb") Set rst = db.OpenRecordset("Suppliers", dbOpenDynaset) Set rstlog = db.OpenRecordset("Supplierlog", dbOpenDynaset) '------------------------------------------------- StrPath = "J:\Documents\" strID = MyMail.EntryID Set olNS = Application.GetNamespace("MAPI") Set olMail = MyMail 'On Error GoTo 0 Set SafeMail = CreateObject("Redemption.SafemailItem") SafeMail.item = olMail Set utils = CreateObject("Redemption.MAPIUtils") PR_SMTP_ADDRESS = &H39FE001E SenderEMail = utils.HrGetOneProp(olMail.MAPIOBJECT, PR_SMTP_ADDRESS) rst.FindFirst "Email = '" & SenderEMail & "'" If Not rst.NoMatch Then 'do stuff End if end function Any ideas? |
#3
|
|||
|
|||
![]()
The sending properties aren't added to an item until after it's sent, then
they are added by the transport. If you want addresses earlier than that use the Recipients collection of the item and iterate each Recipient object and get the email addresses that way. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007 Reminder Manager, Extended Reminders, Attachment Options http://www.slovaktech.com/products.htm "dkgb" wrote in message ... Hello, I would like to save a copy of an email when it is sent if I can find the SMTP address in a jet database. I have been successful (with the help of this community) in getting the SMTP address of incoming messages using Redemption and now I would like to get the addresses of outgoing messages. However, in the code below, the email address is empty. Can anyone advise? Private Sub Application_ItemSend(ByVal item As Object, Cancel As Boolean) Dim retval retval = FileSendingEmail(item) End Sub Function FileSendingEmail(MyMail As Object) '------Dimension variables---------------- Dim ws As Workspace Dim db As Database Dim rst As Recordset Dim rstlog As Recordset Dim strID As String Dim olNS As Outlook.NameSpace Dim olMail As Outlook.MailItem Dim utils, PR_SMTP_ADDRESS, SenderEMail Dim SafeMail Dim ID As Long Dim StrPath As String '-----Open databases----------------------- DBEngine.SystemDB = "z:\secured.mdw" Set ws = DBEngine.CreateWorkspace("New", "xxx", "xxx") Set db = ws.OpenDatabase("Z:\data.mdb") Set rst = db.OpenRecordset("Suppliers", dbOpenDynaset) Set rstlog = db.OpenRecordset("Supplierlog", dbOpenDynaset) '------------------------------------------------- StrPath = "J:\Documents\" strID = MyMail.EntryID Set olNS = Application.GetNamespace("MAPI") Set olMail = MyMail 'On Error GoTo 0 Set SafeMail = CreateObject("Redemption.SafemailItem") SafeMail.item = olMail Set utils = CreateObject("Redemption.MAPIUtils") PR_SMTP_ADDRESS = &H39FE001E SenderEMail = utils.HrGetOneProp(olMail.MAPIOBJECT, PR_SMTP_ADDRESS) rst.FindFirst "Email = '" & SenderEMail & "'" If Not rst.NoMatch Then 'do stuff End if end function Any ideas? |
#4
|
|||
|
|||
![]()
Thanks Ken,
I've tried that but it does not necessarily give me the SMTP address. I need the SMPT address to look someting up in an Access database. Any other suggestions? I think there must be a way using Redemption. "Ken Slovak - [MVP - Outlook]" wrote: The sending properties aren't added to an item until after it's sent, then they are added by the transport. If you want addresses earlier than that use the Recipients collection of the item and iterate each Recipient object and get the email addresses that way. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007 Reminder Manager, Extended Reminders, Attachment Options http://www.slovaktech.com/products.htm "dkgb" wrote in message ... Hello, I would like to save a copy of an email when it is sent if I can find the SMTP address in a jet database. I have been successful (with the help of this community) in getting the SMTP address of incoming messages using Redemption and now I would like to get the addresses of outgoing messages. However, in the code below, the email address is empty. Can anyone advise? Private Sub Application_ItemSend(ByVal item As Object, Cancel As Boolean) Dim retval retval = FileSendingEmail(item) End Sub Function FileSendingEmail(MyMail As Object) '------Dimension variables---------------- Dim ws As Workspace Dim db As Database Dim rst As Recordset Dim rstlog As Recordset Dim strID As String Dim olNS As Outlook.NameSpace Dim olMail As Outlook.MailItem Dim utils, PR_SMTP_ADDRESS, SenderEMail Dim SafeMail Dim ID As Long Dim StrPath As String '-----Open databases----------------------- DBEngine.SystemDB = "z:\secured.mdw" Set ws = DBEngine.CreateWorkspace("New", "xxx", "xxx") Set db = ws.OpenDatabase("Z:\data.mdb") Set rst = db.OpenRecordset("Suppliers", dbOpenDynaset) Set rstlog = db.OpenRecordset("Supplierlog", dbOpenDynaset) '------------------------------------------------- StrPath = "J:\Documents\" strID = MyMail.EntryID Set olNS = Application.GetNamespace("MAPI") Set olMail = MyMail 'On Error GoTo 0 Set SafeMail = CreateObject("Redemption.SafemailItem") SafeMail.item = olMail Set utils = CreateObject("Redemption.MAPIUtils") PR_SMTP_ADDRESS = &H39FE001E SenderEMail = utils.HrGetOneProp(olMail.MAPIOBJECT, PR_SMTP_ADDRESS) rst.FindFirst "Email = '" & SenderEMail & "'" If Not rst.NoMatch Then 'do stuff End if end function Any ideas? |
#5
|
|||
|
|||
![]()
If you're using Redemption then RDOAddressEntry has an SMTPAddress property.
So does Redemption.AddressEntry. Use either RDORecipient.AddressEntry or Recipient.AddressEntry to get the AddressEntry objects. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007 Reminder Manager, Extended Reminders, Attachment Options http://www.slovaktech.com/products.htm "dkgb" wrote in message ... Thanks Ken, I've tried that but it does not necessarily give me the SMTP address. I need the SMPT address to look someting up in an Access database. Any other suggestions? I think there must be a way using Redemption. |
#6
|
|||
|
|||
![]()
I'm still struggling with this. Here is a code snippet. The comments detail
the the issues I am having with addressentry and SMTPAddress: Function FileSendingEmail(MyMail As Object) Dim strID As String Dim olNS As Outlook.NameSpace Dim olMail As Outlook.MailItem Dim SafeMail Dim SMTPAddress strID = MyMail.EntryID Set olNS = Application.GetNamespace("MAPI") Set SafeMail = CreateObject("Redemption.SafemailItem") SafeMail.item = myMail SMTPAddress = SafeMail.Recipients(1).AddressEntry.SMTPAddress ‘Error “Index must be between 1 and count” SMTPAddress = SafeMail.item.Recipients(1).AddressEntry.SMTPAddre ss ‘Generates security warning then error “object does not support this property or method” MsgBox SMTPAddress End function "Ken Slovak - [MVP - Outlook]" wrote: If you're using Redemption then RDOAddressEntry has an SMTPAddress property. So does Redemption.AddressEntry. Use either RDORecipient.AddressEntry or Recipient.AddressEntry to get the AddressEntry objects. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007 Reminder Manager, Extended Reminders, Attachment Options http://www.slovaktech.com/products.htm "dkgb" wrote in message ... Thanks Ken, I've tried that but it does not necessarily give me the SMTP address. I need the SMPT address to look someting up in an Access database. Any other suggestions? I think there must be a way using Redemption. |
#7
|
|||
|
|||
![]()
I don't anywhere in that code where you actually add any recipients to the
message. Add at least one recipient and save the item then get it as a SafeMailItem object. Try that and see if it helps. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007 Reminder Manager, Extended Reminders, Attachment Options http://www.slovaktech.com/products.htm "dkgb" wrote in message ... I'm still struggling with this. Here is a code snippet. The comments detail the the issues I am having with addressentry and SMTPAddress: Function FileSendingEmail(MyMail As Object) Dim strID As String Dim olNS As Outlook.NameSpace Dim olMail As Outlook.MailItem Dim SafeMail Dim SMTPAddress strID = MyMail.EntryID Set olNS = Application.GetNamespace("MAPI") Set SafeMail = CreateObject("Redemption.SafemailItem") SafeMail.item = myMail SMTPAddress = SafeMail.Recipients(1).AddressEntry.SMTPAddress ‘Error “Index must be between 1 and count” SMTPAddress = SafeMail.item.Recipients(1).AddressEntry.SMTPAddre ss ‘Generates security warning then error “object does not support this property or method” MsgBox SMTPAddress End function |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Can't get SMTP address of contact that shares email address of an Exchange user | Jeff | Outlook and VBA | 14 | January 15th 09 01:50 AM |
can't send mail, address mangled to "=SMTP:" | d d | Outlook - General Queries | 1 | November 20th 06 10:47 AM |
ҵSMTPķǷȷ ʻ: 'POP3', : 'SMTP', Э: SMTP, ˿: 25, ȫ(SSL): , ִ: 11001, : 0x800CCC0D | John Smith | Outlook Express | 0 | September 5th 06 02:15 AM |
ҵsmtpķǷȷ ʻ: 'pop3', : 'smtp', Э: SMTP, ˿: 25, ȫ(SSL): , ִ: 11001, : 0x800CCC0D | Outlook Express | 0 | June 17th 06 10:44 AM | |
need to send rtf format using smtp and vb6 or vb.net | aharbour | Outlook and VBA | 1 | February 21st 06 02:56 PM |