PC Review


Reply
Thread Tools Rate Thread

Reading SMTP address from Exchange Sender mail address

 
 
VebKol
Guest
Posts: n/a
 
      1st Feb 2009
Hi

I'm facing problems getting SMTP address from Exchange sender mail address.
- Using Redemption :-)

I have used this line to loop recipients
PrSMTPAddress = &H39FE001E
SMTPAddress =
utils.HrGetOneProp(MailItem.Recipients(t).AddressEntry.MAPIOBJECT,
PrSMTPAddress)

And everything is working fine.

But when I try to do the following :

PrSMTPAddress = &HC1F001E
SMTPAddress = utils.HrGetOneProp(MailItem.MAPIOBJECT, PrSMTPAddress)

for the Exchange sender, I only get address like this :
/O=server/OU=FIRST ADMINISTRATIVE GROUP/CN=RECIPIENTS/CN=name

for external senders the mail address is ok :-)


Do any one have a clue ?

--
Regards
OD
 
Reply With Quote
 
 
 
 
Ken Slovak - [MVP - Outlook]
Guest
Posts: n/a
 
      1st Feb 2009
PR_SENDER_EMAIL_ADDRESS (&HC1F001E) is isn't guaranteed to be an SMTP
address. If the sender is an internal sender you will get the Exchange DN,
as you've seen.

You can check to see if the address type is SMTP by checking
PR_SENDER_ADDRTYPE (0x0C1E001E), a PT_STRING8 value. In that case you need
to use PR_SMTP_ADDRESS (&H39FE001E).

PR_SMTP_ADDRESS is not available in cached mode. You would use
PR_EMS_AB_PROXY_ADDRESSES (&H800F101E) in cached mode, which is a
PT_MV_STRING8 (string array) property.

--
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


"VebKol" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hi
>
> I'm facing problems getting SMTP address from Exchange sender mail
> address.
> - Using Redemption :-)
>
> I have used this line to loop recipients
> PrSMTPAddress = &H39FE001E
> SMTPAddress =
> utils.HrGetOneProp(MailItem.Recipients(t).AddressEntry.MAPIOBJECT,
> PrSMTPAddress)
>
> And everything is working fine.
>
> But when I try to do the following :
>
> PrSMTPAddress = &HC1F001E
> SMTPAddress = utils.HrGetOneProp(MailItem.MAPIOBJECT, PrSMTPAddress)
>
> for the Exchange sender, I only get address like this :
> /O=server/OU=FIRST ADMINISTRATIVE GROUP/CN=RECIPIENTS/CN=name
>
> for external senders the mail address is ok :-)
>
>
> Do any one have a clue ?
>
> --
> Regards
> OD


 
Reply With Quote
 
 
 
 
VebKol
Guest
Posts: n/a
 
      1st Feb 2009
Again Mr. Slovak : You are the KING !!!!!

Thanks : "all" my problems are now sloved !

:-) :-) :-)

--
Regards
OD


"Ken Slovak - [MVP - Outlook]" wrote:

> PR_SENDER_EMAIL_ADDRESS (&HC1F001E) is isn't guaranteed to be an SMTP
> address. If the sender is an internal sender you will get the Exchange DN,
> as you've seen.
>
> You can check to see if the address type is SMTP by checking
> PR_SENDER_ADDRTYPE (0x0C1E001E), a PT_STRING8 value. In that case you need
> to use PR_SMTP_ADDRESS (&H39FE001E).
>
> PR_SMTP_ADDRESS is not available in cached mode. You would use
> PR_EMS_AB_PROXY_ADDRESSES (&H800F101E) in cached mode, which is a
> PT_MV_STRING8 (string array) property.
>
> --
> 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
>
>
> "VebKol" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed)...
> > Hi
> >
> > I'm facing problems getting SMTP address from Exchange sender mail
> > address.
> > - Using Redemption :-)
> >
> > I have used this line to loop recipients
> > PrSMTPAddress = &H39FE001E
> > SMTPAddress =
> > utils.HrGetOneProp(MailItem.Recipients(t).AddressEntry.MAPIOBJECT,
> > PrSMTPAddress)
> >
> > And everything is working fine.
> >
> > But when I try to do the following :
> >
> > PrSMTPAddress = &HC1F001E
> > SMTPAddress = utils.HrGetOneProp(MailItem.MAPIOBJECT, PrSMTPAddress)
> >
> > for the Exchange sender, I only get address like this :
> > /O=server/OU=FIRST ADMINISTRATIVE GROUP/CN=RECIPIENTS/CN=name
> >
> > for external senders the mail address is ok :-)
> >
> >
> > Do any one have a clue ?
> >
> > --
> > Regards
> > OD

>
>

 
Reply With Quote
 
Dmitry Streblechenko
Guest
Posts: n/a
 
      2nd Feb 2009
If you are already using Redemption, you do not need to jump through all
these hoops, Redemption will do that for you: simply read the
Sender.SmtpAddress property.

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"VebKol" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hi
>
> I'm facing problems getting SMTP address from Exchange sender mail
> address.
> - Using Redemption :-)
>
> I have used this line to loop recipients
> PrSMTPAddress = &H39FE001E
> SMTPAddress =
> utils.HrGetOneProp(MailItem.Recipients(t).AddressEntry.MAPIOBJECT,
> PrSMTPAddress)
>
> And everything is working fine.
>
> But when I try to do the following :
>
> PrSMTPAddress = &HC1F001E
> SMTPAddress = utils.HrGetOneProp(MailItem.MAPIOBJECT, PrSMTPAddress)
>
> for the Exchange sender, I only get address like this :
> /O=server/OU=FIRST ADMINISTRATIVE GROUP/CN=RECIPIENTS/CN=name
>
> for external senders the mail address is ok :-)
>
>
> Do any one have a clue ?
>
> --
> Regards
> OD



 
Reply With Quote
 
juacasco
Guest
Posts: n/a
 
      6th Mar 2009
i-ve used tthe following code in outlook 2007 and i worked great!

MsgBox fnGetSMTPAddress("/O=CNPJCO/OU=CLAC/CN=RECIPIENTS/CN=1057003")

Public Function fnGetSMTPAddress(ExchangeMailAddress As String) As String
Dim objOutlook As Outlook.Application
Dim objMailItem As Outlook.MailItem

Set objOutlook = New Outlook.Application
Set objMailItem = objOutlook.CreateItem(0)
objMailItem.To = ExchangeMailAddress
objMailItem.Recipients.ResolveAll
On Error Resume Next
If objMailItem.Recipients.Item(1).Resolved Then
fnGetSMTPAddress =
objMailItem.Recipients.Item(1).AddressEntry.GetExchangeUser.PrimarySmtpAddress
If Err.Number <> 0 Then fnGetSMTPAddress = ExchangeMailAddress
Else
fnGetSMTPAddress = ExchangeMailAddress
End If
Set objMailItem = Nothing
Set objOutlook = Nothing

End Function

I hope it is useful 4 u...


"VebKol" wrote:

> Hi
>
> I'm facing problems getting SMTP address from Exchange sender mail address.
> - Using Redemption :-)
>
> I have used this line to loop recipients
> PrSMTPAddress = &H39FE001E
> SMTPAddress =
> utils.HrGetOneProp(MailItem.Recipients(t).AddressEntry.MAPIOBJECT,
> PrSMTPAddress)
>
> And everything is working fine.
>
> But when I try to do the following :
>
> PrSMTPAddress = &HC1F001E
> SMTPAddress = utils.HrGetOneProp(MailItem.MAPIOBJECT, PrSMTPAddress)
>
> for the Exchange sender, I only get address like this :
> /O=server/OU=FIRST ADMINISTRATIVE GROUP/CN=RECIPIENTS/CN=name
>
> for external senders the mail address is ok :-)
>
>
> Do any one have a clue ?
>
> --
> Regards
> OD

 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Does message in Junk E-mail folder place sender on junk sender lis vuduchil Microsoft Outlook Discussion 1 2nd Jan 2008 03:31 PM
Junk mail: How to create a button for "Add sender to blocked sender list" Nananana Microsoft Outlook 2 2nd Feb 2006 01:37 PM
Sender address is showing authenticated-sender@earthlink.net;on be =?Utf-8?B?RFJvc2VudGhhbA==?= Microsoft Outlook Discussion 1 31st Mar 2005 10:21 PM
option to delete mail if sender is in blocked sender list =?Utf-8?B?c3Bsb2RnZXVr?= Microsoft Outlook Installation 0 24th Mar 2005 04:13 PM
Send email w/o sender's info i.e. sender's email address Alex Microsoft Outlook Discussion 1 14th Jul 2003 01:07 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 08:49 AM.